次の機能がある.
Ubuntu 20.04 でのインストールの要点は次の通り
運用時のセキュリティ更新のことも考え,なるべく Ubuntu のパッケージを使いたい
全ユーザ の md5 認証を有効にする.
そのために,/etc/postgresql/12/main/pg_hba.conf を書き換える.
local all all md5
一度,Ubuntu のパッケージで頑張ってみたが,Passenger のエラーを解決できなかったため.
http://<サイト名>/redmine は Redmine へのアクセス.
http://<サイト名>/<redmine 以外> は Web コンテンツへのアクセス.
【外部ページへのリンク】https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
Ubuntu で OS のシステム更新を行うときは, 次のコマンドを実行.
Ubuntu のインストールは別ページ »で説明
sudo apt -y update sudo apt -yV upgrade sudo /sbin/shutdown -r now
トラブルを防ぐためにアンインストールを行う. すでに,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
インストールするには, 次のコマンドを実行.
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
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main start sudo pg_ctlcluster 12 main status
sudo cat /etc/postgresql/12/main/pg_hba.conf
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 --version
sudo cat /etc/postgresql/12/main/pg_hba.conf
PostgreSQL での新しいロールの追加と md5 認証の設定
これは,「Redmine のインストール」に必要な設定ではない. PostgreSQL での新しいロールの追加と md5 認証の設定を試したいときのためのもの.
下の手順で,PostgreSQL で,新しいロール testuser を作成し md5 認証できるように設定してみる
パスワードは,下のものをそのまま使うのでなく,必ず独自に設定してください.
sudo -u postgres psql create role "testuser" with login encrypted password 'hoge7618mhty'; \du \q
そのために,次の1行を追加する
local all testuser md5
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main restart sudo pg_ctlcluster 12 main status
md5 認証のときは psql -U <ロール名> -d <データベース名>
psql -U testuser -d postgres \c \q
/etc/postgresql/12/main/pg_hba.conf を書き換えて,全ユーザ の md5 認証を有効にする.
そのために,次のように設定する.
local all all md5
上の設定を行わないと,「Peer authentication failed...」というメッセージが出る.このメッセージから,md5 認証ができていないことになる.
エラーメッセージが出ていなければ OK.
sudo pg_ctlcluster 12 main restart sudo pg_ctlcluster 12 main status
ここでは,上の設定を行ったあとも, 引き続きpostgres は peer 認証できることを確認しておく.
sudo -u postgres psql \q
設定例.
shared_buffers = 4GB work_mem = 1GB max_files_per_process = 1000 effective_cache_size = 16GB
sudo apt -y update sudo apt -y install imagemagick
ここでの基本設定の内容
旧バージョンが残っている可能性がある.アンインストールの操作を行う.
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
データベース redmine_default が残っている可能性がある. Redmine のインストールの前に,削除の操作を行う
sudo -u postgres psql drop database redmine_default; \q
sudo apt -y update sudo apt -y install redmine redmine-pgsql puma
パスワードは, 「ahsd1677ggha」のように,英字と数字を混ぜ,長いものがよい. 必ず独自に設定してください.
同じものを2回入れる.
エラーメッセージが出ていないこと.よく確認する. PostgreSQL の設定などが原因でエラーメッセージが出る場合がある. エラーメッセージが出ている場合には,続行せずに,やり直す.
more /usr/share/redmine/lib/redmine/version.rb
sudo -u postgres psql \l \du \q
【関連する外部ページ】: https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
データベースアダプタ,使用するデータベース名,使用するロール名 が自動設定されている.
今度の運用のために,設定内容を確認する.
sudo cat /etc/redmine/default/database.yml
上の実行結果では,次のことが確認できる.
この手順は必要というわけではない. 「Apache Webサーバを使わずに,Redmine の機能をテストしたい」というときのために, Webrick サーバを使い Redmine を運用する手順を説明しておく.
私は,「Redmine で,Webrick サーバを使うのはテスト用」 「Redmine の本番運用には,Apache を使う」と考えている.
https://www.redmine.org/projects/redmine/wiki/redmineinstall の記載による
サーバの起動メッセージを確認.
cd /usr/share/redmine sudo bundle exec rails server webrick -e production
Web ブラウザに Redmine の画面が表示されることを確認.
http://localhost:3000/
設定を行うときは,「個人設定(My account)」をクリック
次のような設定画面が開く
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
sudo apt -y update sudo apt -y install apache2 apache2-dev
firefox http://127.0.0.1/index.html
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
エラーメッセージが出ていないことを確認する.
そして,画面に,次のように,追加作業の指示が出るので確認する.
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
次のコマンドを実行.「Error log file」の表示により確認できる. passenger がうまく動かないときなどには,ログファイルを確認すること.
これは,passenger のインストールができたかの確認でもある.
passenger-config --detect-apache2
ls -al /usr/share/redmine/public
次のように設定する
【外部ページへのリンク】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
/usr/sbin/apachectl configtest sudo service apache2 restart
firefox http://127.0.0.1/redmine