Edited at

VagrantのCentOS6.5にRedmineをインストールする

More than 5 years have passed since last update.


前提環境

ソフトウェア
バージョン

MacOS
10.9.2

Vagrant
1.4.3

VirtualBox
4.3.4


今からインストールするもの

ソフトウェア
バージョン

MySQL
5.1.73

Apache
2.2.15

Passenger
4.0.41

rbenv
0.4.0

Ruby
2.0.0


基本

Redmine 2.5をCentOS 6.5にインストールする手順

上記リンクを実行していきます。

いくつか変えたり、Vagrantだからなのか、ちょっとエラー出たりとかあったので、一応全部たどってみます。

参考記事のままインストールするとMySQLとかもわりと古いものが入りますが、

動かないとなんですので、参考記事に沿った手順でインストールしました。


Mac上での作業


CentOS6.5のBoxを追加する

vagrant box add centOS65Box https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box


追加の確認

$ vagrant box list

centOS65Box (virtualbox)


Vagrant初期化

任意のディレクトリで以下のコマンド

ここでは

~/Documents/VagrantVM/redmineVM

ディレクトリで、

$ vagrant init

します。

VagrantFileができていれば、OK

$ ls -la

total 16
drwxr-xr-x 3 teru1 staff 102 5 1 13:30 ./
drwxr-xr-x 9 teru1 staff 306 5 1 13:17 ../
-rw-r--r-- 1 teru1 staff 4606 5 1 13:30 Vagrantfile


VagrantFile編集

以下のように設定を変更(自分でbox addした時につけた名前です)

#config.vm.box = "base"

config.vm.box = "centOS65Box"

以下のようにコメントをはずします

#config.vm.network :private_network, ip: "192.168.33.10"


config.vm.network :private_network, ip: "192.168.33.10"


VM起動&ログイン

vagrant up

vagrant ssh

$ uname -a

Linux vagrant-centos65.vagrantup.com 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


ログイン後VM環境での作業


selinux設定

参考記事では


エディタで /etc/sysconfig/selinux を開き、 SELINUX の値を disabled に編集してください。


とありますが、もうdisabledになっていたので、そのままとします。


OS言語設定

/etc/sysconfig/i18nファイルを開き、以下のように設定する


/etc/sysconfig/i18n

LANG=”ja_JP.UTF-8”

SUPPORTED=”ja_JP.UTF-8:ja_JP:ja”


Vimインストール

Vim使いたいのでインストールします。

sudo yum install vim

ホームディレクトリに.vimrcを作成し以下の内容を追加

:set encoding=utf-8


iptablesの設定

参考記事では/etc/sysconfig/iptablesの設定と再起動をしています。今回のBoxからインストールした環境では/etc/sysconfig/iptablesも存在せず、iptablesの設定がなされていないようなので、とりあえず、練習なので、このまま何もしません。もちろん運用する場合はそのまま運用など断じてしないでください。きちんと設定する必要があります。


EPELリポジトリの登録

http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html

↑こちらにあるパッケージのリンクURLをコピーして以下のコマンド

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

詳しくは参考記事のEPELリポジトリも参照してください。




レポジトリの登録確認

$ yum repolist

Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, versionlock
Determining fastest mirrors
* base: mirror.fairway.ne.jp
* epel: ftp.jaist.ac.jp
* extras: mirror.fairway.ne.jp
* updates: centos.ustc.edu.cn
repo id repo name status
base CentOS-6 - Base 6367
epel Extra Packages for Enterprise Linux 6 - x86_64 10737
extras CentOS-6 - Extras 14
updates CentOS-6 - Updates 864
repolist: 17982

これでEPELリポジトリからのパッケージインストールも可能となりました。



いろいろインストール


開発ツール(Cコンパイラ等)のインストール

sudo yum groupinstall "Development Tools"


RubyとPassengerのビルドに必要なヘッダファイルなどのインストール

sudo yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel


MySQLとヘッダファイルのインストール

sudo yum -y install mysql-server mysql-devel


Apacheとヘッダファイルのインストール

sudo yum -y install httpd httpd-devel


ImageMagickとヘッダファイル・日本語フォントのインストール

sudo yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

この辺は参考記事ままです。


Rubyインストール

ここなんですが、rbenv使ってインストールしていきます。

参考記事に沿って、ソースからやったんですが、うまく動きませんでした。

大方、私が悪いのでしょうけれども。まぁ、rbenv使って管理したほうが良いですしね。


rbenvとRuby本体

こちらを参考にしてほぼそのままです。

rbenv を使って ruby をインストールする(CentOS編)

2.1は使えないようですので、2.0.0の最新をインストールします。

参考記事との差異としては、

インストールされるrbenvが少し新しいこととインストールするRubyのバージョンも新しいものにするということくらいです。

Rubyのインストールまでは全て同様に。

ruby:2.0.0-p451が最新なのでRubyのインストールから設定までは、以下のようになります。

$ rbenv install -v 2.0.0-p451

$ rbenv rehash
$ rbenv global 2.0.0-p451
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]


bundlerのインストール

gem install bundler --no-rdoc --no-ri


bundlerのパス設定

ここでは.bash_profileに書き込んで、再読み込みします。

$ echo 'export PATH="$HOME/.gem/ruby/2.0.0/bin:$PATH"' >> ~/.bash_profile

$ source ~/.bash_profile
$ bundle -v
Bundler version 1.6.2


MySQLの設定

参考記事そのままですので、省略します。

sudoつけてやらないといけないコマンドはsudoつけて実行してください。


Redmineのインストール

ようやく本体です。


本体インストール

以下から最新の安定版をダウンロード

http://www.redmine.org/projects/redmine/wiki/Download

ここでは、今日現在(2014年5月2日)2.5.1です。

ここではHomeディレクトリ(/home/vagrant)にダウンロード

curl -O http://www.redmine.org/releases/redmine-2.5.1.tar.gz

ダウンロード確認

$ ls

redmine-2.5.1.tar.gz

展開

tar xvf redmine-2.5.1.tar.gz

アプリケーションの配置(/var/lib/redmineへ配置)

sudo mv redmine-2.5.1 /var/lib/redmine


データベースへの接続設定

/var/lib/redmine/configにdatabase.ymlというファイルを作成し、以下のように設定します。


database.yml

production:

adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: ********
encoding: utf8

passwordはMySQL設定で指定したものを書きます


設定ファイルの作成(configuration.yml の設定)

参考記事

基本的にこちらの参照先サイトではmail設定をしてます。

mailサーバたててこの設定することで、Redmineからメールが送れるようです。

ここでは簡易的にgoogleのサービスを使ってやってみます。

↓参考

Redmineを設定する

/var/lib/redmine/configにconfiguration.ymlを作成

以下のように設定


configuration.yml

production:

email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: true
address: "smtp.gmail.com"
port: 587
domain: "smtp.gmail.com"
authentication: :plain
user_name: "************"
password: "************"

rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf



Gemパッケージのインストール

/var/lib/redmine(Redmineインストールディレクトリ)で

bundle install --without development test


Redmineの初期設定とデータベースのテーブル作成

/var/lib/redmine(Redmineインストールディレクトリ)で

bundle exec rake generate_secret_token

RAILS_ENV=production bundle exec rake db:migrate


Passengerのインストール

Passengerこれです。

gem install passenger --no-rdoc --no-ri


PassengerのApache用モジュールのインストール

passenger-install-apache2-module

対話形式になります

Which languages are you interested in?

Use <space> to select.
If the menu doesn't display correctly, press '!'

⬢ Ruby
⬡ Python
⬡ Node.js
‣ ⬡ Meteor

今回はRubyだけ選択して、Enter

Warning: some directories may be inaccessible by the web server!

The web server typically runs under a separate user account for security
reasons. That user must be able to access the Phusion Passenger files.
However, it appears that some directories have too strict permissions. This
may prevent the web server user from accessing Phusion Passenger files.

It is recommended that you relax permissions as follows:

sudo chmod o+x "/home/vagrant"

Press Ctrl-C to return to the shell. (Recommended)
After relaxing permissions, re-run this installer.
-OR-
Press Enter to continue anyway.

ワーニングが出たので、中断して以下のコマンドで権限与える

sudo chmod o+x "/home/vagrant"

もう一度

passenger-install-apache2-module

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)

https://www.phusionpassenger.com

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

OKのようなメッセージが出ているのでOKかと思います。


Apacheの設定

/etc/httpd/conf.d/にpassenger.conf を作成し以下のコマンドの実行結果を記載する。

$ passenger-install-apache2-module --snippet

LoadModule passenger_module /home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/passenger-4.0.41
PassengerDefaultRuby /home/vagrant/.rbenv/versions/2.0.0-p451/bin/ruby
</IfModule>

この内容をpassenger.confに記載します。

このような感じになります。

# ここにpassenger-install-apache2-module --snippetの結果を設定します

LoadModule passenger_module /home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
PassengerRoot /home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/passenger-4.0.41
PassengerDefaultRuby /home/vagrant/.rbenv/versions/2.0.0-p451/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起動&自動起動設定

sudo service httpd start

sudo chkconfig httpd on

起動確認

$ ps aux | grep httpd

root 8046 0.2 0.7 186572 4440 ? Ss 08:49 0:00 /usr/sbin/httpd
apache 8066 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8067 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8068 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8069 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8070 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8071 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8072 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
apache 8073 0.0 0.4 186704 2664 ? S 08:49 0:00 /usr/sbin/httpd
vagrant 8086 0.0 0.1 8360 752 pts/0 S+ 08:50 0:00 grep httpd


Redmine実行設定

/var/lib/redmineの所有者を変更

sudo chown -R apache:apache /var/lib/redmine

参考記事

では、3パターンが紹介されています

ここではパターン2で設定します

sudo ln -s /var/lib/redmine/public /var/www/html/redmine

/etc/httpd/conf.d/passenger.confに以下を追加


passenger.conf

RackBaseURI /redmine


再起動します

sudo service httpd restart


Macに戻って作業

Vagrant再起動

vagrant halt

vagrant up


Redmineにアクセス


URLアクセス

redmine


ログイン

デフォルトでadminユーザがいるので、adminでログインします

右上のログインリンクから


ログイン:admin

パスワード:admin


でログイン


デフォルト設定ロード

とりあえず管理画面で

redmine


メール送信の確認

設定ファイルconfiguration.ymlで設定したgmailのアドレスを設定します。

redmine

メールを送信するユーザのメールアドレス設定(ここではデフォルトのadminユーザ)

redmine

テストメールを送信します

redmine

メールが送信されれば、OKです。


使用方法

おいおいです