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