Redmineをapt-getでインストール
_ Redmineを使おうかと調べていたところ、debパッケージからインストールした記事がほとんどなかった上に、書いてあっても古いものばかりだったのでメモっておきます。
インストール環境
- Debian Wheezy
- Debianパッケージを使う。(Wheezyなのでredmine 1.4.4です)
- Webサーバー: Apache 2 / passenger
- データベース: sqlite or MySQL
(MySQLを使う場合のみ) MySQLのインストールと設定
MySQLを使う人だけの設定です。Sqliteを使う人は飛ばしてください。
DebianでMySQLを使っている人はすでに設定していると思いますが、文字コードをUTF-8にしておきたいので、MySQLだけを先にインストールします。
# apt-get install mysql-server
適当なエディタで/etc/mysql/conf.d/(適当な名前).cnf
を開き(/etc/mysqli/my.cnfには書き込みません)、以下の内容を書いて保存しておきます。
[mysqld]
character-set-server = utf8mb4
書き込んだらMySQLを再起動しておきます。
# service mysql restart
インストール
インストールは簡単。MySQLの場合はこんな感じ。
# apt-get install redmine redmine-mysql apache2 libapache2-mod-passenger
MySQLの場合、途中でMySQLのredmineユーザのパスワードについて尋ねられますが、パスワードを空にしてランダムパスワードを作成するのがよいと思います。(作成したパスワードについては /etc/redmine/default/database.yml
に書いてあります。)
Sqliteの場合はこんな感じ。
# apt-get install redmine redmine-sqlite apache2 libapache2-mod-passenger
こちらは特に聞かれることはありません。
設定
Redmineの設定についての情報は /usr/share/doc/redmine/
にあるのでよく読みます。
設定のサンプルは、使用するサーバー/モジュールに応じたサンプルが /usr/share/doc/redmine/examples/
にあるので、それを参考に設定します。
http://localhost/redmine/でアクセスする場合
お手軽に設定するならサンプルファイル apache2-passenger-alias.conf
を /etc/apache2/sites-available/
以下にコピーしてa2ensiteで有効化、apacheを再起動するだけでredmineが使えます。
# cp /usr/share/doc/redmine/examples/apache2-passenger-alias.conf /etc/apache2/sites-available/redmine
# a2ensite redmine
# service apache2 reload
通常のサイトで設定する場合は、コピーした設定の3行目と4行目を変更すれば大丈夫なはず。
<VirtualHost *:80> ← localhostを「*:80」に
ServerName my.domain.name ← 行頭のコメント「#」を外してmy.domain.nameにドメインを設定
Redmineの設定をするには /usr/share/doc/redmine/examples/configuration.yml.example.gz
を /etc/redmine/default/
にコピーして使います。
# cd /etc/redmine/default/
# cp /usr/share/doc/redmine/examples/configuration.yml.example.gz .
# gunzip configuration.yml.example.gz
# mv configuration.yml.example configuration.yml
# chown root:www-data configuration.yml ← 所有者とグループは www-dataとrootに変更。
# chmod 640 configuration.yml ← パーミッションは640に変更。
とりあえずメールの設定はconfiguration.yml
のコメント行を参考に、ファイルの保存場所のattachments_storage_pathは、ディレクトリ/var/redmine/files
を作成して設定しておくとよいかと思います。
http://localhost/でアクセスする場合
http://localhost/ だけでアクセスする場合は、サンプルファイル apache2-passenger-host.conf
を使えばいいのですが、複数サイトのサンプルなので片方だけをコピーして、/etc/apache2/sites-available/
にファイルを作成します。
# nano /etc/apache2/sites-available/redmine
<VirtualHost *:80> ← localhost:3000から変更
# ServerName my.domain.name ← localhostじゃない場合は変更する必要ありかも
# this is the passenger config
RailsEnv production
# create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
PassengerAppRoot /var/lib/redmine/default/passenger
SetEnv X_DEBIAN_SITEID "default"
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
そして忘れてはいけないのは、/var/lib/redmine/default/
以下に /usr/share/redmine
のシンボリックリンクを貼ること!
コメントに書いてあるのですが、それを見落としてハマってました。
# ln -s /usr/share/redmine /var/lib/redmine/default/passenger
シンボリックリンクを貼ったら、apacheのサイト設定defaultを無効・redmineの設定を有効にして、apacheを再起動するとOK。
# a2dissite default
# a2ensite redmine
# service apache2 reload
プラグインをインストールしてdbをマイグレートする必要がある場合は
/usr/share/redmine/vendor/plugins
に使いたいプラグインを展開して、以下のように実行するとOKです。
# RAILS_ENV=production rake -f /usr/share/redmine/Rakefile db:migrate_plugins
おわりに
ということで、使いたいプラグインが2系でしか動かないとかそういう事情もなく、楽してRedmineを使いたい人はWheezyでパッケージを使うといいんじゃないかなー。
UbuntuだとLTSのpreciseは1.3.2だし、saucyは2.3.1でも
というような感じみたいですし。あー。13.10 の redmine で悲鳴あげている人、多いなぁ...。
— Youhei SASAKI (@uwabami) October 18, 2013