Redmineのインストール¶
Redmine 3.x系のインストール
構築環境の準備¶
Redmineの構築に必要となる下記の環境を構築する- Ruby
- Passenger
- redmine本体
Rubyのインストール¶
- 作業用のパッケージを追加
# yum install wget
- 開発ツールをインストール
# yum install gcc gcc-c++
- コンパイル用のパッケージを追加
# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
- 作業用ディレクトリを準備し、Rubyのソースコードを入手・展開する
# mkdir /usr/local/work # cd /usr/local/work/ # wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz # tar xzf ruby-2.5.1.tar.gz
- ソースコードをコンパイルしインストールする
# cd ruby-2.5.1 # ./configure --disable-install-doc # make # make install
- Rubyとrubygemsのバージョンを確認する
# ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] # gem -v 2.7.6
Redmineのインストール¶
- ImageMagickのインストール
# yum install ImageMagick ImageMagick-devel ipa-pgothic-fonts
- MariaDBのインストール
# yum install mariadb mariadb-server mariadb-devel # systemctl enable mariadb # systemctl start mariadb
- bundlerのインストール
gem install bundler --no-rdoc --no-ri # bundle -v Bundler version 1.16.1
- Redmineのダウンロード
# yum install subversion # svn checkout http://svn.redmine.org/redmine/branches/3.4-stable /usr/local/redmine # cd //usr/local/redmine
- データベースのパスワード設定
# mysql -u root MariaDB [(none)]> set password for root@localhost=password('任意のパスワード'); Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
- データベースの作成
- DB認証の確認およびデータベース作成
# mysql -u root -p Enter password: 設定したパスワード MariaDB [(none)]> create database redmine default character set=utf8; MariaDB [(none)]> grant all privileges on redmine.* to "redmine"@"localhost" identified by "設定するパスワード"; MariaDB [(none)]> quit Bye
- データベース接続設定ファイルの編集
# cp -p /usr/local/redmine/config/database.yml.example /usr/local/redmine/config/database.yml # vi /usr/local/redmine/config/database.yml ----------------------------- production: adapter: mysql2 database: redmine host: localhost username: redmine password: "任意のパスワード" encoding: utf8
- 設定ファイルの編集(ファイルの一番下のほう)
# cp -p /usr/local/redmine/config/configuration.yml.example /usr/local/redmine/config/configuration.yml # vi /usr/local/redmine/config/configuration.yml ----------------------------- production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "サーバのFQDN" rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
- gemパッケージのインストール
# cd /usr/local/redmine/ # bundle install --without development test --path vendor/bundle
- セッション鍵の作成
# bundle exec rake generate_secret_token
- データベーステーブルの作成
# RAILS_ENV=production bundle exec rake db:migrate
- manifest.jsがなくて失敗する場合、下記ディレクトリとファイルが無ければ作る
# ls app/assets/config/manifest.js # mkdir -p app/assets/config # touch app/assets/config/manifest.js
- manifest.jsがなくて失敗する場合、下記ディレクトリとファイルが無ければ作る
- データベースの投入
# RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
- WEBrickによる単体起動確認
# bundle exec rails server webrick -e production --bind=0.0.0.0
- railsが6以降の場合、上記コマンドに失敗するので次のような対処が必要
webrickが最初から含まれなくなったので追加する # bundle add webrick webrick起動の書式が変わっているので、上記の代わりにこちらを使用する # bundle exec rails server -u webrick -e production
- railsが6以降の場合、上記コマンドに失敗するので次のような対処が必要
- 上記の状態でエラーがないことを確認し、下記のURLをブラウザで表示する
http://redmineサーバのIPアドレス:3000/
- redmineのホーム画面が表示されればOK
- 「Ctrl+C」でWEBrickを終了する
Passengerのインストール¶
ApacheとPassengerを連携し、80/443番ポートでWebサーバ上で起動するようにする
- httpdのインストール
# yum install httpd httpd-devel mod_ssl # systemctl enable httpd # systemctl start httpd
- systemdがtmp領域を別プロセスが使えないようにしているため、ApacheとPassengerが
連携できるように制限を解除する。# cp -p /usr/lib/systemd/system/httpd.service /etc/systemd/system/ # vi /etc/systemd/system/httpd.service ----------------------------- PrivateTmp=false
- systemdサービスを再起動する
# systemctl daemon-reload
- Passengerのインストール
# gem install passenger --no-rdoc --no-ri
- Ruby 3以降の場合は「--no-rdoc」がエラーになるので下記のコマンドで実行する
# gem install passenger -N
- Ruby 3以降の場合は「--no-rdoc」がエラーになるので下記のコマンドで実行する
- 下記コマンドを実行し、出力されるパスをコピーする(導入バージョンで異なる)
# passenger-install-apache2-module ----------------------------- LoadModule passenger_module /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.2.3 PassengerDefaultRuby /usr/local/bin/ruby </IfModule>
- httpdの設定ファイルを新規作成する。
上記の結果をコピーし、「ここから ~ ここまで」の範囲を上書きする# vi /etc/httpd/conf.d/redmine.conf ----------------------------- RackBaseURI /redmine # Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。 # Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。 <Directory "/usr/local/redmine/public"> Require all granted </Directory> # Passengerの基本設定。 # passenger-install-apache2-module --snippet で表示された設定を記述。 # 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず # passenger-install-apache2-module --snippet で表示されたものを使用すること。 # LoadModule passenger_module /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.2.3 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 864000 PassengerStatThrottleRate 10 Header always unset "X-Powered-By" Header always unset "X-Runtime"
- ドキュメントルートにシンボリックリンクを張り、httpdが読み取れるようにオーナー権限を変更する
# ln -s /usr/local/redmine/public /var/www/html/redmine # chown -R apache.apache /usr/local/redmine
- httpdをリスタートする
# systemctl restart httpd
- Passengerが状態を返すことを確認する
# passenger-status
- 下記のアドレスをブラウザで表示する
http://サーバのIPアドレス/redmine/
- Redmineのホーム画面が表示されることを確認する
- 初期アカウント(ユーザ名「admin」、パスワード「admin」)でログインし、パスワードを初期化する。
- これ以降は通常の操作が可能。
以上¶