001b_Ubuntu 20.04/22.04/24.04にRedmine5.1をインストール
バージョン 4 (手動人形, 2024/10/10 10:19) → バージョン 5/5 (手動人形, 2024/10/10 10:20)
{{TOC}}
以下の環境でインストールを確認しています。
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
ですが、プラグインとの兼ね合いがあるため、Ubuntu 20.04にこのバージョンをインストールすることはおすすめしません。
### 本記事で実施すること
1. Redmineを動かすためのパッケージがインストールできるように準備をします。
1. Redmineを動かすためのパッケージ(Ruby/データベース/Webサービスなど)をインストールします。
1. データベースやWebサービスの基礎設定を行います。
1. Redmineの動作確認を行います。
### 想定している読者
- 「Redmine」をUbuntuにインストールしてみたい
- まずは動くところまで確認できればいい
### 前提
- Ubuntuサーバの初期設定が終わった直後の状態を想定します。
- DNSでドメインの名前が解決できることを前提としています
- 環境は以下の通りです。
- Apache系
- MySQL
- Ruby
- 2.7 (Ubuntu 20.04)
- 3.0 (Ubuntu 22.04)
- 3.2 (Ubuntu 24.04)
- また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。
### 特記事項
- 本手順ではRedmine 5.1をインストールします。
- よほどのことがない限り、Ubuntu22.04及びUbuntu24.04にインストールするのはこのバージョンになります。 よほどのことがない限り、Ubuntu22.04にインストールするのはこのバージョンになります。
- 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。
- ほぼコピペだけで済むような構成にしていますが、一部、テキストエディタを使用する箇所があります。
- また、自身の環境に合わせたりパスワードを設定する項目がありますのでそこは注意してください。
### 手順
#### Apacheのレポジトリを追加します。
```bash
sudo add-apt-repository ppa:ondrej/apache2
```
#### 必要なパッケージをインストールします。
- パッケージ全体のアップデート
```bash
sudo aptitude update
```
- 必要なパッケージのインストール
```bash
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の追加モジュールをインストールします。
```bash
sudo aptitude install libapache2-mod-passenger
```
#### apacheのバージョンを確認します。
```bash
apache2ctl -v
```
`Apache/2.4.59`以降であることを確認します。[2.4.58には、http/2プロトコルへの脆弱性](https://jvn.jp/vu/JVNVU99032532/)があるので、左記のバージョンであることを確認します。
### rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。
```bash
sudo gem install bundler racc mysql2
```
「3 gems installed」が表示されればインストール成功です。
### 必要に応じてmysqlの初期設定を行います。
mysql_secure_installationによる初期設定を行います。
うまくいかない場合は以下を参照してください。
[https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation](https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation)
#### mysqlでDBとユーザーを設定します。
```bash
sudo mysql -u root -p
```
上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします
```sql
CREATE DATABASE redmine character set utf8mb4;
```
DB "redmine" を作成します
```sql
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
```
ユーザ "redmine"を作成し、パスワードを設定します。
この'password'は任意のパスワードに変更してください
```sql
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
```
```sql
flush privileges;
```
```sql
exit
```
#### 設定したDBでログインできることを確認します。
```bash
mysql -u redmine -p
```
```sql
SHOW DATABASES;
```
```sql
exit
```
- 配置ディレクトリ作成
```bash
sudo mkdir -p /home/www-data/redmine
```
自分の環境に合わせます。
- 所有者変更
```bash
sudo chown -R www-data:www-data /home/www-data
```
- Redmine 5.1を入手
```bash
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.1-stable /home/www-data/redmine
```
### Redmineのコンフィグを設定します。
- サンプルファイルをコピーしてコンフィグを編集
```bash
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 編集内容
```yml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
# rootからredmineに変更します
password: "redmine用のパスワード"
encoding: utf8mb4
# 本番環境(production)のみ設定を行います
```
#### Redmineのマイグレーションを行います。
- Redmineのルートディレクトリに移動
```bash
cd /home/www-data/redmine/ && pwd
```
`/home/www-data/redmine/` (Redmineを配置したディレクトリ)であることを確認します
- bundle install
```bash
sudo -u www-data bundle install --without development test --path vendor/bundle
```
- シークレットトークンの発行
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
- シークレットトークンの発行(※Ubuntu 20.04の場合)
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
を実行すると、
> Could not find date-3.3.4, timeout-0.4.1 in any of the sources
> Run \`bundle install\` to install missing gems.
というメッセージが出てきます。
```bash
sudo -u www-data bundle update date
```
を実行して再度
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
が有効であることを確認しました。
- DBマイグレーション
```bash
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
```
- 日本語化
```bash
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
```
#### Apacheの設定ファイルを作成します。
【】を自分の作成したRedmineのサーバ名/ドメイン名に変更します。
```bash
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__
```
#### 設定を反映させます。
- ファイル作成確認
```bash
ls -l /etc/apache2/sites-available/redmine.conf
```
- 設定ファイル有効化
```bash
sudo a2ensite redmine.conf
```
- 初期サイト設定を無効化
```bash
sudo a2dissite 000-default.conf
```
```bash
sudo a2dissite default-ssl.conf
```
- コンフィグファイル整合性確認
```bash
sudo apache2ctl configtest
```
Syntax OK を確認します
- 設定反映前のapacheステータス確認
```bash
systemctl status apache2.service
```
active(running)を確認します
- apache再起動
```bash
sudo systemctl restart apache2.service
```
- 設定反映後のapacheステータス確認
```bash
systemctl status apache2.service
```
active(running)を確認します
### Webページの表示を確認します。
http://設定したRedmineドメイン
でRedmineのトップページが表示されれば成功です。
**直ちにadmin/adminでログインし、強固なパスワードを設定し直します。**
以下の環境でインストールを確認しています。
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
ですが、プラグインとの兼ね合いがあるため、Ubuntu 20.04にこのバージョンをインストールすることはおすすめしません。
### 本記事で実施すること
1. Redmineを動かすためのパッケージがインストールできるように準備をします。
1. Redmineを動かすためのパッケージ(Ruby/データベース/Webサービスなど)をインストールします。
1. データベースやWebサービスの基礎設定を行います。
1. Redmineの動作確認を行います。
### 想定している読者
- 「Redmine」をUbuntuにインストールしてみたい
- まずは動くところまで確認できればいい
### 前提
- Ubuntuサーバの初期設定が終わった直後の状態を想定します。
- DNSでドメインの名前が解決できることを前提としています
- 環境は以下の通りです。
- Apache系
- MySQL
- Ruby
- 2.7 (Ubuntu 20.04)
- 3.0 (Ubuntu 22.04)
- 3.2 (Ubuntu 24.04)
- また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。
### 特記事項
- 本手順ではRedmine 5.1をインストールします。
- よほどのことがない限り、Ubuntu22.04及びUbuntu24.04にインストールするのはこのバージョンになります。 よほどのことがない限り、Ubuntu22.04にインストールするのはこのバージョンになります。
- 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。
- ほぼコピペだけで済むような構成にしていますが、一部、テキストエディタを使用する箇所があります。
- また、自身の環境に合わせたりパスワードを設定する項目がありますのでそこは注意してください。
### 手順
#### Apacheのレポジトリを追加します。
```bash
sudo add-apt-repository ppa:ondrej/apache2
```
#### 必要なパッケージをインストールします。
- パッケージ全体のアップデート
```bash
sudo aptitude update
```
- 必要なパッケージのインストール
```bash
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の追加モジュールをインストールします。
```bash
sudo aptitude install libapache2-mod-passenger
```
#### apacheのバージョンを確認します。
```bash
apache2ctl -v
```
`Apache/2.4.59`以降であることを確認します。[2.4.58には、http/2プロトコルへの脆弱性](https://jvn.jp/vu/JVNVU99032532/)があるので、左記のバージョンであることを確認します。
### rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。
```bash
sudo gem install bundler racc mysql2
```
「3 gems installed」が表示されればインストール成功です。
### 必要に応じてmysqlの初期設定を行います。
mysql_secure_installationによる初期設定を行います。
うまくいかない場合は以下を参照してください。
[https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation](https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation)
#### mysqlでDBとユーザーを設定します。
```bash
sudo mysql -u root -p
```
上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします
```sql
CREATE DATABASE redmine character set utf8mb4;
```
DB "redmine" を作成します
```sql
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
```
ユーザ "redmine"を作成し、パスワードを設定します。
この'password'は任意のパスワードに変更してください
```sql
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
```
```sql
flush privileges;
```
```sql
exit
```
#### 設定したDBでログインできることを確認します。
```bash
mysql -u redmine -p
```
```sql
SHOW DATABASES;
```
```sql
exit
```
- 配置ディレクトリ作成
```bash
sudo mkdir -p /home/www-data/redmine
```
自分の環境に合わせます。
- 所有者変更
```bash
sudo chown -R www-data:www-data /home/www-data
```
- Redmine 5.1を入手
```bash
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.1-stable /home/www-data/redmine
```
### Redmineのコンフィグを設定します。
- サンプルファイルをコピーしてコンフィグを編集
```bash
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 編集内容
```yml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
# rootからredmineに変更します
password: "redmine用のパスワード"
encoding: utf8mb4
# 本番環境(production)のみ設定を行います
```
#### Redmineのマイグレーションを行います。
- Redmineのルートディレクトリに移動
```bash
cd /home/www-data/redmine/ && pwd
```
`/home/www-data/redmine/` (Redmineを配置したディレクトリ)であることを確認します
- bundle install
```bash
sudo -u www-data bundle install --without development test --path vendor/bundle
```
- シークレットトークンの発行
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
- シークレットトークンの発行(※Ubuntu 20.04の場合)
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
を実行すると、
> Could not find date-3.3.4, timeout-0.4.1 in any of the sources
> Run \`bundle install\` to install missing gems.
というメッセージが出てきます。
```bash
sudo -u www-data bundle update date
```
を実行して再度
```bash
sudo -u www-data bundle exec rake generate_secret_token
```
が有効であることを確認しました。
- DBマイグレーション
```bash
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
```
- 日本語化
```bash
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
```
#### Apacheの設定ファイルを作成します。
【】を自分の作成したRedmineのサーバ名/ドメイン名に変更します。
```bash
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__
```
#### 設定を反映させます。
- ファイル作成確認
```bash
ls -l /etc/apache2/sites-available/redmine.conf
```
- 設定ファイル有効化
```bash
sudo a2ensite redmine.conf
```
- 初期サイト設定を無効化
```bash
sudo a2dissite 000-default.conf
```
```bash
sudo a2dissite default-ssl.conf
```
- コンフィグファイル整合性確認
```bash
sudo apache2ctl configtest
```
Syntax OK を確認します
- 設定反映前のapacheステータス確認
```bash
systemctl status apache2.service
```
active(running)を確認します
- apache再起動
```bash
sudo systemctl restart apache2.service
```
- 設定反映後のapacheステータス確認
```bash
systemctl status apache2.service
```
active(running)を確認します
### Webページの表示を確認します。
http://設定したRedmineドメイン
でRedmineのトップページが表示されれば成功です。
**直ちにadmin/adminでログインし、強固なパスワードを設定し直します。**