CentOS6へのMatterMostインストール
提供: Wikiducca
目次
概要
Slack クローン的な、オープンソースのチャットツール MatterMost を CentOS6 にインストールする。
構築環境
Apache httpd
- Websocket を使用するため 2.4 以上が必要
MySQL
- 5.5 以上が必要
- 日本語の全文検索を使うには Mroonga も必要
- MySQL は最新バージョンが使えなかったため、同時に yum でインストールしてしまうのが良さそう
手順
# rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm # yum makecache # yum install groonga # yum remove mysql mysql-server # yum install http://repo.mysql.com/mysql-community-release-el6-7.noarch.rpm # yum install mysql-community-mroonga mysql もインストールされる。 my.cnf などを適当に修正。 適当に起動。
mm_db というデータベースと mm_admin というユーザを作っておく。
# mkdir /usr/local/src/MatterMost # cd /usr/local/src/MatterMost # curl -L https://releases.mattermost.com/3.3.0/mattermost-team-3.3.0-linux-amd64.tar.gz -o mattermost-team-3.3.0-linux-amd64.tar.gz # tar zxf mattermost-team-3.3.0-linux-amd64.tar.gz # mv mattermost /opt/ # mkdir -p /opt/mattermost/data # cd /opt/mattermost/config/ # diff config.json config.json.org 50c50 < "DataSource": "mm_admin:*******@tcp(localhost:3306)/mm_db?charset=utf8mb4,utf8", --- > "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8", 188,189c188,189 < "DefaultServerLocale": "ja", < "DefaultClientLocale": "ja", --- > "DefaultServerLocale": "en", > "DefaultClientLocale": "en", # useradd -r mattermost -U # chown -R mattermost:mattermost /opt/mattermost # chmod -R g+w /opt/mattermost # cd /opt/mattermost/bin # su mattermost $ ./platform
MySQL 日本語全文検索
SHOW ENGINES; に mroonga がなければ。
mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
テーブルのエンジンを切り替える。
mysql> ALTER TABLE `Posts` ENGINE = Mroonga;
起動スクリプト
#!/bin/sh
# chkconfig: - 85 15
# description: mattermost
SERVICE=mattermost
start() {
cd /opt/mattermost/bin
sudo -u mattermost ./platform &
echo "service $SERVICE [start]"
}
stop() {
pkill platform
echo "service $SERVICE [stop]"
}
status() {
PID=`pgrep platform | wc -l`
if [ $PID -eq 0 ]; then
echo "$SERVICE stop"
else
echo "running $SERVICE ..."
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage: $SERVICE [start|stop|restart|status]"
;;
esac
exit 0
バーチャルホストの設定例
<VirtualHost *:443>
ServerName teams.example.jp
DocumentRoot /home/sites/teams.example.jp/web
SSLEngine on
SSLCertificateFile /home/sites/teams.example.jp/ssl/server.crt
SSLCertificateKeyFile /home/sites/teams.example.jp/ssl/server.key
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/api/v3 [NC,OR]
RewriteCond %{REQUEST_URI} ^/api/v1/websocket [NC,OR]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* http://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
RequestHeader set X-Forwarded-Proto "https"
<Location /api/v1/websocket>
Order allow,deny
Allow from all
ProxyPassReverse http://127.0.0.1:8065/api/vi/websocket
ProxyPassReverseCookieDomain 127.0.0.1 vm11.example.jp
</Location>
<Location />
Order allow,deny
Allow from all
ProxyPassReverse http://127.0.0.1:8065/
ProxyPassReverseCookieDomain 127.0.0.1 vm11.example.jp
</Location>
</VirtualHost>
参考・引用
- http://qiita.com/terukizm/items/858bd63daa2c4dba7829
- http://qiita.com/nobu182/items/647748f55938afecd3a2
- http://qiita.com/dahugani/items/7e76621e13eb3780d33b