2022/09/03 時点のLinux Mintの最新版21に、やはり最新版のRedmine 5.0のインストールを行えるかを検証しました。
以下、うまくいったときの手順です。
前提
- OSの初期設定のみが完了しています。
- また、Webでよく見られる「mysql_secure_installation」は普通に行ったら躓くので、その対応も行っています。
手順
- 全て管理者権限で実施します。
- 検証なのでhttps通信などは考慮しません。
apacheリポジトリの追加(脆弱性対応)
add-apt-repository ppa:ondrej/apache2
# 途中、Press[Enter]と表示されるので空エンターを打ちます。
基本パッケージのインストール
aptitude update
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
passengerのインストール
aptitude install libapache2-mod-passenger
systemctl restart apache2.service
gemで必要なライブラリをインストール
gem install bundler racc mysql2 strscan
# redmine5.0の場合、stscanも必要でした
mysql初期パスワード設定
vi /etc/mysql/mysql.conf.d/mysqld.cnf
追記内容
# 末尾に以下を追加
default_authentication_plugin=mysql_native_password
設定後にmysqlサービス再起動
systemctl restart mysql
MySQL rootパスワード設定
mysql -u root -p
# 未設定のためパスワードは不要です
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード';
#パスワードは任意のものを入力ください
flush privileges;
exit
mysql初期設定
mysql_secure_installation
初期設定内容
Enter password for user root:
# 上記で設定したパスワードを入力します
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:
# Yを入力してEnter
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
# ポリシーに合わせて0/1/2を入力(ローカル環境のため0としました)
Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) :
# 既に設定しているのでn
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) :
# anonymousユーザーを削除するためY
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
# rootユーザのリモートログインを禁止するためY
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
# テストDBを削除するためY
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
# 設定を反映するためy
MySQLでredmine用のユーザーを作成
mysql -uroot -p
# 上記で設定したパスワードを入力します
CREATE DATABASE redmine character set utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'パスワード';
# 任意のパスワードを設定
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit
redmineを取得
mkdir /var/lib/redmine
chown www-data:www-data /var/lib/redmine
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.0-stable /var/lib/redmine
database.yml編集
cp -pi /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
vi /var/lib/redmine/config/database.yml
編集する箇所(production)を以下のように編集
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine用のパスワード"
encoding: utf8mb4
bundleによるDBマイグレーション
cd /var/lib/redmine
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec rake generate_secret_token
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の設定ファイルを作成
cd /etc/apache2/sites-available
vi redmine.conf
設定内容(動作確認のため、以下のものだけ)
<VirtualHost *:80>
RailsEnv production
DocumentRoot /var/lib/redmine/public
<Directory "/var/lib/redmine/public">
Allow from all
Require all granted
</Directory>
</VirtualHost>
上記で作成したredmine.confを有効化
a2ensite redmine.conf
apache2ctl configtest
# Syntax OKを確認
systemctl restart apache2.service
この後、ブラウザにIPアドレス/ホスト名を入力してredmineの画面が出ることを確認しました。