プロジェクト管理ソフトウェア Redmine 4.0 のインストールと設定(Ubuntu 20.04 上)
次の機能がある.
- 各種成果物(ソースコード,仕様書ファイルなど)の管理
- wiki, forum に相当する機能
- メールリストの開設とメールの記録
- 議事録等の管理
Ubuntu 20.04 でのインストールの要点は次の通り
- Redmine は PostgreSQL と Apache 上で運用することにする.
- Ubuntu システムの安定運用のため,PostgreSQL, Redmine, Apache などは Ubuntu パッケージをなるべく使用することを前提とする.
運用時のセキュリティ更新のことも考え,なるべく Ubuntu のパッケージを使いたい
- 多くの設定は,Ubuntu パッケージのインストール時に自動で行われる.
- PostgreSQL は次のように調整.
全ユーザ の md5 認証を有効にする.
そのために,/etc/postgresql/12/main/pg_hba.conf を書き換える.
local all all md5
- Passenger は,Ubuntu パッケージでなく,gem のものを使用
- Apache 用 Passenger モジュールは,Ubuntu パッケージでなく,公式の手順で,ソースコードからインストール
一度,Ubuntu のパッケージで頑張ってみたが,Passenger のエラーを解決できなかったため.
- Apache は次のように設定する.Redmine 以外の Web コンテンツも扱うことにする.
http://<サイト名>/redmine は Redmine へのアクセス.
http://<サイト名>/<redmine 以外> は Web コンテンツへのアクセス.
【関連する外部ページ】 https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
1. 前準備
Ubuntu で OS のシステム更新を行うときは, 次のコマンドを実行.
sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now
Apache, PostgreSQL, Redmine 関係パッケージのアンインストール,関連ファイルの削除
トラブルを防ぐためにアンインストールを行う. すでに,apache や PostgreSQL サーバを運用していたというような場合は,この操作を行ってはいけない.
sudo apt -y --purge remove postgresql-12 postgresql-client-12 postgresql-client-common postgresql-common postgresql-contrib odbc-postgresql pgadmin3 postgresql-server-dev-12 python3-psycopg2 libpostgresql-jdbc-java postgresql-plpython3-12 libpq-dev
sudo rm -rf /etc/postgresql
sudo rm -rf /var/lib/postgresql/12
sudo rm -rf /var/lib/postgresql/data
sudo apt -y --purge remove apache2 apache2-dev libapache2-mod-passenger redmine redmine-pgsql puma gem ruby-dev passenger passenger-doc ruby-passenger
sudo apt -y --purge remove ruby2.7 ruby rake
sudo rm -rf /usr/lib/ruby
sudo rm -rf /etc/apache2
sudo rm -rf /usr/share/redmine
sudo rm -rf /var/www/html/redmine
sudo rm -rf /etc/dbconfig-common/redmine
sudo apt -y autoremove
sudo apt autoclean
2. Redmine のインストール,基本設定
Postgres のインストール,データベースファイルの作成(Ubuntu 上)
- PostgreSQL および関連ソフトウェア類のインストール
インストールするには, 次のコマンドを実行.
sudo apt -y update sudo apt -y install postgresql-12 postgresql-client-12 postgresql-client-common postgresql-common postgresql-contrib odbc-postgresql pgadmin3 postgresql-server-dev-12 python3-psycopg2 default-jdk libpostgresql-jdbc-java postgresql-plpython3-12 libpq-dev
- PostgreSQL サーバを起動開始
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main start sudo pg_ctlcluster 12 main status
- PostgreSQL の認証は peer 認証が設定されていることを確認
sudo cat /etc/postgresql/12/main/pg_hba.conf
- PostgreSQL の動作確認
Ubuntu のユーザ postgres と peer 認証により,PostgreSQL の psql を使ってみる.
「\c」により,使用されている PostgreSQL のロール名と,オープンされているデータベース名を確認.
確認したら,「\q」により終了.
sudo -u postgres psql \c \q
- データベースの確認
postgres, template0, template1 の 3 つのデータベースが表示されることを確認.
sudo -u postgres psql \l \q
- psql のバージョン確認
psql --version
PostgreSQL の認証設定
- PostgreSQL の認証は peer 認証が設定されていることを確認
sudo cat /etc/postgresql/12/main/pg_hba.conf
PostgreSQL での新しいロールの追加と md5 認証の設定
これは,「Redmine のインストール」に必要な設定ではない. PostgreSQL での新しいロールの追加と md5 認証の設定を試したいときのためのもの.
下の手順で,PostgreSQL で,新しいロール testuser を作成し md5 認証できるように設定してみる
- PostgreSQL で,新しいロール testuser を作成
パスワードは,下のものをそのまま使うのでなく,必ず独自に設定してください.
sudo -u postgres psql create role "testuser" with login encrypted password 'hoge7618mhty'; \du \q
- /etc/postgresql/12/main/pg_hba.conf を書き換えて,testuser の md5 認証を有効にする.
そのために,次の1行を追加する
local all testuser md5
- PostgreSQL サーバの再起動
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main restart sudo pg_ctlcluster 12 main status
- 新しいロール testuser で,md5 認証により psql を使用できるか確認する.
md5 認証のときは psql -U <ロール名> -d <データベース名>
psql -U testuser -d postgres \c \q
- PostgreSQL で,新しいロール testuser を作成
- 全ユーザ の md5 認証を有効にする.
/etc/postgresql/12/main/pg_hba.conf を書き換えて,全ユーザ の md5 認証を有効にする.
そのために,次のように設定する.
local all all md5
上の設定を行わないと,「Peer authentication failed...」というメッセージが出る.このメッセージから,md5 認証ができていないことになる.
- PostgreSQL サーバの再起動
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main restart sudo pg_ctlcluster 12 main status
- 認証に関する動作確認
ここでは,上の設定を行ったあとも, 引き続きpostgres は peer 認証できることを確認しておく.
sudo -u postgres psql \q
postgresql.conf の設定例
設定例.
shared_buffers = 4GB
work_mem = 1GB
max_files_per_process = 1000
effective_cache_size = 16GB
ImageMagick のインストール(Ubuntu 上)
- ImageMagick のインストール
sudo apt -y update sudo apt -y install imagemagick
Redmine, puma のインストールと Redmine の基本設定
ここでの基本設定の内容
- データベースアダプタ: pgsql
- データベースシステムのサイト: localhost
- Redmine, puma のアンインストール
旧バージョンが残っている可能性がある.アンインストールの操作を行う.
sudo apt --purge remove redmine redmine-pgsql puma sudo rm -rf /usr/share/redmine sudo rm -rf /var/www/html/redmine sudo rm -rf /etc/dbconfig-common/redmine
- PostgreSQL のデータベース redmine_default の削除
データベース redmine_default が残っている可能性がある. Redmine のインストールの前に,削除の操作を行う
sudo -u postgres psql drop database redmine_default; \q
- Redmine, puma のインストール
sudo apt -y update sudo apt -y install redmine redmine-pgsql puma
- このとき、redmine/instances/default 用のデータベースを生成
- データベースアダプタとして pgsql を選ぶ
- データベースシステムのサイトとして localhost を選ぶ
- redmine/instances/default 用の PostgreSQL アプリケーションパスワードを設定
パスワードは, 「ahsd1677ggha」のように,英字と数字を混ぜ,長いものがよい. 必ず独自に設定してください.
同じものを2回入れる.
- Redmine, puma のインストール終了の確認
エラーメッセージが出ていないこと.よく確認する. PostgreSQL の設定などが原因でエラーメッセージが出る場合がある. エラーメッセージが出ている場合には,続行せずに,やり直す.
- Redmine のバージョン確認
more /usr/share/redmine/lib/redmine/version.rb
- PostgreSQL で,新しく作成されたロール名,データベース名を確認する.
- 新しく作成されたデータベース名: redmine_default
- 新しく作成されたロール名: redmine/instances/default
sudo -u postgres psql \l \du \q
3. Redmine の設定確認,動作確認
【関連する外部ページ】: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
Redmine の設定確認
データベースアダプタ,使用するデータベース名,使用するロール名 が自動設定されている.
今度の運用のために,設定内容を確認する.
sudo cat /etc/redmine/default/database.yml

上の実行結果では,次のことが確認できる.
- データベースアダプタ: postgresql
- 使用するデータベース名: redmine_default
- 使用するロール名: redmine/instances/default
Webrick を用いた動作確認
この手順は必要というわけではない. 「Apache Webサーバを使わずに,Redmine の機能をテストしたい」というときのために, Webrick サーバを使い Redmine を運用する手順を説明しておく.
私は,「Redmine で,Webrick サーバを使うのはテスト用」 「Redmine の本番運用には,Apache を使う」と考えている.
https://www.redmine.org/projects/redmine/wiki/redmineinstall の記載による
- Redmine のための Webrick サーバのテスト実行(Webrick サーバが起動する)
サーバの起動メッセージを確認.
cd /usr/share/redmine sudo bundle exec rails server webrick -e production
- 別の端末を用いて,次を実行
Web ブラウザに Redmine の画面が表示されることを確認.
http://localhost:3000/
- ID: 「admin」,password: 「admin」でログイン.
- 初回起動時には,管理者のパスワードの設定
- 各種の設定
設定を行うときは,「個人設定(My account)」をクリック
次のような設定画面が開く
- CTRL + c キー(同時押し)で,Webrick サーバを停止
4. Apache2 サーバによる運用の設定
Apache2 のインストール(Ubuntu 上)
- /usr/share/redmine/public と /usr/share/redmine/instances/default/config/secret_key.txt の所有者の設定
Apache の公開ディレクトリの下に,Redmine の公開ファイルへのリンクを作る操作も行う
# sudo ln -s /usr/share/redmine/public /var/www/html/redmine # sudo chown -R www-data:www-data /usr/share/redmine/public # sudo chown www-data:www-data /usr/share/redmine/instances/default/config/secret_key.txt
- apache2 のインストール
sudo apt -y update sudo apt -y install apache2 apache2-dev
- Web ブラウザで http://127.0.0.1/index.html を開き apache の動作確認
firefox http://127.0.0.1/index.html
Passegner のインストール
- Passenger のインストール,Apache 用 Passenger モジュールのインストール
sudo apt -y update sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config sudo apt -y install libcurl4 libcurl4-openssl-dev zlib1g-dev apache2-ssl-dev sudo apt -y install ruby ruby-dev ruby-rails gem rake sudo gem install passenger sudo passenger-install-apache2-module --auto --languages ruby
- Apache 用 Passenger モジュールのインストールの結果の確認
エラーメッセージが出ていないことを確認する.
そして,画面に,次のように,追加作業の指示が出るので確認する.
LoadModule passenger_module /var/lib/gems/2.7.0/gems/passenger-6.0.8/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.7.0/gems/passenger-6.0.8 PassengerDefaultRuby /usr/bin/ruby2.7 </IfModule>
- いま,表示された追加作業の指示は,次のコマンドの実行により,いつでも確認できる.
passenger-install-apache2-module --snippet
Redmine を Apache で運用するための設定と動作確認
- passenger のログファイルの場所の確認
次のコマンドを実行.「Error log file」の表示により確認できる. passenger がうまく動かないときなどには,ログファイルを確認すること.
これは,passenger のインストールができたかの確認でもある.
passenger-config --detect-apache2
- Redmine の公開ファイルの確認
ls -al /usr/share/redmine/public
- /etc/apache2/sites-available/000-default.conf の設定
次のように設定する
- Redmine の プログラムの場所: /usr/share/redmine
- Redmine の プログラムのうち公開するもの: /usr/share/redmine/public
- Web アクセスするときの URL: /redmine
- Apache 用 Passenger モジュールのインストールのときに表示された指示通りに設定する.
- Passenger の設定として,PassengerDefaultRuby,PassengerDefaultUser を設定する
【関連する外部ページ】 https://redmine.jp/tech_note/passenger-options/
- まず,次のように設定する.
<Directory "/usr/share/redmine/public"> Allow from all Require all granted </Directory> Alias /redmine /usr/share/redmine/public <Location /redmine> PassengerBaseURI /redmine PassengerAppRoot /usr/share/redmine </Location>
- 次のコマンドを実行
passenger-install-apache2-module --snippet
この通りに, /etc/apache2/sites-available/000-default.conf の末尾に追加する.
これで,Apache 用 Passenger モジュールのインストールのときに表示された指示通りに設定できた.
次の1行を書き加える.
PassengerDefaultUser www-data
- Apache の設定ファイルを書き換えたので,Apache を再起動
/usr/sbin/apachectl configtest sudo service apache2 restart
- Web ブラウザで http://127.0.0.1/redmine を開き apache の動作確認
firefox http://127.0.0.1/redmine