CentOS 7(32bit版)にRedmineをインストール
なぜか、CentOS 7なのに32bit版にRedmineをインストールしたときのメモです。
ChefもAnsibleもあってDockerが盛りあがってるこの時代に、なぜ、あえて手作業でRedmineをインストールしているのかは謎です。
方針
動作を確認した環境
環境 | 情報 |
---|---|
VirtualBox | VirtualBox-5.1.10-112026-Win.exe |
CentOS | CentOS-7-i386-Minimal-1511.iso |
Ruby | ruby-2.3.3.tar.gz |
Redmine | redmine-3.3.1.tar.gz |
Date | 2016/12/10 |
インストール
必要なソフトをインストール
いろいろ、まとめてインストールしておきます。
# yum -y groupinstall "Development Tools" # yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel # yum -y install mariadb-server mariadb-devel # yum -y install httpd httpd-devel # yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
Rubyをインストール
ダウンロード
https://www.ruby-lang.org/ja/downloads/
今回は2.3.3をインストールします。
# curl -O https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz # tar xvf ruby-2.3.3.tar.gz # cd ruby-2.3.3 # ./configure --disable-install-doc # make # make install # cd ..
ついでにbundlerを入れておきます。
# gem install bundler --no-rdoc --no-ri
Redmineをインストール
Redmineのサイトで最新のバージョンを確認。
Download - Redmine
http://www.redmine.org/projects/redmine/wiki/Download
こんな感じでインストールします。簡単ですね。
# curl -O http://www.redmine.org/releases/redmine-3.3.1.tar.gz # tar xvf redmine-3.3.1.tar.gz # mv redmine-3.3.1 /var/lib/redmine
Passengerをインストール
こんな感じでインストール。
# gem install passenger --no-rdoc --no-ri # passenger-install-apache2-module --auto
Apacheの設定で使う情報をメモしておきます。
# passenger-install-apache2-module --snippet
こんな感じになるはず。
LoadModule passenger_module /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.30 PassengerDefaultRuby /usr/local/bin/ruby </IfModule>
初期設定
MariaDBの初期設定
デフォルトのキャラセットとしてutf8を使うように変更します。
# nano /etc/my.cnf
[mysqld]に character-set-server=utf8 を追加、[mysql] セクションに default-character-set=utf8 を追加します。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd character-set-server=utf8 [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d [mysql] default-character-set=utf8
MariaDBを起動。ついでに自動起動の設定もやっておきます。
# systemctl start mariadb # systemctl enable mariadb
MariaDBの初期設定ツールを実行しておきます。rootのパスワードを設定。他は全て『Y』がおすすめかな?
# mysql_secure_installation
Redmineで使用するデータベースを作成
まず、設定内容をまとめたファイルを作成します。
# nano redmine_db.sql
内容はこんな感じ。
create database db_redmine default character set utf8; grant all on db_redmine.* to user_redmine@localhost identified by '{password}'; flush privileges;
{password}の部分はデータベースに接続するときのパスワードが入ります。database.ymlで使用します。
あとは、まとめて実行するだけ。
# mysql -uroot -p < redmine_db.sql
Redmineの初期設定
database.ymlとconfiguration.ymlを作成します。database.ymlはこんな感じ。
# nano /var/lib/redmine/config/database.yml
production: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: "{password}" encoding: utf8
{password}の部分はデータベースに接続するときのパスワードが入ります。すぐ上で使ったのと同じ物です。
configuration.ymlはこんな感じで。
# nano /var/lib/redmine/config/configuration.yml
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "example.com" rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
このままでも動きますがあまりにも手抜きな設定なので、Redmineでメールを使いたい人は真面目に設定しましょう。
データベースの初期化
bundlerを使って必要になるgemをインストールします。
# cd /var/lib/redmine # bundle install --without development test --path vendor/bundle
こんな感じでデータベースを初期化。デフォルトのデータを登録しておきます。
# cd /var/lib/redmine # bundle exec rake generate_secret_token # RAILS_ENV=production bundle exec rake db:migrate # RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
Apacheの設定
サブディレクトリで動かす設定にしてみます。
# chown -R apache:apache /var/lib/redmine # ln -s /var/lib/redmine/public /var/www/html/redmine
Redmineのための設定ファイルを作っておきます。
# nano /etc/httpd/conf.d/redmine.conf
『Passengerの基本設定』の部分は、Passengerのインストールでメモした内容を入れます。
# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。 # Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。 <Directory "/var/lib/redmine/public"> Require all granted </Directory> # Passengerの基本設定。 # passenger-install-apache2-module --snippet で表示された設定を記述。 # 環境によって設定値が異なるため以下の3行はそのまま転記せず、必ず # passenger-install-apache2-module --snippet で表示されたものを使用すること。 LoadModule passenger_module /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.30 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> # Passengerが追加するHTTPヘッダを削除するための設定(任意)。 Header always unset "X-Powered-By" Header always unset "X-Runtime" # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 864000 PassengerHighPerformance on PassengerStatThrottleRate 10 PassengerSpawnMethod smart PassengerFriendlyErrorPages off # サブディレクトリでRedmineを実行 RackBaseURI /redmine
ここまで出来たらApacheを起動。ついでに自動実行の設定もやっておきます。
# systemctl start httpd # systemctl enable httpd
動作を確認
ここまで出来たら、実際にアクセスして動作を確認しましょう。
http://{サーバーのアドレス}/redmine
これでアクセスできれば成功。
- ログイン: admin
- パスワード: admin
でログインできるはず。たぶん。