金子邦彦研究室インストールUbuntu, WSL2プロジェクト管理ソフトウェア Redmine 4.0 のインストールと設定(Ubuntu 20.04 上)

プロジェクト管理ソフトウェア Redmine 4.0 のインストールと設定(Ubuntu 20.04 上)

Redmine とはプロジェクト管理ソフトウェア

次の機能がある.

Ubuntu 20.04 でのインストールの要点は次の通り

関連する外部ページhttps://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step

1. 前準備

UbuntuUbuntu で OS のシステム更新を行うときは, 次のコマンドを実行.

UbuntuUbuntu のインストールは別ページ »で説明

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 上)

  1. 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
    
  2. PostgreSQL サーバを起動開始

    エラーメッセージが出ていなければ OK.

    sudo pg_ctlcluster 12 main start
    sudo pg_ctlcluster 12 main status
    

    [image]
  3. PostgreSQL の認証は peer 認証が設定されていることを確認

    sudo cat /etc/postgresql/12/main/pg_hba.conf
    

    [image]
  4. PostgreSQL の動作確認

    Ubuntu のユーザ postgres と peer 認証により,PostgreSQL の psql を使ってみる.

    「\c」により,使用されている PostgreSQL のロール名と,オープンされているデータベース名を確認.

    確認したら,「\q」により終了.

    sudo -u postgres psql
    \c
    \q
    

    [image]
  5. データベースの確認

    postgres, template0, template1 の 3 つのデータベースが表示されることを確認.

    sudo -u postgres psql
    \l
    \q
    

    [image]

    [image]
  6. psql のバージョン確認
    psql --version
    

    [image]

PostgreSQL の認証設定

  1. PostgreSQL の認証は peer 認証が設定されていることを確認

    sudo cat /etc/postgresql/12/main/pg_hba.conf
    

    [image]

    PostgreSQL での新しいロールの追加と md5 認証の設定

    これは,「Redmine のインストール」に必要な設定ではない. PostgreSQL での新しいロールの追加と md5 認証の設定を試したいときのためのもの.

    下の手順で,PostgreSQL で,新しいロール testuser を作成し md5 認証できるように設定してみる

    1. PostgreSQL で,新しいロール testuser を作成

      パスワードは,下のものをそのまま使うのでなく,必ず独自に設定してください.

      sudo -u postgres psql
      create role "testuser" with login encrypted password 'hoge7618mhty';
      \du
      \q
      

      [image]
    2. /etc/postgresql/12/main/pg_hba.conf を書き換えて,testuser の md5 認証を有効にする.

      そのために,次の1行を追加する

      local   all             testuser                                md5
      

      [image]
    3. PostgreSQL サーバの再起動

      エラーメッセージが出ていなければ OK.

      sudo pg_ctlcluster 12 main restart
      sudo pg_ctlcluster 12 main status
      

      [image]
    4. 新しいロール testuser で,md5 認証により psql を使用できるか確認する.

      md5 認証のときは psql -U <ロール名> -d <データベース名>

      psql -U testuser -d postgres
      \c
      \q
      

      [image]
  2. 全ユーザ の md5 認証を有効にする.

    /etc/postgresql/12/main/pg_hba.conf を書き換えて,全ユーザ の md5 認証を有効にする.

    そのために,次のように設定する.

    local   all             all                                md5
    

    [image]

    上の設定を行わないと,「Peer authentication failed...」というメッセージが出る.このメッセージから,md5 認証ができていないことになる.

  3. PostgreSQL サーバの再起動

    エラーメッセージが出ていなければ OK.

    sudo pg_ctlcluster 12 main restart
    sudo pg_ctlcluster 12 main status
    

    [image]
  4. 認証に関する動作確認

    ここでは,上の設定を行ったあとも, 引き続きpostgres は peer 認証できることを確認しておく.

    sudo -u postgres psql
    \q
    

    [image]

postgresql.conf の設定例

設定例.

shared_buffers = 4GB
work_mem = 1GB
max_files_per_process = 1000
effective_cache_size = 16GB

ImageMagick のインストール(Ubuntu 上)

  1. ImageMagick のインストール

    sudo apt -y update
    sudo apt -y install imagemagick
    

    [image]

Redmine, puma のインストールと Redmine の基本設定

ここでの基本設定の内容

  1. 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
    

    [image]
  2. PostgreSQL のデータベース redmine_default の削除

    データベース redmine_default が残っている可能性がある. Redmine のインストールの前に,削除の操作を行う

    sudo -u postgres psql
    drop database redmine_default;
    \q
    

    [image]
  3. Redmine, puma のインストール
    sudo apt -y update
    sudo apt -y install redmine redmine-pgsql puma
    

    [image]
  4. このとき、redmine/instances/default 用のデータベースを生成

    [image]
  5. データベースアダプタとして pgsql を選ぶ

    [image]
  6. データベースシステムのサイトとして localhost を選ぶ

    [image]
  7. redmine/instances/default 用の PostgreSQL アプリケーションパスワードを設定

    パスワードは, 「ahsd1677ggha」のように,英字と数字を混ぜ,長いものがよい. 必ず独自に設定してください.

    [image]

    同じものを2回入れる.

    [image]
  8. Redmine, puma のインストール終了の確認

    エラーメッセージが出ていないこと.よく確認する. PostgreSQL の設定などが原因でエラーメッセージが出る場合がある. エラーメッセージが出ている場合には,続行せずに,やり直す.

    [image]
  9. Redmine のバージョン確認
    more /usr/share/redmine/lib/redmine/version.rb
    

    [image]
  10. PostgreSQL で,新しく作成されたロール名,データベース名を確認する.

    sudo -u postgres psql
    \l
    \du
    \q
    

    [image]

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

[image]

上の実行結果では,次のことが確認できる.

Webrick を用いた動作確認

この手順は必要というわけではない. 「Apache Webサーバを使わずに,Redmine の機能をテストしたい」というときのために, Webrick サーバを使い Redmine を運用する手順を説明しておく.

私は,「Redmine で,Webrick サーバを使うのはテスト用」 「Redmine の本番運用には,Apache を使う」と考えている.

https://www.redmine.org/projects/redmine/wiki/redmineinstall の記載による

  1. Redmine のための Webrick サーバのテスト実行(Webrick サーバが起動する)

    サーバの起動メッセージを確認.

    cd /usr/share/redmine
    sudo bundle exec rails server webrick -e production
    

    [image]
  2. 別の端末を用いて,次を実行

    Web ブラウザに Redmine の画面が表示されることを確認.

    http://localhost:3000/
    

    [image]
  3. ID: 「admin」,password: 「admin」でログイン.

    [image]
  4. 初回起動時には,管理者のパスワードの設定

    [image]
  5. 各種の設定

    設定を行うときは,「個人設定(My account)」をクリック

    [image]

    次のような設定画面が開く

    [image]
  6. CTRL + c キー(同時押し)で,Webrick サーバを停止

    [image]

4. Apache2 サーバによる運用の設定

関連する外部ページhttps://www.redmine.org/projects/redmine/wiki/redmineinstall

Apache2 のインストール(Ubuntu 上)

  1. /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
    
  2. apache2 のインストール
    sudo apt -y update
    sudo apt -y install apache2 apache2-dev
    

    [image]
  3. Web ブラウザで http://127.0.0.1/index.html を開き apache の動作確認
    firefox http://127.0.0.1/index.html
    

    [image]

Passegner のインストール

  1. 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
    
  2. 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>
    

    [image]
  3. いま,表示された追加作業の指示は,次のコマンドの実行により,いつでも確認できる.
    passenger-install-apache2-module --snippet
    

    [image]

Redmine を Apache で運用するための設定と動作確認

  1. passenger のログファイルの場所の確認

    次のコマンドを実行.「Error log file」の表示により確認できる. passenger がうまく動かないときなどには,ログファイルを確認すること.

    これは,passenger のインストールができたかの確認でもある.

    passenger-config --detect-apache2
    

    [image]
  2. Redmine の公開ファイルの確認

    ls -al /usr/share/redmine/public
    

    [image]
  3. /etc/apache2/sites-available/000-default.conf の設定

    次のように設定する

    1. まず,次のように設定する.
      <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>
      

      [image]
    2. 次のコマンドを実行
      passenger-install-apache2-module --snippet
      

      [image]

      この通りに, /etc/apache2/sites-available/000-default.conf の末尾に追加する.

      これで,Apache 用 Passenger モジュールのインストールのときに表示された指示通りに設定できた.

      [image]

      次の1行を書き加える.

        PassengerDefaultUser www-data
      

      [image]
  4. Apache の設定ファイルを書き換えたので,Apache を再起動
    /usr/sbin/apachectl configtest
    sudo service apache2 restart
    

    [image]
  5. Web ブラウザで http://127.0.0.1/redmine を開き apache の動作確認
    firefox http://127.0.0.1/redmine
    

    [image]