RHEL系のLinuxにRedmine 5.1をセットアップする

# Redmineのインストール
## 無保証
　多分これでいける、というか作業ログを持ってきたので動くはずですがRuby on Railsがよく判っていないので動かなくてもサポートできません。
## Redmine5.1に対応(2024/02/3)
　Redmineのバージョン5.1がリリースされているので更新しました。

### 必要なパッケージを導入する
```
dnf install epel-release ruby ruby-devel nodejs nodejs-libs gcc git subversion httpd mod_ssl
```
nano 等も入れておくと良いかも。

### データベースを入れる、今回はMariaDB
``` /etc/yum.repos.d/MariaDB.repo
# MariaDB 11.0 RedHatEnterpriseLinux repository list - created 2023-07-18 07:36 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/11.0/rhel/$releasever/$basearch
baseurl = https://mirrors.xtom.jp/mariadb/yum/11.0/rhel/$releasever/$basearch
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.xtom.jp/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
```
```
dnf -y install MariaDB-server MariaDB-client MariaDB-devel
```

### ユーザーを追加しておく
```
adduser redmine
```

### Ruby on Railsの導入
今のRubyには同梱されないライブラリがあるようなのであらかじめ追加する。（libyaml-devel）
```
dnf -y install npm yarnpkg
dnf -y install https://dl.rockylinux.org/pub/rocky/9/CRB/x86_64/os/Packages/l/libyaml-devel-0.2.5-7.el9.x86_64.rpm
gem install rails
```

### Redmineのチェックアウト
```
cd /var/www/html/
svn co https://svn.redmine.org/redmine/branches/5.1-stable redmine-5.1
```

### MariaDBに初期データベースを作成する
```
mysql -uroot -p<パスワード>
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
```

### 作業場所へ移動
```
cd redmine-5.0
```

### データベースの設定を入れる
```config/database.yml
production:
  adapter: mysql2
  database: redmine
  socket: /var/lib/mysql/mysql.sock
  username: redmine
  password: "my_password" 
```

### Railsの依存関係モジュールをインストールする
```
gem install bundler
bundle config set --local without 'development test'
bundle install
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
```

### ディレクトリの作成とパーミッションの設定
```
chown -R apache:apache
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log public/plugin_assets
chmod -R 777 tmp files
```

### Passengerをインストールする
```
curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
dnf -y install mod_passenger || { sudo yum-config-manager --enable cr && sudo yum install -y mod_passenger ; }
```
### Passengerをインストールしたらhttpd.confに設定を入れる
```/etc/httpd/conf.d/Redmine.conf
<IfModule mod_passenger.c>
	DocumentRoot /var/www/html/redmine-5.1/public
#	PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
	PassengerDefaultRuby /usr/bin/ruby
</IfModule>

<Directory /var/www/html/redmine-5.1/public>
	Allow from all
	Options -MultiViews
	Require all granted
</Directory>
```

参考にしたサイト：
Redmine公式
https://www.redmine.org/projects/redmine/wiki/RedmineInstall

Passengerのセットアップ
https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/apache/install/oss/el9.html

MariaDBのセットアップ
https://qiita.com/ponsea/items/9578659009b434c60959
↑ここから少し変更。
TCPでの接続を受け付けずにsocketのみに変更。
コマンド名はmariadbに変更。