タスク管理用にRedmineを構築する。

前回、ざざっと今後やりたいことをメモ程度にまとめてみたんですが、その時点では余裕でできるだろーと思っていたRedmineの構築、意外と手こずってしまいましたw

実はまだ、プラグインの追加がうまくいってなかったりするんですが、とりあえず通常状態で使えそうなところまでは出来たので手順の紹介です。

ちなみに、構築環境は以下の通り。
素人なもんでとりあえず動いてるレベルでしかできなてないですが参考になればと思います。

OS:CentOS7
Redmine:4.0.3
Ruby:2.6.2
Rails:5.2.2.1
MariaDB:5.5.60

0.OS環境構築

ここらへんは、好みとかやり方が人によって違うと思うので自分がやったことを箇条書きで紹介する程度にしておきます。

・SELinux無効化
・cronでの定期アップデート設定

1.メール設定(Postfix)

チケットの追加とか設定変更を行うとメールで通知する機能があるのですが、しっかり設定しておかないとちゃんと通知されないので設定と確認ぐらいはしておきましょう。
ちなみに、紹介する手順だとRedmineサーバから直接メールが送信される形になりますが,一般的にはどの回線でも迷惑メール対策でメールが送れなくなっているので自宅にメールサーバを用意してそこに送付するみたいなうちみたいな特殊なことしていない限りは以下のページを参照してGmail経由とかで送れるようにしたほうが良いと思います。

・Postfixの設定

対象ファイル:/etc/postfix/main.cf

#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = redmine.amnt.f5.si → 追記

#myorigin = $myhostname
#myorigin = $mydomain
myorigin = &myhostname → 追記

postfixを再起動して適用
コマンド:systemctl restart postfix

・テストメールを送付

・telnetをインストール
コマンド:yum install telnet

・telnetでpostfixに接続
コマンド:telnet localhost 25
→コード:220で接続成功

・送信元設定
コマンド:mail from:[送信アドレス]
→コード:250で設定成功

・送信先設定
コマンド:rcpt to:[宛先アドレス]
→コード:250で設定成功

・本文設定
コマンド:data
→コード:354が表示されたら本文入力後Enter、「.」+ Enterで完了
→コード:250で設定成功
→「queued as XXXXX」でメールキューに入ったことが表示されれば送信完了

・セッション終了
コマンド:quit

2.各種ソフトウェアのインストール

基本的にはコピペで実行すればOKです。

・yumでインストールできるものをまとめてインストール

yum -y groupinstall “base” “Development tools”
yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
yum -y install mariadb-server
yum -y install httpd httpd-devel
yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
yum -y install mysql-devel

・rubyをインストール

cd /tmp
wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.gz
tar zxvf ruby-2.6.2.tar.gz
cd ruby-2.6.2
./configure –disable-install-doc
make
make install

・gemのbundlerをインストール

gem install bundler

・Redmineのインストール

cd /tmp
wget http://www.redmine.org/releases/redmine-4.0.3.zip
unzip redmine-4.0.3.zip
mv redmine-4.0.3 /var/lib/redmine

・Unicornインストール

cd /var/lib/redmine
bundle install –without development test –path vendor/bundle

3.各種ソフトの設定

・MariaDBの設定

ファイル:/etc/my.cnf.d/server.cnf

[mysqld]
character-set-server = utf8 → 追記

ファイル:/etc/my.cnf.d/client.cnf

[client-mariadb]
default-character-set = utf8 → 追記

サービスを起動する。

systemctl start mariadb
systemctl enable mariadb

Redmine用のDBを追加する。

コマンド:mysql -u root

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER ‘redmine’@’localhost’;
GRANT ALL PRIVILEGES ON redmine.* TO ‘redmine’@’localhost’;
QUIT;

・Unicornnの設定

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

実行して「Default configuration data loaded.」と表示されればOK

設定が終わったら以下のコマンドを実行

gem install passenger
passenger-install-apache2-module –auto –languages ruby

・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

設定ファイルを一部変更

ファイル:/var/lib/redmine/config/configuration.yml

#==== Sendmail command
#
# email_delivery:
delivery_method: :sendmail → コメントアウト解除(#削除)

・Apacheの設定

以下のコマンドを実行して記載する設定を確認

passenger-install-apache2-module –snippet

以下のファイルを作成

/etc/httpd/conf.d/redmine.conf

<Directory “/var/lib/redmine/public”>
Require all granted
<Directory>

# 以下は先ほどの手順の実行結果を記載
LoadModule passenger_module /usr/local/lib/ruby/gems/2.6.0/gems/passenger-6.0.2/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/2.6.0/gems/passenger-6.0.2 PassengerDefaultRuby /usr/local/bin/ruby

Header always unset “X-Powered-By”
Header always unset “X-Runtime”

DocumentRootをRedmineのディレクトに変更

ファイル: /etc/httpd/conf/httpd.conf

DocumentRoot “/var/lib/redmine/public”

変更を適用

systemctl restart httpd
systemctl enable httpd

・firewallのポートを開放

firewall-cmd –add-service=http –zone=public –permanent
firewall-cmd –reload

4.動作確認

「http://[サーバのIP]」にブラウザでアクセス

この画面が表示されれば,構築完了です。
赤枠部分をクリックすればログイン画面が表示されるので、ID:admin PS:adminでログイン可能です。

この後プロジェクトの作成だとかトラッカーの編集だとか色々設定があるのですがそちらはまた今度紹介します。

ひとまず今日はこの辺で

では