Redmine構築手順書

# Redmineのインストール設定
ここでは工数管理やWBSなどを管理できる無料のプロジェクト管理のオープンソースのソフトウェアである、
Redmineを使いたいがために会社のサーバにインストールしてみました。

## ■インストール資材 
・Ubuntu
・仮想環境(VMwareでもhyper-vでもなんでも)
・外に出られるネットワーク環境

## ■インストール手順
1.Ubuntuを仮想マシンにインストールする。
　※バージョンなどはお好みで問題ない。

2.Ubuntu ネットワーク設定
　※外のインターネットに出れるように設定する。

3.Ubuntu パッケージ管理システムのデータベースを最新に更新
```
sudo apt update
```

4.openssh-serverインストール
```
sudo apt install openssh-server
```

5.ja_JP.UTF-8ロケールの作成
```
sudo locale-gen ja_JP.UTF-8
```

6.ロケールの一覧を表示
```
locale -a
```

7.RubyとPassengerのビルドに必要な開発ツールやヘッダファイルのインストール
```
sudo apt install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
```
8.PostgreSQLとヘッダファイルのインストール
```
sudo apt install -y postgresql libpq-dev
```

9.Apacheとヘッダファイルのインストール
```
sudo apt install -y apache2 apache2-dev
```

10.日本語フォントのインストール
```
sudo apt install -y imagemagick fonts-takao-pgothic
```

11.そのほかのツールのインストール
```
sudo apt install -y subversion git
```

12.curlのインストール
```
sudo apt install curl
```

13.Rubyのインストール ソースコードのダウンロード
```
sudo curl -O https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.2.tar.gz
```

14.Rubyのビルド
```
tar xvf ruby-3.1.2.tar.gz
cd ruby-3.1.2
./configure --disable-install-doc
make
sudo make install
cd ..
```

15.Rubyのバージョン確認
```
ruby -v
```

16.PostgreSQLの設定 Redmine用ユーザーの作成
```
sudo -i -u postgres createuser -P redmine
```

17.Redmine用データベースの作成
```
sudo -i -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
```

18.Redmineのインストール Redmineのダウンロード
```
sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.1-stable /var/lib/redmine
```

19.データベースへの接続設定
```
vi /var/lib/redmine/config/database.yml
```
以下の内容をdatabase.ymlに追記。
```
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "********"
  encoding: utf8
```

20.設定ファイル config/configuration.yml の作成
```
vi /var/lib/redmine/config/configuration.yml
```
以下の内容をconfiguration.ymlに追記。
```
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: "example.com"

  rmagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
```

21.Redmineのインストールディレクトリへ移動
```
cd /var/lib/redmine
```

22.gemパッケージのインストール
```
sudo bundle install --without development test
```

23.Redmineの初期設定 セッション改ざん防止用秘密鍵の作成
```
sudo -u www-data bin/rake generate_secret_token
```

24.データベースのテーブル作成
```
sudo -u www-data RAILS_ENV=production bin/rake db:migrate
```
25.Passengerのインストール
```
sudo gem install passenger -N
```

26.PassengerのApache用モジュールのインストール
```
sudo passenger-install-apache2-module --auto --languages ruby
```
27.Apache用設定内容の確認 ここで出た設定をテキストで記録すること
```
passenger-install-apache2-module --snippet
```

28.Apacheの設定
```
vi /etc/apache2/conf-available/redmine.conf
```
以下の内容をredmine.confに追記。
```
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

LoadModule passenger_module /usr/local/lib/ruby/gems/3.1.0/gems/passenger-6.0.23/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/3.1.0/gems/passenger-6.0.23
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
```

29.FQDNの設定
```
sudo echo ServerName Virtual-Machine > /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
```

30.Apacheの設定の反映
```
sudo a2enconf redmine
apache2ctl configtest
sudo systemctl reload apache2
```

31.パターン1: webサーバをRedmine専用として使用
```
vi /etc/apache2/sites-enabled/000-default.conf
```
以下にに変更
```
DocumentRoot /var/www/html
↓
DocumentRoot /var/lib/redmine/public
```
32.設定変更後、Apacheを再起動してください。
```
apache2ctl configtest
sudo systemctl reload apache2
```

33.Apacheを起動後にブラウザでhttp://<サーバのIP>を入力して確認。
　Redmineが表示されて入ればOK。



## ■まとめ
redmineのインストール手順を記載したが、
登場してからそれなりの年月が経っており、古いオープンソースのソフトウェアだと思っているが、
無料で使えるのでまだまだ現役であると思っている。
自分は糞雑魚サーバエンジニアなので間違えが多々あるかもしれないが、間違えがあると思うので
気になった方は遠慮なく指摘してください。頑張って修正します。
自分でも間違いがあれば修正します。

## ■利用した参考資料
https://blog.redmine.jp/articles/5_0/install/ubuntu/
他多数。
何を参考にしたか