*

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

CentOSで不要カーネルの削除

サーバを利用して時間が経過すると溜まってくるLinuxのkernelの削除方法の備忘録。 忘れるた

記事を読む

no image

Pidoraの時刻設定(ntp)

現在Pidoraを監視サーバ化しようとしているところです。 なかなか苦労しますね。普通のサーバで設

記事を読む

no image

Raspbianでメール送信 ssmtp編

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

記事を読む

no image

DDNS(No-IP)をcronで更新

DDNSを利用してzabbix agentを導入できないかと思い、ひとまずDDNSの設定を行いました

記事を読む

no image

Raspberry Piのpidoraをセットアップ

以前私はRaspberry PiにPidoraを入れたのですが、初期設定をしたつもりになっていてして

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

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

記事を読む

no image

RaspberryPi2のFedora22にOpenVPN構築

コツコツと以前購入してoverclockしたraspberry pi2にOpenVPNを構築していま

記事を読む

no image

RaspbianのZabbix ServerにZabbix Agentをインストール

前回の記事でRaspbianにZabbixサーバをインストールしてみました。 今回はzabbi

記事を読む

no image

RaspbianにRedmine3を導入

普段Zabbixを入れて運用しいてるRaspbianにRedmineも入れてみました。 ややスペッ

記事を読む

no image

Raspbian(jessie)にssh鍵認証で接続

Debianがjessieになって、sshd_configのデフォルトの設定が変わりました。 それ

記事を読む

Message

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

PAGE TOP ↑