*

CentOS6にredmineを導入

公開日: : 投稿者:raru redmine, サーバ

CentOSにredmineを導入しました。
Gitとの連携を目論んでいたのですが、redmineと同じサーバにgit入れないとダメなんですね。
基本的にredmineの公式サイト? にある手順がかなりしっかりしているので、それを流用している部分が多いです。

環境/手順

[環境]
CentOS 6
ruby 2.1.1
redmine 2.4.3

[手順]
・パッケージのインストール
・rbenvとrubyのインストール
・MySQLの設定
・redmineのインストール
・Passengerのインストール
・apacheの設定

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

redmineを導入するにあたり、必要なパッケージをインストールします。
ちなみにPassengerがSELinux的に適切ではないらしいので、一旦SELinuxをoffにします。
今後時間を見つけてSELinux onに出来るように設定したいところです。

// 一旦 SELinuxをoffにする 
# setenforce 0
# getenforce 
Permissive

// EPELリポジトリの登録
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.nT20iu: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
   
// 警告が出ているのでkeyを登録
# yum install wget
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
  
// パッケージのダウンロード
# yum install gcc gcc-c++
# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
# yum install mysql-server mysql-devel
# yum install httpd httpd-devel
# yum install ImageMagick ImageMagick-devel
# yum install ipa-pgothic-fonts

gccとgcc-c++は今後のインストールで必須となるので、このタイミングで入れてしまいます。
特に入れずにエラーと警告が出たときに自分でエラーを読む練習をするのも良いかもしれません。

rbenvとrubyのインストール

rbenvのインストールにはgitが必要なので、gitのインストールも行ないます。
インストールっていうよりは、リポジトリから取って来てpathを通しているだけですね。

# yum install git
# git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
# echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# source ~/.bash_profile
# rbenv -v
rbenv 0.4.0-89-g14bc162
# git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
# rbenv install -l
// 位置から最新を確認
# rbenv install 2.1.1
# rbenv rehash

// apacheから実行出来るように権限を与える
# chmod o+x /root/.rbenv/ 

bundlerのインストール

bundlerもインストールします。
どのプロジェクトでも使うのでglobalでも良かったのですが、普通にinstallしました。

# gem install bundler --no-rdoc --no-ri
# vi ~/.gemrc
# cat ~/.gemrc 
gem: --no-ri --no-rdoc

–no-rdocなどのオプションは、ドキュメントなどのインストールをしないというオプションです。

MySQLの設定

redmineにはMySQLが必要なので、インストールと設定を行ないます。

文字コードの設定

// 文字コード設定
# cp /etc/my.cnf /etc/my.cnf.org
# vi /etc/my.cnf
# diff /etc/my.cnf.org /etc/my.cnf
7a8,9
> character-set-server=utf8
> 
10a13,15
> 
> [mysql]
> default-character-set=utf8
# service mysqld restart
# chkconfig mysqld on

# 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)

mysql> exit
Bye

chkconfigでmysqldをマシン起動時に立ち上がるように設定しました。

rootユーザ設定

rootユーザのパスワード等が設定されていないので、簡単に設定を行ないます。

# mysql -uroot
mysql> use mysql;
mysql> update user set password=password('********') where user = 'root';
mysql> delete from user where user = '';
mysql> flush privileges;
mysql> exit;

********には任意のパスワードを設定してください。
ついでに、匿名ユーザの削除も行なっています。

redmine用設定

redmine用にデータベースとユーザを作成します。

# mysql -uroot -p
mysql> use mysql;
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;

これでDBの設定は完了です。

redmineインストール

wgetでredmineのサイトから最新のredmineを取得してインストールを行ないます。
私が導入した時期は2.4.3が最新みたいでした。

redmine展開

# wget http://www.redmine.org/releases/redmine-2.4.3.tar.gz
# tar zxvf redmine-2.4.3.tar.gz 
# mv redmine-2.4.3 /var/lib/redmine
# cp /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
# cp /var/lib/redmine/config/configuration.yml.example /var/lib/redmine/config/configuration.yml
# vi /var/lib/redmine/config/database.yml
# diff /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
8c8
<   database: redmine
---
>   database: db_redmine
10,11c10,11
<   username: root
<   password: ""
---
>   username: user_redmine
>   password: "********"

database.ymlには先ほど作成したuser_redmineのパスワードを入力します。
これでDBに接続を行なうわけですね。

Gemの設定

redmineに対してrubyとgemを当てます。

# cd /var/lib/redmine/
# rbenv local 2.1.1
# rbenv rehash
# ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [i686-linux]
# bundle install --without development test

// redmine初期設定&DB作成
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

Passengerインストール

Passengerはインストーラーみたいなのを起動してインストールします。
英語で説明や指示が有るので、頑張って読みましょう。
基本的にエンター押してればいいです。

# pwd
/var/lib/redmine
# gem install passenger --no-rdoc --no-ri
# passenger-install-apache2-module
# find / -name 'passenger-install-apache2-module'
# /root/.rbenv/versions/2.1.1/bin/passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v4.0.37.

私は何故かpassenger-install-apache2-moduleへのパスが上手く通らなかったのでfindして直接叩きました。
途中で、ワーニングやエラーが出たらctrl+cで終了して、指示された操作を行ないましょう。

また太文字で表示されるapacheの設定文字列はコピーしておきましょう。

apache設定

これまででアプリのインストールは完了しているので、アプリを稼働させるapacheの設定を行ないます。
方法はいくつかパターンがあるのですが、今回はこのサーバをredmine専用として稼働させるパターンで行なっています。
他のサービスも載せたいというのであれば、VirtualHostとかを設定する方法で行なうと良いと思います。

# vi /etc/httpd/conf.d/passenger.conf
# cat /etc/httpd/conf.d/passenger.conf 
LoadModule passenger_module /root/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/passenger-4.0.37/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /root/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/passenger-4.0.37
  PassengerDefaultRuby /root/.rbenv/versions/2.1.1/bin/ruby
</IfModule>

Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0
# service httpd configtest
httpd: apr_sockaddr_info_get() failed for ml110
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
# service httpd start
# chkconfig httpd on
# chown -R apache:apache /var/lib/redmine
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
# vi /etc/httpd/conf/httpd.conf
# diff /etc/httpd/conf/httpd.conf.org /etc/httpd/conf/httpd.conf
292c292
< DocumentRoot "/var/www/html"
---
> DocumentRoot "/var/lib/redmine/public"
# service httpd restart

さいごにhttp通信を行なう為にiptablesに80番での通信を通すように設定しましょう。

# vi /etc/sysconfig/iptables
// iptables -A INPUT -p tcp --dport 80 -j ACCEPT を追加
# service iptables restart

以上でredmineの導入が完了します。
SELinuxを早くonにしたいですね。
SELinuxがoffだと負けた気がします。

関連記事

no image

CentOS7にwordpressを移行

前の記事で初期設定を行ったサーバにwordpressを移設します。 wordpressの移設は案外

記事を読む

no image

Raspberry Pi2/ラズベリーパイ2にFedoraをインストール

Raspberry pi2にFedoraがインストールできるという情報を入手したので2台目を購入して

記事を読む

no image

RaspberryPI3にCentOS7をインストール (mac利用)

いつの間にやらRaspberryPI 3が発売し、さらにはCentOSまでもがraspberry p

記事を読む

no image

Raspbianでメール送信 ssmtp編

Raspbianで監視などをおこなっているとメールが送信したくなります。 とりあえず何かと管理用に

記事を読む

no image

CentOS7 Postfix+Dovecot+SSL/TLS 設定

今回は禁断のメール設定です。 メールは他に比べて設定がわかりづらいし、連携するミドルウェアが多いし

記事を読む

no image

PidoraにZabbix2.2を入れてみた

※完璧な状態ではありません。 こちらの記事のzabbix設定周りを行うと解決する可能性がありま

記事を読む

no image

yum使いがハマるaptitudeの罠 update

最近までaptitudeの使い方に関して大いなる勘違いをしていました。 yum使いの皆様も私と同様

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

性懲りもせずにRaspberry pi2を購入しました。 初代に比べて相当スペックが向上しており、

記事を読む

no image

Raspbianをwheezyからjessieにアップグレード

2015/04頃にdebianのバージョン8 jessieがリリースされたようです。 それに伴い、

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑