*

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

Raspberry Pi 2(Raspbian) 初期設定

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

記事を読む

no image

RaspbianにRedmine3を導入

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

記事を読む

no image

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

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

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

no image

rsyncでsshの鍵を指定してデータ転送

今回は旧サーバから新サーバへいろいろ移設するために便利なrsyncの設定です。 設定というほどのも

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

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

記事を読む

no image

Firewalldで特定IPからの接続をdrop

このサイトは見ての通りwordpressなのですが、wordpressではloginのurlが推測さ

記事を読む

no image

CentOS7 初期設定

しばらく振りになりますが、ひっそりとWordpressの移設を行っていました。 お仕事が多忙を極め

記事を読む

no image

Pidoraの時刻設定(ntp)

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

記事を読む

no image

RaspberryPi2のFedora22にOpenVPN構築

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

記事を読む

Message

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

PAGE TOP ↑