本記事で実施すること¶
- Redmineを動かすためのパッケージがインストールできるように準備をします。
- Redmineを動かすためのパッケージ(Ruby/データベース/Webサービスなど)をインストールします。
- データベースやWebサービスの基礎設定を行います。
- Redmineの動作確認を行います。
想定している読者¶
- 「Redmine」をUbuntuにインストールしてみたい
- まずは動くところまで確認できればいい
前提¶
- Ubuntuサーバの初期設定が終わった直後の状態を想定します。
- DNSでドメインの名前が解決できることを前提としています
- 環境は以下の通りです。
- Apache系
- MySQL
- Ruby 2.7
- また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。
特記事項¶
- 本手順ではRedmine 4.2 / Redmine 5.0のどちらかがインストール可能です。
- 本Redmineでは4.2にしています。
- 5.x系にしないのは「筆者が使いたいプラグインが4.2系まででしか動作確認できなかった(2023年1月現在)」という単純にして重要な理由です。
- 2024年5月、使いたいプラグイン(knowlegebase)が5.x系でも動くことを確認しました。
- 同様に、Ubuntu22.04でインストールできるRedmineのバージョンは5.x以降となるため、インストールするUbuntuは20.04系になっています。
- 5.x系にしないのは「筆者が使いたいプラグインが4.2系まででしか動作確認できなかった(2023年1月現在)」という単純にして重要な理由です。
- 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。
- また、Ubuntu22.04以降はRubyのバージョンが異なるため、4.2系がインストールできません。
手順¶
必要なパッケージをインストールします。¶
sudo aptitude update
sudo aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev
apacheの追加モジュールをインストールします。¶
sudo aptitude install libapache2-mod-passenger
rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。¶
sudo gem install bundler racc mysql2
「3 gems installed」が表示されればインストール成功です。
必要に応じてmysqlの初期設定を行います。¶
mysql_secure_installationによる初期設定を行います。
うまくいかない場合は以下を参照してください。
https://atelier.reisalin.com/projects/zettel/questions/5-mysql_secure_installation
mysqlでDBとユーザーを設定します。¶
sudo mysql -u root -p
上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします
CREATE DATABASE redmine character set utf8mb4;
→ DB "redmine" を作成します
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
→ ユーザ "redmine"を作成し、パスワードを設定します
この'password'は任意のパスワードに変更してください
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
→ DB "redmine"の権限をユーザ "redmine"に委譲します
flush privileges;
→ 設定を反映させます
exit
Redmineプログラムを配置します。¶
sudo mkdir -p /home/www-data/redmine
sudo chown -R www-data:www-data /home/www-data
- Redmine 4.2の場合
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/4.2-stable /home/www-data/redmine
- Redmine 5.0の場合
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.0-stable /home/www-data/redmine
Redmineのコンフィグを設定します。¶
sudo cp -pi /home/www-data/redmine/config/database.yml.example /home/www-data/redmine/config/database.yml
こちらのファイル/home/www-data/redmine/config/database.yml
を教義・信仰に従ったエディタで編集してください。
database.yml 編集内容¶
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
# rootからredmineに変更します
password: "redmine用のパスワード"
encoding: utf8mb4
# 本番環境(production)のみ設定を行います
Redmineのマイグレーションを行います。¶
- Redmineのルートディレクトリに移動
cd /home/www-data/redmine/ && pwd
自分の環境に合わせます。
- bundle install
sudo -u www-data bundle install --without development test --path vendor/bundle
- シークレットトークン発行
sudo -u www-data bundle exec rake generate_secret_token
- DBマイグレーション
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
- 日本語化
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
Apacheの設定ファイルを作成します。¶
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/redmine.conf
<VirtualHost *:80>
ServerName hoge.example.com
# ServerNameは自身が設定したredmineに読み替えてください。
DocumentRoot /home/www-data/redmine/public
<Directory /home/www-data/redmine/public>
Options -MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
__EOF__
設定を反映させます。¶
- apache設定ファイル確認
ls -l /etc/apache2/sites-available/redmine.conf
ファイルがあることを確認します。
- apache設定ファイル有効化
sudo a2ensite redmine.conf
- 初期設定ファイルの無効化
sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
- 設定ファイル整合性確認
sudo apache2ctl configtest
Syntax OK
を確認します
- Webサービス再起動
sudo systemctl restart apache2.service
- Webサービス稼働確認
systemctl status apache2.service
Webページの表示を確認します。¶
でRedmineのトップページが表示されれば成功です。
直ちにadmin/adminでログインし、強固なパスワードを設定し直します。
次のステップでやること¶
- SSL接続を有効化します。
- ログのローテーションを有効化し、適切なアクセスログを設定します。