Redmine2.3.2をCentOS6.4にインストールする。
以下のページを参考にしてRedmineをインストールしたんだが、ところどころ違う箇所があるのでメモっておく。
SELinuxを無効にする
/etc/sysconfig/selinuxを開き編集して再起動
# vi /etc/sysconfig/selinux
SELINUX=enforcing ↓ SELINUX=disabled# reboot now
以下のコマンドでSELinuxが無効(Disabled)になっていることを確認。
# getenforce
iptablesでHTTPを許可
ファイアウォールのデフォ値では外部からHTTPに接続できん。
つ〜わけでiptablesの設定を以下の通りに変更してサービス再起動。
# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
- INPUT ACCEPT [0
- 0]
- FORWARD ACCEPT [0
- 0]
- OUTPUT ACCEPT [0
- 0]
# service iptables restart
EPELリポジトリの登録
Rubyのビルドに必要なlibyamlをyumでインストールできるようにするために、EPEL(エンタープライズ Linux 用の拡張パッケージ)リポジトリを追加する。
まず以下ののURLを開く。
で、2013年7月14日時点でepel-release-6-8.noarchとなっているリンクURLをコピー。
その後は以下のコマンドで、CentOSのyumリポジトリにEPELを追加する。
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
必要なパッケージをインストール
以下のコマンドで既にインストール済みの確認する。
# yum grouplist
すると開発ツールは既にインストール済みなので飛ばす。
で、RubyとPassengerのビルドに必要なヘッダファイルなどを以下のコマンドでインストール。
# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
MySQLとApacheはインストール済みなので飛ばす。
日本語フォントもインストール済みなので飛ばす。
あとはImageMagickのみ。
# yum install ImageMagick ImageMagick-devel
Rubyのインストール
RubyのオフィシャルサイトのダウンロードページからRuby 1.9.3の最新のソースコードをダウンロードする。
# mkdir soft
# cd soft
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
ダウンロードしたRubyのtarballを展開してconfigureを実行後、ビルドとインストール。
これが結構時間かかる。。。
# tar zxvf ruby-1.9.3-p448.tar.gz
# cd ruby-1.9.3-p448
# ./configure --disable-install-doc
# make
# make install
インストール後、rubyコマンドを実行して正しくインストールされたことを確認
# ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
続いてRedmineが使用するGemを一括インストールするためのツール、bundlerをインストール。
# gem install bundler --no-rdoc --no-ri
MySQLの設定
まず以下のようにしてMySQLのデフォルトキャラセットをutf8に設定する。
# vi /etc/my.cnf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 innodb_file_per_table query-cache-size=16M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8
# service mysqld restart
# chkconfig mysqld on
以下のようにしてMySQLの設定が反映されているか確認。
# mysql -uroot
mysql> show variables like 'character_set%';+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+8 rows in set (0.00 sec)
そしてそのままrootユーザーのパスワード変更・匿名ユーザー削除を実施。
mysql> use mysql;
mysql> update user set password=password('********') where user = 'root';
mysql> delete from user where user = '';
mysql> flush privileges;
mysql> exit;
※ ******** の部分は任意のパスワードを設定するんだよ。
続いて、Redmine用データベースとユーザーの作成する。
# mysql -uroot -p
Enter password:
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by '********';
mysql> flush privileges;
mysql> exit;
※ ******** の部分は任意のパスワードを設定するんだよ。
Redmineのインストール
ようやくRedmineをインストール。
なんと本日2013年7月15日、Ver.2.3.2がリリースされとりました。
こいつをゲットして解凍します。
# cd /root/soft/
# wget http://rubyforge.org/frs/download.php/77023/redmine-2.3.2.tar.gz
# tar zxvf redmine-2.3.2.tar.gz
解凍したRedmineを/var/lib/redmineとして配置する。
次にRedmineからデータベースへ接続するための設定を記述したファイルを作成する。
一応サンプルがあるので、そいつをコピーして作成。
# cd /var/lib/redmine/config
# cp database.yml.example database.yml
# vi database.ymlproduction: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: ******** encoding: utf8
※ ******** の部分はさっきRedmine用データベースとユーザー作成で設定したパスワードだよ。
ちなみにviで複数行をコメントアウトしたい場合は、
これでOK。べ、べんり〜
続いてRedmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成する。
# cp configuration.yml.example configuration.yml
# vi configuration.ymlproduction: email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps authentication: :plain user_name: *****.*****@gmail.com password: ******** rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
※正直、ここは後で設定するんで適当です。
bundlerを使用してRedmineで使用するGemをインストール。
# cd /var/lib/redmine
# bundle install --without development test
Redmineの初期設定とデータベースのテーブル作成
Redmineのインストールディレクトリで以下のコマンドを叩いて、セッションデータ改竄防止用鍵の生成とテーブルを作成する。
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate
後はPassengerのインストールやらApacheの設定やらが残ってるんだが、ちと休憩。
長ぇぇぇ。。。やべぇ、疲れた。。。
(休憩中)
Passengerのインストール
Apache上でRedmineなどのRailsアプリケーションの実行に必要なPhusion Passengerをインストールする。
# gem install passenger --no-rdoc --no-ri
インストーラを実行してPassengerのApache用モジュールをインストールする。
# passenger-install-apache2-module
インストールが完了すると以下のように表示されるので、太字部分をコピーしておく。
The Apache 2 module was successfully installed. Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8 PassengerDefaultRuby /usr/local/bin/ruby After you restart Apache, you are ready to deploy any number of Ruby on Rails applications on Apache, without any further Ruby on Rails-specific configuration! Press ENTER to continue.
- -
Apacheの設定
Apacheの設定にPassengerの設定を追加する。
ただし、Passengerの設定はApacheの設定ファイルhttpd.confとは別のファイルにまとめる。
# vi /etc/httpd/conf.d/passenger.conf
# Passengerの基本設定。 # passenger-install-apache2-module --snippet を実行して表示される設定を使用。 # LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8 PassengerDefaultRuby /usr/local/bin/ruby # Passengerが追加するHTTPヘッダを削除するための設定(任意)。 # Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime" # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくはPhusion Passenger users guide(http://www.modrails.com/documentation/Users%20guide%20Apache.html)を参照 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerHighPerformance on PassengerStatThrottleRate 10 PassengerSpawnMethod smart RailsAppSpawnerIdleTime 86400 PassengerMaxPreloaderIdleTime 0
※赤字のところが、参考にしたサイトとは違うのです。
あとはApache自体のServerNameがまだ設定されていないので以下の通り設定。
# vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80 ServerName mngsvr01:80
以下のコマンドでApacheの起動および自動起動の設定を実施
Apache上のPassengerでRedmineを実行するための設定
RedmineをApache実行ユーザー・グループで読み書きできるようにオーナーを変更する。
さて、Redmineの実行のさせ方だが、このサーバーではRedmineだけでなく他にもアプリを動かしたいのでサブディレクトリでRedmineを実行させよう、そうしよう。
つ〜わけで、/var/www/htmlの下にRedmineのpublicへのシンボリックリンクを作成する。
あと/etc/httpd/conf.d/passenger.confに以下を追加。
# vi /etc/httpd/conf.d/passenger.conf
RackBaseURI /redmine
設定後、Apacheを再起動する。
そして!
以下のURLにアクセス!
そしたら、こうだ!
Yes!
よし、次回はRedmineの設定などを。。。