Redmine のインストールは面倒
基本的に Redmine のインストールは面倒なイメージがある。
特に apt
を使わずにインストールした場合などとても煩雑だ。
ここではすべて apt
を使用してパッケージからインストールするものとし、且つ MySQL は utf8mb4
問題 (MySQL はデフォルトの utf8
だと絵文字などの 4 バイト文字が入力できない) があるので避け、最も簡単な SQLite を使用することにする。
SQLite だとデータベースがただのファイルなのでバックアップがとても簡単だし、ユーザという概念もないのでユーザを作成したりパスワードを設定する必要もない。
既に MySQL / PostgreSQL で構築されている Redmine のデータを移行するのなら話は別だが、大体の場合 SQLite で事足りるはずだ。
インストール
sudo apt install redmine-sqlite
途中画面が切り替わり以下の質問をしてくるので「はい」を選択すると DB が作成され Redmine のマイグレーションファイルが走る:
redmine/instances/default パッケージを使用する前に、データベースをインストールして設定する必要があります。これは必要に応じて dbconfig-common で処理することもできます。
あなたが上級データベース管理者で、手動でこの設定を実行することがわかっている場合、あるいはデータベースのインストールと設定が完了している場合は、このオプションを拒否するべきです。何をすべきかの詳細は、/usr/share/doc/redmine/instances/default で提供されている可能性が最も高いです。
そうでなければ、おそらくこのオプションを選ぶべきです。
redmine/instances/default 用のデータベースを dbconfig-common で設定しますか?
更に以下も必要なので apt
で入れる:
sudo apt install apache2 libapache2-mod-passenger bundler imagemagick libmagick++-dev
redmine-sqlite
パッケージでインストールされた Redmine は /usr/share/redmine
にある。
以下に示すのはサブドメインなしでデプロイする場合だがサブドメイン (たとえば http://redmine.hoge.com
など) に配置する場合は適宜読み替えて欲しい:
sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
DocumentRoot /usr/share/redmine/public
PassengerHighPerformance on
<Directory /usr/share/redmine/public>
AllowOverride None
Options None
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
また sudo vi /etc/apache2/mods-available/passenger.conf
で以下のように書き換える必要がある:
<IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
PassengerDefaultRuby /usr/bin/ruby
PassengerDefaultUser www-data
RailsBaseURI /redmine
</IfModule>
Apache を再起動する:
sudo service apache2 restart
http://localhost/
(または適切なドメイン) にアクセスし Redmine の画面が表示されることを確認する。
バックアップ
Redmine の公式ドキュメントに示されている通り Redmine のインストールディレクトリ直下の files
ディレクトリと SQLite ファイル (/var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default
) をコピーするだけなので楽だ。