Redmineの導入(RHEL8編)
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* Redmineの導入 [#wa722c9e]
公式dockerイメージとpodmanを用いて、RHEL8にRedmineを導...
gitやsvnの認証をRedmineと統合するのに必要な「mod_perl」...
また、導入には[[Ansible]]を用い、以下の導入作業は(導入...
#contents
** 導入サーバの前提条件 [#zd6f11f2]
+ OSはRHEL7(or CentOS7)かそれ以降の版とする。
+ 事前導入するソフトウェアパッケージは最小構成。
+ インターネットに接続可能 ※必要ならproxy設定
/etc/dnf/dnf.conf
proxy=http://proxy.jomura.net:8080/ #as your own
/etc/profile.d/http_proxy.sh
export HTTP_PROXY=http://proxy.jomura.net:8080/ #as ...
export HTTPS_PROXY=${HTTP_PROXY}
+ パッケージの更新が事前に実行されている
dnf clean all && dnf -y update && reboot
** 導入準備 [#g2a13c78]
*** configuration.yml [#q7e124c4]
- &ref(configuration.yml);
- Ansibleサーバ上の導入作業用ディレクトリ(どこでも可)に配...
- Redmineの設定ファイル
- SMTP情報など、環境に応じて編集しておく。
*** settings.sql [#xac1b7f0]
- &ref(settings.sql);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- Redmineのsettings表のデータ
- 好みに合わせて編集しておく。後で画面から変更もできる。
*** コンテナ用環境変数ファイルの作成 [#fe007076]
- Ansibleサーバ上の導入作業用ディレクトリで実行する。
- 作業用ディレクトリに書き込み権限のある一般ユーザで実行...
cat << _EOF_ > dot-env
REDMINE_PATH={{ redmine_path }}
TZ=Asia/Tokyo
MYSQL_ROOT_PASSWORD=$(< /dev/urandom tr -dc 'A-Za-z0-9!$...
REDMINE_DB_MYSQL=mysql
REDMINE_DB_DATABASE=redmine
REDMINE_DB_USERNAME=redmine
REDMINE_DB_PASSWORD=$(< /dev/urandom tr -dc 'A-Za-z0-9!$...
REDMINE_DB_ENCODING=utf8mb4
REDMINE_MEMCACHED=memcached
_EOF_
chmod go-rwx docker-env
- catに指定する _EOF_ を"でくくってはいけない。urandamコ...
*** ansible playbook [#jc77d63e]
- &ref(pb_its_server-redmine.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleの[[inventoryファイル>Ansib...
- TODO: Redmine.pmを用いてgit/svnのLDAP認証をするなら、pe...
** 導入実施 [#ueaeb6d2]
*** playbookの実行 [#tce4a7d7]
- Ansibleサーバ上の一般ユーザで実行
- 実行前に文法チェックしよう
ansible-playbook -i inventory.yml pb_its_server-redmine....
- 問題なければ実行
ansible-playbook -i inventory.yml pb_its_server-redmine....
** 補足 [#x4427712]
+ mysqlコンテナを停止・削除すると、DBデータはどうなる?
mysqlコンテナを停止・削除しても、ホストの /var/lib/mysq...
+ MySQLへの設定追加
ホストの/srv/mysql/conf.d/redmine.cnf に永続化されてい...
ファイルに記述する前に、"set global …"コマンドを用いて...
また、slow queryの常時出力設定は不要と考えている。必要...
set global slow_query_log_file = 'slow.log';
set global long_query_time = 5;
set global slow_query_log = ON;
+ mysql_native_passwordの指定は必要?
defaultのsha2_passwordにrailsが対応していない場合を考慮...
+ MySQLやmemcashedは、コンテナではなく、ホスト側にrpm導入...
それもシンプルで好いかも。podmanなら127.0.0.1で参照でき...
+ RedmineのURLに、コンテキストパス(/redmine)を設定できる?
[[RedmineのWebサイト>https://hub.docker.com/_/redmine]]...
+ Redmine導入用のplaybookに、git用のタスクがあるんだけど
gitリポジトリ用のSELinux設定は、コンテナ作成前に実施す...
+ ログの循環
Redmineのproduction.logは、additional_environment.rbで...
httpd-perlコンテナのログは、あえて未設定。各自対処して...
** Redmine Pluginの導入 [#v146f34a]
導入しなくても、Redmineは使えるが…。
*** ansible playbook [#u34924ce]
- &ref(pb_its_server-plugin.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
- pluginは好みで追加してください。
*** playbookの実行 [#bde1be95]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-plugin.yml
** Gitの導入 [#k595d970]
http://{hostname}/git/{repos_name} でアクセスするGitサ...
導入しなくても、Redmineは使える。
*** httpd用設定ファイルの作成 [#nc3df193]
- &ref(repos-git.conf);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
*** ansible playbook [#g47ca987]
- &ref(pb_its_server-git.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
*** playbookの実行 [#be9ebb56]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-git.yml
** Subversionの導入 [#m35b32a5]
http://{hostname}/svn/{repos_name} でアクセスするSubver...
導入しなくても、Redmineは使える。
*** httpd用設定ファイルの作成 [#x9d4ac4b]
- &ref(repos-svn.conf);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
*** ansible playbook [#e1559e43]
- &ref(pb_its_server-svn.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
*** playbookの実行 [#h1486b3a]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-svn.yml
* 管理作業 [#p0d7abe6]
** Gitリポジトリの新規作成 [#cb0b1e6a]
- 導入対象のサーバにおいて、"users"グループのユーザで、下...
gitcreate.sh ${リポジトリ名}
- リポジトリ名の"."より前は、Redmineプロジェクトの"識別子...
- リポジトリ名の"."より後は、リポジトリを区別できる任意の...
** Subversionリポジトリの新規作成 [#a7adfeac]
- 導入対象のサーバにおいて、"users"グループのユーザで、下...
svncreate.sh ${リポジトリ名}
- リポジトリ名の"."より前は、Redmineプロジェクトの"識別子...
- リポジトリ名の"."より後は、リポジトリを区別できる任意の...
** 異常停止などで、http-perlが起動しなくなった場合 [#e0a3...
- OSが異常停止したりすると、「pidが既にある」とか言って、...
- &ref(rerun_http-perl.sh); のように、コンテナを作り直せ...
** 各コンテナのバージョンアップ [#u435634c]
- &ref(pb_its_server-redmine_update.yml);
- イメージをpullできたら、コンテナを一旦削除する。
終了行:
* Redmineの導入 [#wa722c9e]
公式dockerイメージとpodmanを用いて、RHEL8にRedmineを導...
gitやsvnの認証をRedmineと統合するのに必要な「mod_perl」...
また、導入には[[Ansible]]を用い、以下の導入作業は(導入...
#contents
** 導入サーバの前提条件 [#zd6f11f2]
+ OSはRHEL7(or CentOS7)かそれ以降の版とする。
+ 事前導入するソフトウェアパッケージは最小構成。
+ インターネットに接続可能 ※必要ならproxy設定
/etc/dnf/dnf.conf
proxy=http://proxy.jomura.net:8080/ #as your own
/etc/profile.d/http_proxy.sh
export HTTP_PROXY=http://proxy.jomura.net:8080/ #as ...
export HTTPS_PROXY=${HTTP_PROXY}
+ パッケージの更新が事前に実行されている
dnf clean all && dnf -y update && reboot
** 導入準備 [#g2a13c78]
*** configuration.yml [#q7e124c4]
- &ref(configuration.yml);
- Ansibleサーバ上の導入作業用ディレクトリ(どこでも可)に配...
- Redmineの設定ファイル
- SMTP情報など、環境に応じて編集しておく。
*** settings.sql [#xac1b7f0]
- &ref(settings.sql);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- Redmineのsettings表のデータ
- 好みに合わせて編集しておく。後で画面から変更もできる。
*** コンテナ用環境変数ファイルの作成 [#fe007076]
- Ansibleサーバ上の導入作業用ディレクトリで実行する。
- 作業用ディレクトリに書き込み権限のある一般ユーザで実行...
cat << _EOF_ > dot-env
REDMINE_PATH={{ redmine_path }}
TZ=Asia/Tokyo
MYSQL_ROOT_PASSWORD=$(< /dev/urandom tr -dc 'A-Za-z0-9!$...
REDMINE_DB_MYSQL=mysql
REDMINE_DB_DATABASE=redmine
REDMINE_DB_USERNAME=redmine
REDMINE_DB_PASSWORD=$(< /dev/urandom tr -dc 'A-Za-z0-9!$...
REDMINE_DB_ENCODING=utf8mb4
REDMINE_MEMCACHED=memcached
_EOF_
chmod go-rwx docker-env
- catに指定する _EOF_ を"でくくってはいけない。urandamコ...
*** ansible playbook [#jc77d63e]
- &ref(pb_its_server-redmine.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleの[[inventoryファイル>Ansib...
- TODO: Redmine.pmを用いてgit/svnのLDAP認証をするなら、pe...
** 導入実施 [#ueaeb6d2]
*** playbookの実行 [#tce4a7d7]
- Ansibleサーバ上の一般ユーザで実行
- 実行前に文法チェックしよう
ansible-playbook -i inventory.yml pb_its_server-redmine....
- 問題なければ実行
ansible-playbook -i inventory.yml pb_its_server-redmine....
** 補足 [#x4427712]
+ mysqlコンテナを停止・削除すると、DBデータはどうなる?
mysqlコンテナを停止・削除しても、ホストの /var/lib/mysq...
+ MySQLへの設定追加
ホストの/srv/mysql/conf.d/redmine.cnf に永続化されてい...
ファイルに記述する前に、"set global …"コマンドを用いて...
また、slow queryの常時出力設定は不要と考えている。必要...
set global slow_query_log_file = 'slow.log';
set global long_query_time = 5;
set global slow_query_log = ON;
+ mysql_native_passwordの指定は必要?
defaultのsha2_passwordにrailsが対応していない場合を考慮...
+ MySQLやmemcashedは、コンテナではなく、ホスト側にrpm導入...
それもシンプルで好いかも。podmanなら127.0.0.1で参照でき...
+ RedmineのURLに、コンテキストパス(/redmine)を設定できる?
[[RedmineのWebサイト>https://hub.docker.com/_/redmine]]...
+ Redmine導入用のplaybookに、git用のタスクがあるんだけど
gitリポジトリ用のSELinux設定は、コンテナ作成前に実施す...
+ ログの循環
Redmineのproduction.logは、additional_environment.rbで...
httpd-perlコンテナのログは、あえて未設定。各自対処して...
** Redmine Pluginの導入 [#v146f34a]
導入しなくても、Redmineは使えるが…。
*** ansible playbook [#u34924ce]
- &ref(pb_its_server-plugin.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
- pluginは好みで追加してください。
*** playbookの実行 [#bde1be95]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-plugin.yml
** Gitの導入 [#k595d970]
http://{hostname}/git/{repos_name} でアクセスするGitサ...
導入しなくても、Redmineは使える。
*** httpd用設定ファイルの作成 [#nc3df193]
- &ref(repos-git.conf);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
*** ansible playbook [#g47ca987]
- &ref(pb_its_server-git.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
*** playbookの実行 [#be9ebb56]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-git.yml
** Subversionの導入 [#m35b32a5]
http://{hostname}/svn/{repos_name} でアクセスするSubver...
導入しなくても、Redmineは使える。
*** httpd用設定ファイルの作成 [#x9d4ac4b]
- &ref(repos-svn.conf);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
*** ansible playbook [#e1559e43]
- &ref(pb_its_server-svn.yml);
- Ansibleサーバ上の導入作業用ディレクトリに配置する。
- "become_method"は、"sudo"でも"su"でも可。
-- パスワードが必要ならansibleのinventoryファイルなどに書...
*** playbookの実行 [#h1486b3a]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_its_server-svn.yml
* 管理作業 [#p0d7abe6]
** Gitリポジトリの新規作成 [#cb0b1e6a]
- 導入対象のサーバにおいて、"users"グループのユーザで、下...
gitcreate.sh ${リポジトリ名}
- リポジトリ名の"."より前は、Redmineプロジェクトの"識別子...
- リポジトリ名の"."より後は、リポジトリを区別できる任意の...
** Subversionリポジトリの新規作成 [#a7adfeac]
- 導入対象のサーバにおいて、"users"グループのユーザで、下...
svncreate.sh ${リポジトリ名}
- リポジトリ名の"."より前は、Redmineプロジェクトの"識別子...
- リポジトリ名の"."より後は、リポジトリを区別できる任意の...
** 異常停止などで、http-perlが起動しなくなった場合 [#e0a3...
- OSが異常停止したりすると、「pidが既にある」とか言って、...
- &ref(rerun_http-perl.sh); のように、コンテナを作り直せ...
** 各コンテナのバージョンアップ [#u435634c]
- &ref(pb_its_server-redmine_update.yml);
- イメージをpullできたら、コンテナを一旦削除する。
ページ名: