Redmineは、人気のあるオープンソースのプロジェクト管理Webアプリケーションです。 MySQLやPostgreSQLなどの市長データベースをバックエンドとしてサポートします。また、インストールに付属のWEBrick(本番環境での使用を推奨)WebサーバーからフロントエンドをApacheに変更することもできます。この記事では、PostgreSQLをバックエンドとして使用して最新のRedmineをRHEL 8 / CentOS 8にインストールしますが、テストを完全に提供するデフォルトのWEBrickをフロントエンドのままにします。
このプロセスが簡単で、エラーがないことを期待しないでください。手紙のこれらの手順を実行しても、いくつかのエラーが確実に発生します。セットアップはsudo
を処理しているようです。 手順はやや一貫性がありませんが、これらのエラーをガイドするソリューションも含まれています。
このチュートリアルでは、次のことを学びます。
- 必要なオペレーティングシステムパッケージをインストールする方法
- データベースの設定方法
- Redmineアプリケーションをインストールする方法
- アプリケーションを起動してログインする方法
RHEL8でのRedmineの設定ページ。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
Redmine 4.0.3、PostgreSQL 10.5 | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Redhat8にredmineをインストールする方法ステップバイステップの説明
RedmineはRubyアプリケーションです。インストールには、rubygems
を使用する必要があります およびbundler
、そして多くの依存関係をコンパイルするので、しばらく時間がかかります。サブスクリプション管理を有効にしてオペレーティングシステムの依存関係を解決した後に利用可能なRedHatリポジトリを使用します。データベースの一般的なセットアップの詳細については、RHEL8のPostgreSQLインストールガイドを参照してください。この記事では、Redmineに必要な手順のみを説明します。データベースの設定が新しい場合は、initdb
を完了することを忘れないでください 上記のガイドの手順を実行しないと、データベースの起動に失敗します。
- アプリケーションの所有者となるユーザーを作成し、一時的に
sudo
を付与します アクセス。インストールが完了すると、このアクセスを取り消すことができます。# useradd redmine
新しいユーザーのパスワードを設定する必要があります。このパスワードは、
sudo
を使用するときに使用します。 :# passwd redmine
RHELベースのディストリビューションには、
wheel
があります。sudo
の使用を許可されているユーザーグループ 特権コマンドを実行します。このグループがsudoer
として設定されていることを確認するには 、grep
/etc/sudoers
ファイル:# grep "%wheel" /etc/sudoers %wheel ALL=(ALL) ALL # %wheel ALL=(ALL) NOPASSWD: ALL
NOPASSWDオプションの2行目はコメント化されており、ニーズに適合します。上記の構成が整ったら、
redmine
を追加するだけです。wheel
へのユーザー グループ:# usermod -a -G wheel redmine
- オペレーティングシステムが提供するパッケージをインストールするには、
dnf
を使用します :# dnf install kernel-devel kernel-headers gcc postgresql-devel ruby ruby-devel rubygems
- アプリケーションを入手するには、公式ダウンロードサイト(Redmineで実行されている)にアクセスしてください。ここから、圧縮された
tarball
をダウンロードできます。wget
を使用 ターゲットシステムへ:# wget https://www.redmine.org/releases/redmine-4.0.3.tar.gz -O /opt/redmine-4.0.3.tar.gz
上記のコマンドが示すように、アプリケーションを
/opt
の下にインストールします ディレクトリ。このディレクトリに切り替えて、アーカイブを抽出します:# cd /opt # tar -xzf redmine-4.0.3.tar.gz
オプションで、
symlink
を作成することもできます アクセスを簡単にするために–この方法では、正確なバージョンを覚えておく必要はありません:# ln -s /opt/redmine-4.0.3 /opt/redmine
これで、
redmine
を設定できます 抽出されたディレクトリ階層の所有者としてのユーザー、再帰的に:# chown -R redmine:redmine /opt/redmine*
- アプリケーションの接続用にデータベースをセットアップするには、データベースがまだ実行されていない場合は起動する必要があります。
# systemctl start postgresql
- アプリケーションがデータを保存する空のデータベースを作成する必要があります。そのために、
postgres
に切り替えます データベースのインストール時にデフォルトで作成されるオペレーティングシステムユーザー:# su - postgres
psql
にログインします データベースのスーパーユーザーとして:$ psql psql (10.5) Type "help" for help. postgres=#
の場合は「help」と入力しますアプリケーションで使用される役割を作成します(ユーザー名とパスワードを書き留めます):
postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'R3DM1N3' NOINHERIT VALID UNTIL 'infinity';
また、上記で作成した所有者を使用して新しいデータベースを作成します:
postgres=# CREATE DATABASE rmdb WITH ENCODING='UTF8' OWNER=redmine;
後の手順で、ユーザー名、パスワード、エンコーディング、データベース名が必要になります。
- ユーザーが設定されたので、データベースサーバーへのログインを許可する必要があります。 redmineユーザーはローカルに接続するため、
pg_hba.conf
に次の行を追加します ファイル。デフォルトでは/var/lib/pgsql/data
にあります。 デフォルトでは、RHELベースのディストリビューション:host rmdb redmine 127.0.0.1/32 md5
構成ファイルで次のことを確認してください。
# IPv4 local connections: host all all 127.0.0.1/32 ident
そのような行がある場合は、コメントアウトしてください。設定する予定のログインと競合します。
- これで、設定を有効にするためにデータベースを再起動する必要があります。
# systemctl restart postgresql
- これで、データベースをどこでどのように見つけるかをアプリケーションに伝えるために必要なすべての情報が得られました。
config
には、サポートされているすべてのデータベースを含むデータベース接続構成ファイルの例があります。 抽出されたアーカイブのサブディレクトリ。このファイルのコピーを作成できます(redmine
を使用) user):$ cp config/database.yml.example config/database.yml
PostgreSQLに関連する設定以外のすべてのサンプル設定を削除またはコメントアウトするか、必要な構成で空のファイルを作成することができます(そのようにファイルに残るジャンクが少なくなります)。最後に、
/opt/redmine/config/database.yml
次のものが含まれている必要があります:# PostgreSQL configuration production: adapter: postgresql database: rmdb host: 127.0.0.1 username: redmine password: "R3DM1N3"
最後の2つの手順で設定したデータベース接続情報を使用したことに注意してください。
- 発生する可能性のある問題の数を減らすために、
rmdb
にログインできることをテストします 構成ファイルで提供された資格情報を持つデータベース。 PostgreSQLツールセットとの接続の問題をデバッグするのは他のどのツールよりも簡単です。$ psql -d rmdb -U redmine -W Password for user redmine: psql (10.5) Type "help" for help. rmdb=>
- ここで簡単な部分が終わります。次に、Redmineが依存するさまざまなRubyパッケージをインストールします。それらのいくつかは
root
が必要です アクセス、一部はredmine
の名前でインストールされます ユーザー、そして後でいくつかはおそらく修理が必要になります。冗談じゃない。まず、bundler
が必要です :# gem install bundler Fetching: bundler-2.0.1.gem (100%) Successfully installed bundler-2.0.1 1 gem installed
bundler
を使用しますredmine
で ユーザーですが、root
も必要ですRuby gems
をインストールまたは修復するには 、別のターミナルを開いて、redmine
に切り替えることをお勧めします ユーザーをクリックし、/opt/redmine
に移動します ルートコンソールを開いたままにして、ディレクトリを作成します。 -
redmine
として ユーザーの場合、/opt/redmine
でインストールを開始します ディレクトリ:$ bundle install --without development test rmagick
多くの依存関係がインストールされ、一部のインストーラーは
sudo
を要求します password –これはredmine
のパスワードです ユーザー。このsudo機能はどういうわけか少し壊れているようで、root特権パッケージのインストールの一部を処理でき、他の機能を利用できません。失敗したものはルートコンソールにインストールでき、上記のbundle
コマンドは、redmineユーザーのコンソールで再度実行できます。root
を使用して私の場合にインストールする必要があったもの 次のとおりです:# gem install nokogiri -v '1.10.2' --source 'https://rubygems.org/' # gem install pg -v '1.1.4' --source 'https://rubygems.org/'
インストール中に壊れた可能性のあるパッケージもいくつかあります。これらはルートコンソールでも修復できます。上記の失敗したパッケージのインストール手順と同様に、
bundler
の出力 コマンドは、どのパッケージに問題が発生したか、およびそれを解決する方法を示します。私の場合、次のパッケージを修復する必要がありました:# gem pristine nio4r --version 2.3.1 # gem pristine redcarpet --version 3.4.0 # gem pristine websocket-driver --version 0.7.0
別のバージョンのRedmineをインストールする場合は、パッケージのバージョン番号が異なる可能性があることに注意してください。壊れたパッケージと不足しているパッケージをすべて修正した後、
bundle
コマンドはエラーなしで完了し、出力は次のようになります。[...] Installing roadie-rails 1.3.0 Fetching rouge 3.3.0 Installing rouge 3.3.0 Bundle complete! 26 Gemfile dependencies, 57 gems now installed. Gems in the groups development, test and rmagick were not installed. Use `bundle info [gemname]` to see where a bundled gem is installed.
- トリッキーな部分が完了したら、セッションCookieのエンコードに使用されるトークンを生成する必要があります。
$ bundle exec rake generate_secret_token
- 次に、アプリケーションに必要なデータベースオブジェクトを生成します。
$ RAILS_ENV=production bundle exec rake db:migrate
必要なデータベースオブジェクトを作成する以外に、このステップでは、すべてのステップをコンソールに記録することにより、多くの出力を生成します。次のようなエントリがたくさん表示されます:
[...] == 20180913072918 AddVerifyPeerToAuthSources: migrating ======================= -- change_table(:auth_sources) -> 0.0082s == 20180913072918 AddVerifyPeerToAuthSources: migrated (0.0083s) ============== == 20180923082945 ChangeSqliteBooleansTo0And1: migrating ====================== == 20180923082945 ChangeSqliteBooleansTo0And1: migrated (0.0000s) =============
このプロセスは数秒で完了するはずです。
- 入力されたデータベースを
psql
で確認できます :rmdb=> \dt List of relations Schema | Name | Type | Owner --------+-------------------------------------+-------+--------- public | ar_internal_metadata | table | redmine public | attachments | table | redmine public | auth_sources | table | redmine public | boards | table | redmine public | changes | table | redmine [...]
- インストールの最後のステップは、デフォルトのデータをデータベースにロードすることです。
REDMINE_LANG
を提供する パラメータは、初期ロード中に質問から自分自身を救うことができます。$ RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data Default configuration data loaded.
- インストールが完了しました。アプリケーションを起動できます:
$ bundle exec rails server webrick -e production => Booting WEBrick => Rails 5.2.2.1 application starting in production on http://0.0.0.0:3000 => Run `rails server -h` for more startup options [2019-04-14 18:39:12] INFO WEBrick 1.4.2 [2019-04-14 18:39:12] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux] [2019-04-14 18:39:12] INFO WEBrick::HTTPServer#start: pid=30062 port=3000
- これでアプリケーションが実行され、ブラウザからアクセスできるようになりました。上記の出力から、ポート
3000
でアクセス可能であると推測できます。 したがって、ターゲットマシンでファイアウォールが実行されている場合、サービスにリモートでアクセスするには、このポートを開く必要があります。# firewall-cmd --zone=public --add-port=3000/tcp --permanent # firewall-cmd --reload
- ブラウザを開いてマシンのアドレスとポート3000(下のスクリーンショットのhttp://192.168.1.14:3000)をポイントすると、新しいRedmineインストールのWebベースのインターフェイスにアクセスできます。 Redmineのログインページ。
デフォルトの資格情報は
admin
です ユーザー名用、およびパスワード用。最初のログイン時に、正常に動作するアプリケーションは、この特権アカウントのパスワード変更を求めるプロンプトを表示します。そこから、サービスは私たちが作成し、構成し、楽しむためのものです。 - インストールが完了したら、
redmine
を削除できますwheel
のユーザー グループ、プロセス中に必要なセキュリティホールを排除します:# gpasswd -d redmine wheel Removing user redmine from group wheel # id redmine uid=1008(redmine) gid=1008(redmine) groups=1008(redmine)