社内用の新規プロジェクト用にredmineを構築した時のメモ。
自分みたいなサーバ初心者にはいい勉強になると思います。個人じゃ入れても使う機会ほとんどないけど。
redmineとは
Redmineはオープンソースのプロジェクト管理ソフトウェアです。タスク管理、進捗管理、情報共有が行えます。ソフトウェア開発やwebサイト制作等のITプロジェクトをはじめ、汎用性が高いため幅広い用途に活用できます。
redmine導入先サーバ
某社のVPSです。
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# arch
x86_64
# cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
# cat /proc/meminfo
MemTotal: 1048576 kB
・・・月1000円未満で維持できるレベルのサーバーです。
必要なもの
- redmine本体
- ruby(redmineはrubyのアプリケーションなので)
- rubyの付随パッケージいろいろ(後述します)
- DB(MySQL・MariaDB・PostgreSQLなど)
- apache
- centosのroot環境(以下はすべてroot下で実行しています)
前提条件
- MySQLとapacheが入っていること
インストール方法については以下を参照。インストールしたものをそのまま使います。
https://centossrv.com/apache.shtml
https://centossrv.com/mysql.shtml
※PostgreSQLやMicrosoft SQL Serverなどでもいけるようですが、
MySQL 5.0以上 (推奨)
とのことですので、今回はMySQLが入っているものとします。
手順(新規インストール)
1.redmine本体ファイルのダウンロードと解凍
リリースバージョンは事前に確認しましょう。
http://redmine.jp/redmine_today/
記事執筆時点(2016/07/29)では3.3.0が最新でした。
今回は/usr/local/redmine
に配置します。ディレクトリは適宜読み替えてください。
# wget http://www.redmine.org/releases/redmine-3.3.0.tar.gz
# mv redmine-3.3.0tar.gz /usr/local/redmine/
# cd /usr/local/redmine ls -la
# tar -zxf redmine-3.3.0.tar.gz ls -la
# mv -f redmine-3.3.0 redmine
2.redmine用のDBの作成と設定
ここと次の3.は使用するDBによってコマンドが異なりますので、MySQL以外の場合は以下を参考にしながら設定してください。
http://redmine.jp/guide/RedmineInstall/
"インストール手順"の2.を参照
MySQL バージョン5.0.2以上の場合は以下のように設定します。
# mysql -u root -p
-----
create database <DB名> character set utf8;
create user '<ユーザー名>'@'localhost'identified by'<パスワード>'
grant all privileges on redmine.* to ‘redmine’@’localhost’;
作成できたら、念のためDBに入れるかどうか確認。
mysql -u <入力したユーザー名> -p
Enter password: //入力したパスワード
——–入れたら——–
use <入力したDB名>
3.database.ymlの作成と編集
2.と同様、DBによっては記載内容が異なります。
redmineの設定ファイルに先ほど作ったDBの内容を記述します。
database.yml.exampleというファイルがありますので、そいつを複製して作成します。
# cd /usr/local/redmine/
# cp config/database.yml.example2 config/
# mv config/database.yml.example2 database.yml
# vi config/database.yml
このファイルの中にある、productionに、先ほど作成したredmine用のDBの値を設定します。
以下はMySQLの場合です。
production:
adapter: mysql2
database: <入力したDB>
host: localhost
username: <入力したユーザー名>
password: <入力したパスワード>
4.rubyインストール
rubyのインストールにはいろいろな方法があります。
yumでインストールする
最も簡単にインストールできますし、パッケージ依存とかも面倒を見てくれるのでメンテナンスコストも低いです。
が、centos6系ではDLできるバージョンが1.8.7と古く、これだとredmineの一部機能の動作が危ういので避けたほうが良いかもしれません。(centos7以降なら2.0.0になっているようなのでこちらでもOKです)
sudo yum install ruby
//バージョン確認
ruby -v
ソースコードを直接DLしてビルドする
http://www.ruby-lang.org/ja/downloads/ からソースコードをDLしてビルドする方法です。
最もスタンダードな方法なので分かりやすいですし、バージョンを指定してDLができますが、
管理や削除が面倒です。
一度入れたrubyをずっと変更することがない、ということであればこちらでも問題ないでしょう。
tarのDLが完了したら、以下のコマンドを実行します。
# tar xvf ruby-2.3.0.tar.gz
# cd ruby-2.3.0
# ./configure –disable-install-doc
# make
# make install
# cd ..
//確認
ruby -v
rbenv + ruby-buildを使ってインストールする
複数のバージョンのrubyをインストールしたり、軽量でなおかつ導入後の管理もできるので人気があります。
少々手順が嵩むのと、複数ユーザーが使う場合、その数だけインストールする必要があるのがデメリットです。
gitを入れる
rbenvはgithubで配布されているソフトウェアなので、gitで取り込んであげるのが手っ取り早いです。ここ以外でgitを使う局面がないので、バージョンに拘る必要もありません。yumでインストールします。
# yum install git
//バージョン確認
# git --version
rbenvをダウンロードする
rbenvのソースファイルをgithubからダウンロードします。
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
pathを通したり
rbenvをコマンドラインから使えるようにPATHに追加します。
その後、rbenv init
を、コンソールを起動した時に自動実行するようにします。これにより、shimsとautocompletionを有効化し、rubyのバージョンアップを行ったり、gemなどでパッケージをインストールした際、自動で環境変数周りを書き換えてくれたりするようです。
# echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
ruby-buildをダウンロードする
ruby-buildを同じくgithubからインストールします。こちらにはインストール後の設定はありません。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
インストール!
//どのバージョンをインストールするか確認
rbenv install -l
//インストール
rbenv install 2.3.0
//確認(どちらでも可)
ruby -v
rbenv version
参考:
rbenv installation
https://github.com/rbenv/rbenv#basic-github-checkoutrbenv + ruby-build はどうやって動いているのか
http://takatoshiono.hatenablog.com/entry/2015/01/09/012040
5.ツールをいろいろインストール
redmineを動かすのに必要なツールをインストールします。
bundler
rubyのライブラリ管理ツールです。
詳細:http://qiita.com/windhorn/items/794f3ed50a61bf064f62
gem install bundler –no-document
phusion passenger
railsをApacheなど、Webサーバ上で動かすためのモジュールです。
詳細:http://d.hatena.ne.jp/MonteCut/20111114/1321280563
gem install passenger –no-document
bundler上に、redmineに必要なパッケージをまとめてインストールします。
この時、ImageMagickというソフトウェアを事前にインストールしていない場合は、withoutの中にrmagickを必ず含めてください。
bundle install –without development test rmagick –path vendor/bundle
これはお好みですが、「今使ってるDB以外他の使わねーわ」という場合、それらのDBアダプタのインストールを省略することができます。
例えば、今回のようにMySQLをredmineのDBに使用し、それ以外は使わんという場合は、上記コマンドのwithout句にpostgresql sqlite
と追加することで、postgresとsqliteのrubyDBアダプタのインストールを省略できます。
勿論、してもしなくてもredmineの導入には問題無いですし、今後の手順も変わりません。
6.秘密鍵作成とredmineDBの初期設定
セッションストアの秘密鍵と、redmineのDBの初期設定を作ります。デフォルトデータのロードも一緒にしておきます。
rake generate_secret_token
RAILS_ENV=production rake db:migrate
//デフォルトデータのロード
RAILS_ENV=production rake redmine:load_default_data
7.一度起動して確認する
webrickというwebサーバーフレームワークで起動するかどうかテストします。
ruby bin/rails server webrick -e production -b 0.0.0.0
少し待つと、INFO WEBrick::HTTPServer#start: pid=***** port=3000
と表示されますので、
http://ホスト名(IP):3000 を入力し、正常に起動していればOKです。
これをApache上で起動するように設定していきます。
8.Apacheとredmineの設定
passengerにapache用のモジュールをインストールします。少し時間がかかります。
passenger-install-apache2-module
この時、Some required software is not installed.
と表示される場合があります。
apache2-moduleをインストールするのに足りないパッケージが表示されますので、指示されている通りにコマンドを入力してインストールします。
インストール後、再度 passenger-install-apache2-module
を実行します。
インストールが完了すると、「apacheの設定ファイルに以下を追加してね」と出て、コードが表示されます。そちらを/etc/httpd/conf/httpd.conf
に追記してください。一番下でOKです。
コードをもし忘れてしまった場合は、以下のコマンドで確認できます。
# passenger-install-apache2-module --snippet
redmineをapache側から読み書きできるよう、権限をapacheに付与します。centosの場合は"apache"です。
# chown -R apache:apache /usr/local/redmine
9.redmineの運用アドレスを指定する
ここは、redmineをサーバー上でどう運用するかによって手順が異なります。具体的に言うと、
- 今回のサーバーをredmine専用サーバーとして運用する場合( http://ホスト名(IP)/ でredmineにアクセスできるようにする)
- 別のアプリケーション・別のredmineとサーバーを併用する場合
- バーチャルホストを使ってredmineに専用のホスト名を付与して運用する場合
などです。
の下部、
"Apache上のPassengerでRedmineを実行するための設定"
を参考にしながら設定してください。
設定後、apacheを起動し、以下の様なredmineのログイン画面が表示されていれば成功です。お疲れ様でした。
初期ユーザーはadmin/adminです。