5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenProject+Mattermost環境のセットアップ

Last updated at Posted at 2019-05-03

プロジェクト管理ソフトウェアのOpenProjectとチャットソフトウェアのMattermostを同じサーバにセットアップしたいということで構築手順を整理。

OpenProject_Mattermost.png

環境

以下のサーバで構築を進める。

項目 設定値 備考
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
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設定。

/etc/aliases
+# 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を編集。

/etc/postfix/transport
localhost               local:
localhost.localdomain   local:
*                       discard: "Discard with transport"
/etc/postfix/virtual
@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で上記の設定を読み込むように設定を変更。

/etc/postfix/main.cf
+# 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
未登録ドメイン宛はdiscardされる
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)
登録ドメイン宛でも所定のユーザが存在しない場合はno-replyに配送
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 
PostgreSQL9.6パッケージ
# 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経由は認証拒否。

/var/lib/pgsql/9.6/data/pg_hba.conf
 # "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

接続確認。

IPv4経由
# 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
OpenProject8.3.2パッケージ
# 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分が入っていないので注意)
01-depend-rpms.txt
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」をクリックする。

項目 設定値
Email 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

接続確認。

IPv4経由
# 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://が必要なので注意
  • ConsoleのLogLevelをERRORに変更
    • /var/log/messagesが埋まる
    • INFOが必要であればFileLocationで指定するのが良さそう
/opt/mattermost/config/config.json
     "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ファイルの作成。

/etc/systemd/system/mattermost.service
[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用の設定ファイルを配置する。

/etc/httpd/conf.d/mattermost.conf
<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の設定を覗いてたらちょっと微妙なので見直ししたい感。
折角便利なソフトウェアがあっても今のご時世でオフライン環境にてセットアップしなければならない場合があるのはツライ。

  1. 別途インターネットに繋がるサーバがある場合はyum install --downloadonly --downloaddir=/path/to/downloadで必要なパッケージをダウンロードしてまとめると楽。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?