*

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

CentOS7 初期設定

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

記事を読む

no image

yum使いがハマるaptitudeの罠 update

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

記事を読む

no image

RaspberryPi2のFedora22にOpenVPN構築

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

記事を読む

no image

RedmineからsSMTPでメールを送信

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

記事を読む

no image

Raspberry Piのpidoraをセットアップ

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

記事を読む

no image

個人でのProxyサーバ利用用途

Proxyサーバを建てたいということで、利用用途を考えていました。 まずサイト高速化であったり冗長

記事を読む

no image

apache2.4でBOTからのアクセスを排除

私は何か数字が動くものを見るのが好きでgoogle analyticsのリアルタイム情報をよく見てい

記事を読む

no image

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

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

記事を読む

no image

CentOS7にGitLab 9をインストールして日本語化

最近CentOS7にGitLabを入れて、日本語化してみました。 最近9が出たようで、あまり参考に

記事を読む

Message

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

PAGE TOP ↑