プロジェクト管理ソフトウェアのOpenProjectとチャットソフトウェアのMattermostを同じサーバにセットアップしたいということで構築手順を整理。
環境
以下のサーバで構築を進める。
項目 | 設定値 | 備考 |
---|---|---|
OS | CentOS 7.6 | ビルドは1810 |
ServerName(メイン) | op.example.jp | OpenProject用 |
ServerName(サブ) | mm.example.jp | Mattermost用 |
IPv4 Address | 192.168.50.10 |
OpenProjectがReverseProxyとしてApacheを利用するため、そこにMattermostを相乗りさせる方針。
ただし、どちらもサブディレクトリで出し分けるのがちょっと面倒なのでVirtualHostを利用してサブドメインで振り分ける。
そのためServerNameは名前解決できるようにする必要がある(hostsに記載するなど)。
本稿ではVagrantBoxを利用。
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.provider "virtualbox" do |vb|
vb.cpus = 2
vb.memory = "8192"
end
config.vm.network :private_network, ip: "192.168.50.10"
config.vm.synced_folder "share/", "/share", owner: "vagrant", group: "vagrant"
config.vm.provision "shell", inline: <<-SHELL
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
yum -y update
yum -y install epel-release
SHELL
end
Virtualbox Guest Additions インストール時パッケージ
cpp-4.8.5-36.el7_6.1.x86_64
gcc-4.8.5-36.el7_6.1.x86_64
glibc-2.17-260.el7_6.4.x86_64
glibc-common-2.17-260.el7_6.4.x86_64
glibc-devel-2.17-260.el7_6.4.x86_64
glibc-headers-2.17-260.el7_6.4.x86_64
gpg-pubkey-f4a80eb5-53a7ff4b
kernel-devel-3.10.0-957.10.1.el7.x86_64
kernel-devel-3.10.0-957.1.3.el7.x86_64
kernel-headers-3.10.0-957.10.1.el7.x86_64
libgcc-4.8.5-36.el7_6.1.x86_64
libgomp-4.8.5-36.el7_6.1.x86_64
libmpc-1.0.1-3.el7.x86_64
mpfr-3.1.1-4.el7.x86_64
perl-5.16.3-294.el7_6.x86_64
perl-Carp-1.26-244.el7.noarch
perl-constant-1.27-2.el7.noarch
perl-Encode-2.51-7.el7.x86_64
perl-Exporter-5.68-3.el7.noarch
perl-File-Path-2.09-2.el7.noarch
perl-File-Temp-0.23.01-3.el7.noarch
perl-Filter-1.49-3.el7.x86_64
perl-Getopt-Long-2.40-3.el7.noarch
perl-HTTP-Tiny-0.033-3.el7.noarch
perl-libs-5.16.3-294.el7_6.x86_64
perl-macros-5.16.3-294.el7_6.x86_64
perl-parent-0.225-244.el7.noarch
perl-PathTools-3.40-5.el7.x86_64
perl-Pod-Escapes-1.04-294.el7_6.noarch
perl-podlators-2.5.1-3.el7.noarch
perl-Pod-Perldoc-3.20-4.el7.noarch
perl-Pod-Simple-3.28-4.el7.noarch
perl-Pod-Usage-1.63-3.el7.noarch
perl-Scalar-List-Utils-1.27-248.el7.x86_64
perl-Socket-2.010-4.el7.x86_64
perl-Storable-2.45-3.el7.x86_64
perl-Text-ParseWords-3.29-4.el7.noarch
perl-threads-1.87-4.el7.x86_64
perl-threads-shared-1.43-6.el7.x86_64
perl-Time-HiRes-1.9725-3.el7.x86_64
perl-Time-Local-1.2300-2.el7.noarch
SELinuxの無効化と既存パッケージのアップデート、EPELレポジトリの設定をしておく。
# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# yum -y update
# yum -y install epel-release
# reboot
Postfix設定
配送を自分のサーバで完結するように設定する。
Domain | 配送方法 | 用途 |
---|---|---|
@op.example.jp | openprojectユーザにローカル配送 | OpenProject用 |
@mm.example.jp | mattermostユーザにローカル配送 | Mattermost用 |
その他 | Discard |
不明なユーザ宛を/dev/nullに送るためのalias設定。
+# Catch-All
+no-reply: /dev/null
# newaliases
# db_dump -p /etc/aliases.db | grep -A1 no-reply
no-reply\00
/dev/null\00
transportとvirtual aliasを編集。
localhost local:
localhost.localdomain local:
* discard: "Discard with transport"
@op.example.jp openproject
@mm.example.jp mattermost
# postmap /etc/postfix/transport
# db_dump -p /etc/postfix/transport.db
# postmap /etc/postfix/virtual
# db_dump -p /etc/postfix/virtual.db
Postfixで上記の設定を読み込むように設定を変更。
+# Catch-All Settings
+local_recipient_maps =
+luser_relay = no-reply
+transport_maps = hash:/etc/postfix/transport
+virtual_alias_maps = hash:/etc/postfix/virtual
# systemctl reload postfix.service
/var/log/maillogを眺めながらテストメールを送信してみる。まだ転送先ユーザを作成していない場合はno-reply宛になる。
# echo "test" | sendmail -f hoge@example.jp -t fuga@xx.example.jp
# echo "test" | sendmail -f hoge@example.jp -t fuga@mm.example.jp
# echo "test" | sendmail -f hoge@example.jp -t fuga@op.example.jp
May 2 13:39:04 localhost postfix/discard[5960]: 0D3872050460: to=<fuga@xx.example.jp>, relay=none, delay=0.01, delays=0/0.01/0/0, dsn=2.0.0, status=sent ("Discard with transport")
May 2 13:44:29 localhost postfix/local[6088]: 209872050460: to=<mattermost@localhost.localdomain>, orig_to=<fuga@mm.example.jp>, relay=local, delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
May 2 13:44:47 localhost postfix/local[6088]: EA8442050460: to=<no-reply@localhost.localdomain>, orig_to=<fuga@op.example.jp>, relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to file: /dev/null)
証明書作成
最近のブラウザだとHTTPの場合にフォームの入力に警告が出て使いづらいことこの上ないので証明書を発行する。
プライベートCAの構築
scriptを利用してサクッと作成。
- 秘密鍵のパスワード: P@ssw0rd
- CSRのSubject: /C=JP/ST=Tokyo/O=Example Tech/CN=PrivateCA
# /etc/pki/tls/misc/CA -newca
以下のファイルが生成されていることを確認。
- 証明書: /etc/pki/CA/cacert.pem
- 秘密鍵: /etc/pki/CA/private/cakey.pem
証明書はサーバからダウンロードしてブラウザにインストールしておく。
Webサーバ用証明書の作成
秘密鍵、CSRを作成してプライベートCAで署名。
# openssl genrsa -out /etc/pki/tls/private/WILDCARD.example.jp.key -aes256 -passout pass:wcexamplejp
# openssl req -new -out /etc/pki/tls/certs/WILDCARD.example.jp.csr -key /etc/pki/tls/private/WILDCARD.example.jp.key -passin pass:wcexamplejp -subj "/C=JP/ST=Tokyo/O=Example Tech/CN=*.example.jp"
# openssl ca -out /etc/pki/tls/certs/WILDCARD.example.jp.crt -in /etc/pki/tls/certs/WILDCARD.example.jp.csr -passin pass:P@ssw0rd -batch
# openssl x509 -text -in /etc/pki/tls/certs/WILDCARD.example.jp.crt | grep -e 'Issuer:' -e 'Not After :' -e 'Subject:'
Issuer: C=JP, ST=Tokyo, O=Example Tech, CN=PrivateCA
Not After : Apr 30 08:07:34 2029 GMT
Subject: C=JP, ST=Tokyo, O=Example Tech, CN=*.example.jp
サーバ起動時にパスフレーズを聞かれないようにパスワード認証を解除。
# openssl rsa -in /etc/pki/tls/private/WILDCARD.example.jp.key -out /etc/pki/tls/private/WILDCARD.example.jp.key -passin pass:wcexamplejp
PostgreSQLセットアップ
インストール
サーバがインターネットと接続可能な場合はLinux Downloads(Red Hat family)からRepository RPMをダウンロード/インストールしてyum repositoryを設定し、PostgreSQLサーバをインストールする。
オフライン環境の場合はPostgreSQL Repositoryからpostgresql96、postgresql96-libs、postgresql96-serverをダウンロードし、サーバにアップロードしてyum localinstall
などでインストールする1。
# yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
# yum -y install postgresql96-server
# rpm -qa | grep postgresql96
postgresql96-9.6.12-1PGDG.rhel7.x86_64
postgresql96-libs-9.6.12-1PGDG.rhel7.x86_64
postgresql96-server-9.6.12-1PGDG.rhel7.x86_64
初期設定
DBクラスタの初期化。
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database ... OK
Unix Socket経由は認証なし、IPv4経由はMD5認証、IPv6経由は認証拒否。
# "local" is for Unix domain socket connections only
-local all all peer
+local all all trust
# IPv4 local connections:
-host all all 127.0.0.1/32 ident
+host all all 127.0.0.1/32 md5
# IPv6 local connections:
-host all all ::1/128 ident
+#host all all ::1/128 ident
PostgreSQLサーバの自動起動設定と起動。
# systemctl enable postgresql-9.6.service
# systemctl start postgresql-9.6.service
# systemctl status postgresql-9.6.service
# ss -nltp | grep postmaster
LISTEN 0 128 127.0.0.1:5432 *:* users:(("postmaster",pid=3391,fd=4))
LISTEN 0 128 ::1:5432 :::* users:(("postmaster",pid=3391,fd=3))
// 5432/tcpをLISTENしていればOK
OpenProjectセットアップ(インターネット接続環境)
OpenProjectのセットアップでは途中のPackage Configurationでgemやnpm packageのインストールが入ってくる。
HTTP Proxyが使えればまだ頑張れるが、これらをオフライン環境でやるのは苦しいのでインターネットに接続できるサーバでインストールしたあと、ディレクトリを丸ごと固めて持っていく。
PostgreSQLの設定
OpenProject用のユーザとDBの作成。
# psql -U postgres
postgres=# CREATE DATABASE openproject;
postgres=# CREATE USER opuser WITH PASSWORD 'opuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE openproject TO opuser;
postgres=# \q
接続確認。
# psql -h 127.0.0.1 -d openproject -U opuser
Password for user opuser: opuser_password
openproject=> \q
OpenProjectのインストール
RHEL7.x向けRepositoryファイル(Ver.8)をダウンロードしてyum repositoryを設定する。
# curl -s -o /etc/yum.repos.d/openproject-ce.repo https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/el/7.repo
(オフライン環境向け準備)パッケージのダウンロード。
# mkdir -p /var/tmp/offline_openproject/00-initial-rpms
# yum -y install openproject --downloadonly --downloaddir=/var/tmp/offline_openproject/00-initial-rpms
パッケージのインストール。
# yum -y install openproject
# rpm -qa --last | head -n2
openproject-8.3.2-1556613669.e9ecaa3c.centos7.x86_64 Fri 03 May 2019 03:09:03 AM UTC
dialog-1.2-5.20130523.el7.x86_64 Fri 03 May 2019 03:08:55 AM UTC
(オフライン環境向け)次の手順で導入されるパッケージを事前にダウンロードしておく。
# mkdir -p /var/tmp/offline_openproject/01-depend-rpms
# vim /var/tmp/offline_openproject/01-depend-rpms.txt
# cat /var/tmp/offline_openproject/01-depend-rpms.txt | xargs yum install -y --downloadonly --downloaddir=/var/tmp/offline_openproject/01-depend-rpms
Package Configurationでインストールされるパッケージ一覧(Virtualbox Guest Additions分が入っていないので注意)
apr
apr-util
centos-logos
gdbm-devel
git
gnutls
gpg-pubkey
httpd
httpd-tools
libdb-devel
libmodman
libproxy
mailcap
memcached
mod_dav_svn
mod_perl
mod_ssl
neon
nettle
pakchois
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Compress-Raw-Bzip2
perl-Compress-Raw-Zlib
perl-Data-Dumper
perl-devel
perl-Digest
perl-Digest-MD5
perl-Digest-SHA
perl-Encode-Locale
perl-Error
perl-ExtUtils-Install
perl-ExtUtils-MakeMaker
perl-ExtUtils-Manifest
perl-ExtUtils-ParseXS
perl-File-Listing
perl-Git
perl-HTML-Parser
perl-HTML-Tagset
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-IO-Compress
perl-IO-HTML
perl-IO-Socket-IP
perl-IO-Socket-SSL
perl-JSON
perl-libwww-perl
perl-Linux-Pid
perl-LWP-MediaTypes
perl-Mozilla-CA
perl-Net-HTTP
perl-Net-LibIDN
perl-Net-SSLeay
perl-TermReadKey
perl-Test-Harness
perl-TimeDate
perl-URI
perl-WWW-RobotRules
pyparsing
subversion
subversion-libs
systemtap-sdt-devel
trousers
DATABASE_URL
を設定する。
# openproject config:set DATABASE_URL="postgresql://opuser:opuser_password@127.0.0.1:5432/openproject"
# openproject config:get DATABASE_URL
postgresql://opuser:opuser_password@127.0.0.1:5432/openproject
Package Configurationを実行してウィザードを立ち上げ、セットアップ情報を入力していく。
ウィザードを最後まで回答すると各種パッケージのインストール〜起動まで走る。
# openproject configure
項目 | 選択/設定値 |
---|---|
postgres/autoinstall | skip: Skip |
server/autoinstall | install: Install apache2 server |
server/hostname | op.example.jp |
server/server_path_prefix | (設定なし) |
server/ssl | yes: Yes |
server/ssl_cert | /etc/pki/tls/certs/WILDCARD.example.jp.crt |
server/ssl_key | /etc/pki/tls/private/WILDCARD.example.jp.key |
server/ssl_ca | (設定なし) |
repositories/svn-install | install: Install Subversion repository support |
repositories/svn-path | /var/db/openproject/svn |
repositories/git-install | install: Install Git repository support |
repositories/git-path | /var/db/openproject/git |
repositories/git-http-backend | /usr/lib/git-core/git-http-backend |
smtp/autoinstall] | skip: Skip |
memcached/autoinstall | install: Install new memcached server |
起動確認。
# systemctl list-units 'openproject*'
UNIT LOAD ACTIVE SUB DESCRIPTION
openproject-web-1.service loaded active running openproject-web-1.service
openproject-web.service loaded active running openproject-web.service
openproject-worker-1.service loaded active running openproject-worker-1.service
openproject-worker.service loaded active running openproject-worker.service
openproject.service loaded active running openproject.service
(オフライン環境向け)プロセスを一通り停止させてアーカイブを作成する。
# systemctl list-units 'openproject*' | awk '/ running /{print $1}' | xargs systemctl stop
# systemctl list-units 'openproject*'
0 loaded units listed. Pass --all to see loaded but inactive units, too.
// 起動中のシステムがいないこと
# tar zcf /var/tmp/offline_openproject/opt_openproject.tar.gz /opt/openproject
# tar tvf /var/tmp/offline_openproject/opt_openproject.tar.gz
drwxr-xr-x openproject/openproject 0 2019-05-03 03:09 opt/openproject/
drwxr-xr-x openproject/openproject 0 2019-05-03 03:08 opt/openproject/.bundle/
...
(オフライン環境向け)必要なパッケージ類が揃ったので/var/tmp/offline_openprojectをオフライン環境のサーバにアップロードする。
OpenProjectセットアップ(オフライン環境)
/var/tmp/offline_openproject に必要なパッケージ類がアップロードされた前提。
PostgreSQLの設定
インターネット接続環境と同じ。
パッケージのインストール
localinstallで必要なパッケージを事前にインストール。
# yum -y localinstall /var/tmp/offline_openproject/00-initial-rpms/*.rpm
# yum -y localinstall /var/tmp/offline_openproject/01-depend-rpms/*.rpm
作成したアーカイブを展開。
# tar zxf /var/tmp/offline_openproject/opt_openproject.tar.gz -C /
初期設定
DATABASE_URL
を設定する。
# openproject config:set DATABASE_URL="postgresql://opuser:opuser_password@127.0.0.1:5432/openproject"
# openproject config:get DATABASE_URL
postgresql://opuser:opuser_password@127.0.0.1:5432/openproject
reconfigureでPackage Configurationを再実行する。
新たにAPI等のKeyの確認が入ってくるがウィザードが提示する値をそのまま利用すればOK。
# openproject reconfigure
起動確認。
# systemctl list-units 'openproject*'
UNIT LOAD ACTIVE SUB DESCRIPTION
openproject-web-1.service loaded active running openproject-web-1.service
openproject-web.service loaded active running openproject-web.service
openproject-worker-1.service loaded active running openproject-worker-1.service
openproject-worker.service loaded active running openproject-worker.service
openproject.service loaded active running openproject.service
OpenProjectの管理設定
管理者ログインとパスワード変更
https://op.example.jp/ にアクセスするとデフォルトの画面が表示されるので、右上の「Sign in」を押して管理者でログインする。
- Login: admin
- Password: admin
初期パスワードから変更するように求められるので変更(10文字以上)。
Administration
右上のアイコンをクリックして「Administration」から管理画面に移動する。
System settings > Display
以下の設定をして「Save」をクリックする。
項目 | 設定値 |
---|---|
Available languages | English,日本語を有効化(他はチェックを外す) |
Users display format | Admin OpenProject |
System settings > Users
以下の設定をして「Save」をクリックする。
項目 | 設定値 |
---|---|
Default language | 日本語 |
Users default time zone | (GMT+09:00)Tokyo |
System settings > Authentication
以下の設定をして「Save」をクリックする。
項目 | 設定値 |
---|---|
Self-registration | automatic account activation |
System settings > Email notifications
以下の設定をして「Save」をクリックする。
項目 | 設定値 |
---|---|
Emission email address | admin@op.example.jp |
Blind carbon copy recipients (bcc) | 無効 |
Plain text mail (no HTML) | 有効 |
Default notification option | No events |
Select actions for which email notifications should be sent | Uncheck all |
Users > OpenProject Admin > General
Usersを開いてadminのリンクをクリックして編集。
以下の設定をして「Save」をクリックする。
項目 | 設定値 |
---|---|
admin@op.example.jp |
Mattermostセットアップ
Installing Mattermost on RHEL 7を参考に。
PostgreSQLの設定
Mattermost用DBとユーザの作成。
# psql -U postgres
postgres=# CREATE DATABASE mattermost;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
postgres=# \q
接続確認。
# psql -h 127.0.0.1 -d mattermost -U mmuser
Password for user mmuser: mmuser_password
mattermost=> \q
Mattermostのインストール
DownloadからLinux Installをダウンロードして展開。
# cd /var/tmp && curl -s -O https://releases.mattermost.com/5.10.0/mattermost-5.10.0-linux-amd64.tar.gz
# tar zxf mattermost-5.10.0-linux-amd64.tar.gz -C /opt
# mkdir /opt/mattermost/data
mattermostユーザの作成とOwner/Groupの変更。
# useradd --system --user-group mattermost
# chown -R mattermost:mattermost /opt/mattermost
# chmod -R g+w /opt/mattermost
# ls -ld /opt/mattermost/data
drwxrwxr-x 2 mattermost mattermost 6 May 2 11:57 /opt/mattermost/data
サーバ設定の変更。
- DB接続の設定をPostgreSQL向けに変更
- prefixに
postgres://
が必要なので注意
- prefixに
- ConsoleのLogLevelをERRORに変更
- /var/log/messagesが埋まる
- INFOが必要であればFileLocationで指定するのが良さそう
"SqlSettings": {
- "DriverName": "mysql",
- "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
+ "DriverName": "postgres",
+ "DataSource": "postgres://mmuser:mmuser_password@127.0.0.1:5432/mattermost?sslmode=disable\u0026connect_timeout=10",
"LogSettings": {
"EnableConsole": true,
- "ConsoleLevel": "INFO",
+ "ConsoleLevel": "ERROR",
"ConsoleJson": true,
Unitファイルの作成。
[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.6.service
[Service]
Type=simple
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=300
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Systemdへの反映、自動起動設定と起動。
# chmod 0644 /etc/systemd/system/mattermost.service
# systemctl daemon-reload
# systemctl enable mattermost.service
# systemctl start mattermost.service
# systemctl status mattermost.service
# ss -nltp | grep mattermost
LISTEN 0 128 :::8065 :::* users:(("mattermost",pid=4624,fd=14))
Mattermostの設定
http://mm.example.jp:8065/ にブラウザでアクセスするとユーザ作成画面に飛ぶ。
初回のユーザはSystem Adminとして登録される。
項目 | 入力値 |
---|---|
What's your email address? | admin@mm.example.jp |
Choose your username | admin |
Choose your password | admin |
「Go to System Console」のリンクをクリックしてSystem Consoleを開く。
Notifications > Email
以下の設定をして「Save」をクリックする。
項目 | 入力値 |
---|---|
Enable Email Notifications | true |
Notification Display Name | No-Reply |
Notification From Address | admin@mm.example.jp |
SMTP Server | 127.0.0.1 |
SMTP Server Port | 25 |
Enable SMTP Authentication | false |
Connection Security | None |
Enable Security Alerts | false |
General > Configuration
以下の設定をして「Save」をクリックする。
項目 | 入力値 |
---|---|
Site URL | https://mm.example.jp |
Security > Sign Up
以下の設定をして「Save」をクリックする。
項目 | 入力値 |
---|---|
Enable Open Server | true |
この設定を行った後ログアウトして再度アクセスすると「Create one now」のリンクが出るようになるので誰でもユーザ作成ができるようになる。
Apacheの設定
OpenProjectで利用しているApacheにMattermost用のReverseProxyを設定する。
Mattermost用の設定ファイルを配置する。
<VirtualHost *:80>
ServerName mm.example.jp
# Redirect to HTTPS
RewriteEngine On
RewriteRule ^/?(.*) https://%{SERVER_NAME}:443/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName mm.example.jp
ErrorLog /var/log/httpd/mm_error_log
CustomLog /var/log/httpd/mm_ssl_log combined
# SSL Settings
Header always set Strict-Transport-Security "max-age=31536000"
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/WILDCARD.example.jp.crt
SSLCertificateKeyFile /etc/pki/tls/private/WILDCARD.example.jp.key
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:CAMELLIA128-SHA:AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:CAMELLIA256-SHA:AES256-SHA
SSLHonorCipherOrder on
SSLCompression off
# Reverse Proxy Settings
Header add Upgrade "Websocket"
Header add Connection "Upgrade"
ProxyRequests Off
ProxyPreserveHost On
<Location />
Require all granted
ProxyPass "ws://127.0.0.1:8065/"
ProxyPassReverse "ws://127.0.0.1:8065/"
</Location>
</VirtualHost>
不要なconfigは削除。
# rm -f /etc/httpd/conf.d/{autoindex.conf,perl.conf,userdir.conf,welcom.conf}
# ls -l /etc/httpd/conf.d
total 16
-rw-r--r-- 1 root root 1243 May 3 09:16 mattermost.conf
-rw-r----- 1 root root 582 May 3 08:18 openproject.conf
-rw-r--r-- 1 root root 366 Apr 24 13:46 README
-rw-r--r-- 1 root root 969 May 3 09:08 ssl.conf
Syntaxチェックして反映。
# httpd -t
Syntax OK
# systemctl reload httpd.service
https://mm.example.jp/ にアクセスしてMattermostの画面が出ればOK。
終わりに
Mattermostを相乗りさせようとしてOpenProject側のApacheの設定を覗いてたらちょっと微妙なので見直ししたい感。
折角便利なソフトウェアがあっても今のご時世でオフライン環境にてセットアップしなければならない場合があるのはツライ。
-
別途インターネットに繋がるサーバがある場合は
yum install --downloadonly --downloaddir=/path/to/download
で必要なパッケージをダウンロードしてまとめると楽。 ↩