とっても便利な、チケットドリブン開発WEB UIのredmineを自分専用にインストール。
今回インストールするのは、redmine 2.5.1になります。
基本的には、ubuntuだとパッケージでのインストールが良いのだが、WEB系のアプリで開発が頻繁なものは、本家からダウンロードしてインストールするほうが、後々いいので今回は手動でインストールする。
以前、Wordpressをubuntu標準パッケージから入れたら、後々不便(バージョンアップとか)だったので、その教訓を活かす。
OS環境
最小インストール。というかlxc環境に入れるので、debootstrapにてインストールされるので、かなり最小構成。
一応パッケージは最新にしておく。
1 |
$ sudo apt-get update && sudo apt-get upgrade |
rubyインストール
こちらもOSのパッケージではなく、rvmを使って、ruby 2.0.0系をインストールします。
1 2 3 |
$ sudo apt-get install curl $ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.0.0 $ source /home/$USER/.rvm/scripts/rvm |
rubyのバージョン確認
1 2 |
$ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux] |
依存パッケージのインストール
1 2 |
$ sudo apt-get install git git-core subversion $ sudo apt-get install imagemagick libmagickwand-dev |
subversionは、redmineの最新版を取得用。gitは自分で使うバージョン管理。
imagemagicは、redmineで使う。
redmineのダウンロード・設定
今回は/optにインストールします。
1 2 3 4 5 6 |
$ cd /opt/ $ sudo mkdir redmine $ sudo chown $USER:$USER redmine $ cd redmine/ $ svn co http://svn.redmine.org/redmine/branches/2.5-stable current $ cd current/ |
パーミッション設定
1 2 |
$ mkdir public/plugin_assets $ sudo chown -R www-data:www-data files log tmp public/plugin_assets |
自分用レポジトリ作成
一応ここで作成しておくが、あとでも良いし別の場所でも可
1 |
$ mkdir -p /opt/redmine/repos/git |
mysqlデータベースの作成
mysqlインストール
1 |
$ sudo apt-get install mysql-server libmysqlclient-dev |
データベース作成
1 2 3 4 5 6 |
$ mysql -uroot -p mysql> CREATE DATABASE redmine CHARACTER SET utf8; mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> EXIT; |
redmine設定(コンフィグコピー、DB設定)
1 2 3 4 5 6 7 8 9 10 11 12 |
$ cp config/configuration.yml.example config/configuration.yml $ cp config/database.yml.example config/database.yml $ cat config/database.yml ~~~~~~snip~~~~~~~ production: adapter: mysql2 database: redmine host: localhost username: redmine password: "my_password" encoding: utf8 ~~~~~~snip~~~~~~~ |
bundlerインストール
1 2 |
$ gem install bundler $ bundle install --without development test |
token作成
1 |
$ bundle exec rake generate_secret_token |
db migrate
1 |
$ RAILS_ENV=production bundle exec rake db:migrate |
default data load
1 |
$ RAILS_ENV=production bundle exec rake redmine:load_default_data |
途中言語環境を聞かれたら、 ja にする。
次からWEBサーバ
WEBサーバ設定(apache)
各種インストール
1 |
$ sudo apt-get install apache2 apache2-dev libcurl4-gnutls-dev apache2 libapache2-svn libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libauthen-simple-ldap-perl openssl |
ssl有効、セキュリティ設定
1 2 3 |
$ sudo a2enmod ssl $ sudo a2ensite default-ssl $ sudo vi /etc/apache2/conf-available/security.conf |
passengerインストール
1 2 3 4 5 6 7 8 9 |
$ gem install passenger $ passenger-install-apache2-module ~~~~~~snip~~~~~~ LoadModule passenger_module /home/foo/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/foo/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45 PassengerDefaultRuby /home/foo/.rvm/gems/ruby-2.0.0-p481/wrappers/ruby </IfModule> #環境によって異なるので、必ず自分の結果をメモする。 |
apacheにpassengerの設定
1 2 3 4 5 6 7 8 9 10 |
$ cat /etc/apache2/conf-available/passenger.conf LoadModule passenger_module /home/foo/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/foo/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45 PassengerDefaultRuby /home/foo/.rvm/gems/ruby-2.0.0-p481/wrappers/ruby </IfModule> PassengerUserSwitching off PassengerDefaultUser www-data |
passenger設定を有効化
1 |
$ sudo a2enconf passenger |
sslサイトにredmineを追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ head -15 /etc/apache2/sites-available/default-ssl.conf <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost #DocumentRoot /var/www/html DocumentRoot /opt/redmine/current/public <Directory /opt/redmine/current/public> Require all granted </Directory> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular |
DocumentRoot変更と/opt/redmine/current/publicへの許可設定
apache再起動
1 |
$ sudo service apache2 restart |
これでhttps://<your_server_ip>にアクセスアクセスすればredmineが使えるはず。
あとは、自分でチケット作って、自分でやってという悲しい作業で、効率が上がる。