2016年05月04日

MattermostをDocker使わずにインストールする

Mattermostをちゃんと動かそうと思って、セットアップしてみる。
やり方は公式ページに書いてあるけど、CentOS7.2とPostgreSQL9.5.2の環境でインストールしてみる。

データベースのインストールと設定

PostgreSQLのリポジトリを設定。

yum install http://yum.postgresql.org/9.5/redhat/rhel-7.2-x86_64/pgdg-redhat95-9.5-2.noarch.rpm

PostgreSQLをインストール

yum install postgresql95-server postgresql95-contrib

初期設定を行う

/usr/pgsql-9.5/bin/postgresql95-setup initdb

自動起動設定と起動を行う。

systemctl enable postgresql-9.5.service
systemctl start postgresql-9.4.service

データベース作成とユーザー作成を行う。

sudo -i -u postgres
psql
postgres=# CREATE DATABASE mattermost;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
postgres=# \q
exit

viで設定ファイルを開き、

vi /var/lib/pgsql/9.4/data/postgresql.conf

listen_addressesのコメントアウトを解除して、localhostを*に変更する。

listen_addresses = 'localhost'

続いて、viで設定ファイルを開き、

vi /var/lib/pgsql/9.5/data/pg_hba.conf

同じサーバーにMattermostやPostgreSQLを立てようとするなら、Peer認証をtrustに変えておく。あと、同一サーバーからアクセスるために127.0.0.1をmd5認証に変える。
Peer認証はUNIXのユーザー名と一致していないとログインできない。まぁ、セキュリティ考えたら一致させておいたほうが良いと思うが、テスト用なのでとりあえず。

# "local" is for Unix domain socket connections only
local   all             mmuser                                     trust
host   all             all              127.0.0.1/32                       md5

別サーバーに立てる時は、IPv4 local connectionsの所でホストのIPアドレスを記載する。

host    all             all             10.10.10.10/32            md5

サービスの再起動。

systemctl reload postgresql-9.5.service

うまく設定できたか確認をする。

psql --host=10.10.10.1 --dbname=mattermost --username=mmuser --password
mattermost=> \q

Mattermost Serverのインストールと設定

Mattermostをダウンロードする。

wget https://github.com/mattermost/platform/releases/download/v2.1.0/mattermost.tar.gz

ダウンロードしたファイルを/optに配置する。

tar -xvzf mattermost.tar.gz
mv mattermost /opt

ファイルの保存ディレクトリを作成して、権限を付与する。

mkdir -p /opt/mattermost/data
useradd -r mattermost -U
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

/opt/mattermost/config/config.jsonをviで開き、以下を変更する。

  • "DriverName"の値の箇所をmysqlからpostgresに変更する
  • "DataSource"の箇所のを書き換える。
DriverName": "postgres"
"DataSource": "postgres://mmuser:password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",

無事起動すると下記のように8065のポートでlistenが始まるので、Ctrl-Cで終了させる。

Server is listening on :8065

systemdのサービスを作成する。

touch /etc/systemd/system/mattermost.service
vi /etc/systemd/system/mattermost.service

以下を記述する。

[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.5.service

[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid

[Install]
WantedBy=multi-user.target

後はsystemdで再読み込みして、起動&自動起動設定。

systemctl daemon-reload
systemctl start mattermost.service
systemctl enable mattermost.service

http://<サーバーのIPアドレス>:8065/でアクセス。
Webサーバーとの連携は、また別の記事で。

参考
タグ:CentOS Mattermost
posted by MINE at 00:26 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年04月16日

CentOS7にgitをインストールする

CentOSのyumは古いgitしか無いので、ソースコードからインストールする。

インストール方法

まずは必要なライブラリのインストール。

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

続いてソースコードの取得。 ここ[kernel.org]から最新コードを取得する。

wget https://www.kernel.org/pub/software/scm/git/git-2.8.1.tar.gz

解凍してビルドする。インストール先は/usr/localにインストール。

tar zxvf git-2.8.1.tar.gz
make prefix=/usr/local all
make prefix=/usr/local install
git --version
参考
  • CentOS 6.5, yum でインストールした Git を 1.7.1 から 2.x にバージョンアップする[Qiita]
タグ:CentOS git
posted by MINE at 22:51 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年04月11日

CentOS7のDockerでMattermostを動かしてみる

dockerで動かしただけので、CentOS固有の話は無いけど。
nginxで動かすのは、また今度試してみる。

事前準備

まずはCentOSにDockerをインストールする。
やり方はこちら[記事]参照。

イメージを取得して起動

imageを取得する。

docker pull mattermost/platform

起動する。

docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform

ファイアウォール

ファイアウォールで8065ポートが空いていなかったので空ける。

firewall-cmd --permanent --add-port=8065/tcp

ブラウザでアクセス

http://<サーバーのIP>:8065/にアクセスする。

mattermost初期画面

チーム(例ではabcde)を作ると、下記の感じでURLにアクセスすればログイン画面が出てくる。
http://<サーバーのIP>:8065/<チーム名>/login

Mattermostログイン画面

関連する記事

  • CentOS7にDockerをインストールする[記事]
参考
  • One-line Docker Install[Mattermost]
  • SlackクローンのMattermostを使ってみる - 導入、初期設定編-[Qiita]
posted by MINE at 01:23 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年04月10日

CentOS7にDockerをインストールする

Rocket.ChatやMattermostを試そうと思って、両方Dockerイメージがあるので、Dockerで入れられるように準備する。

CentOS7は標準のリポジトリに入っているみたい。

yum install docker

インストールしたらサービスを開始する。

systemctl start docker
systemctl enable docker

サービスを停止する。

systemctl stop docker

コンテナの状態を確認する。

docker ps -a
タグ:Docker CentOS
posted by MINE at 20:36 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年04月09日

CentOS7にyumでkibana 4.5をインストールする

いつの間にかkibanaのリポジトリが提供されていた。
前記事に書いたようなことをしてインストールしなくても楽に入れることができる。

まず鍵をインストールする。

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

エディタでリポジトリの設定。kibana.repoみたいなファイルを作成して、

vi /etc/yum.repos.d/kibana.repo

下記を記載する。

[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

後はyumでインストールする。

yum install kibana

インストールしたら、serviceの設定をして起動する。

systemctl daemon-reload
systemctl enable kibana.service
systemctl start kibana

あとはブラウザでアクセスするだけ。

手動でインストールしている場合。

前のkibanaが邪魔なのでアンインストールする。

systemctl stop kibana4
systemctl disable kibana4
rm /etc/systemd/system/kibana4.service
rm -rf /opt/kibana/

関連する記事

  • CentOS7にElasticsearch1.7をインストールする[記事]
  • CentOS7にyumでelasticsearch 5系をインストールする[記事]
  • CentOS7にKibana4をインストールする[記事]
  • CentOS7にyumでkibana 5系をインストールする[記事]
参考
  • Getting Kibana Up and Running[elastic]
posted by MINE at 22:13 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年04月03日

CentOS7にPython3.4をインストールする

ビルド用のパッケージをインストールする。

yum install zlib-devel openssl-devel readline-devel ncurses-devel sqlite-devel expat-devel bzip2-devel tcl-devel tk-devel gdbm-devel

Pythonのパッケージをダウンロードする。

wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
tar -xvzf Python-3.4.4.tgz

Buildする。

./configure --prefix=/usr/local/python-3.4
make
make install

Pathを通す。

sudo ln -s /usr/local/python-3.4/bin/python3.4 /usr/local/bin/python
参考
  • LinuxでPythonをビルドするときの --enable-shared オプションについて[Qiita]
タグ:Python
posted by MINE at 20:53 | Comment(0) | TrackBack(0) | Python | このブログの読者になる | 更新情報をチェックする | edit

2016年03月27日

elasticsearchにidを指定せずにデータを投入する方法

1行ずつ登録する方法

データを1行ずつのJSONとして用意してファイル保存する。

{"date": "2016/01/01",  "os": "Windows 7", "ip": "192.168.1.100"}
{"date": "2016/01/02",  "os": "Windows 8.1", "ip": "192.168.1.102"}

次に下記のようなシェル書いて「putdata.sh」のような名前で保存する。

#!/bin/bash
lineNum=1

cat $1 | while read JSON_DATA
do
        curl -XPOST "http://localhost:9200/<index_name>/<type_name>/" -d "${JSON_DATA}"
        lineNum=$((lineNum + 1))
done

あとは、このシェルに引数で保存したjsonを渡すと、順次登録する。
すごく遅いけど。

./putdata.sh data.json

Bulk APIを使用して登録する方法

1行ずつ登録売る方法は遅いので沢山登録するときは、Bulk APIを用いて登録する。
Bulk APIは2行で1つの値を登録する。最初のindexは空にしておくと、自動でIDを付加してくれる。

{ "index": {}}
{"date": "2016/01/01",  "os": "Windows 7", "ip": "192.168.1.100"}
{ "index": {}}
{"date": "2016/01/02",  "os": "Windows 8.1", "ip": "192.168.1.102"}

上記jsonをcurlで登録する。

curl -XPOST "localhost:9200/<index_name>/<type_name>/_bulk" --data-binary @hogehoge.json
参考
タグ:Elasticsearch
posted by MINE at 22:18 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2016年03月16日

Hyper-VでCisco AnyConnectが繋がらない場合の対応方法

会社で承認を受けたので、自宅PCにVPNを意気揚々とインストールしたが、全然繋がらなかったのでメモ。

仕事用(と言ってもメールかSSHで繋ぐだけだが)だから、自分の私用PCと環境別な方がいいよなと思い、Hyper-VでWindows 10を導入してそこにVPNソフトを導入した。

が、全然繋がらない。
会社のPCを家で繋いだら繋がるので、何でだろうとずっと悩んでいたのだが、そのHyper-Vの設定が原因だった。
ゲストOSがWindows8.1以降だと拡張セッションでつながるみたいで、これがRDP(リモートデスクトッププロトコル)をベースとした技術だということ。

しかし、Cisco AnyConnectはリモートデスクトップでの動作を保証していない!!

ってことで、Hyper-Vの下記赤枠のボタンを押すと、

Hyper-Vの拡張セッション

拡張セッションがOFFになり、以下のように+が付いたアイコンになる。

Hyper-V 拡張セッションOFF

この状態で、VPNに接続したら接続できました。

参考
タグ:Hyper-V CISCO
posted by MINE at 00:12 | Comment(0) | TrackBack(0) | ソフトウェア開発 | このブログの読者になる | 更新情報をチェックする | edit

2015年09月23日

elasticsearchで使用するコマンド

試行錯誤していた時に使ったコマンドをまとめておく。

indexの作成

curl -XPUT "http://localhost:9200/<index_name>/"

mappingの登録

curl -XPUT 'http://localhost:9200/<index_name>/<type_name>/_mapping' -d '{
  "<type_name>": {
     "properties": {
        "sample"    : { "type": "string" },
        "add_date": { "type":"date", "format":"yyyy/MM/dd"}
     }
  }
}'

mapping確認

curl -XGET 'http://localhost:9200/<index_name>/_mapping/story?pretty=true'
 

データ登録

POSTで登録するとIDが自動採番される。

curl -XPOST 'http://localhost:9200/<index_name>/<type_name>/' -d '
{
"sample":"hoge",
"add_date":"2014-01-01"
}'

検索

curl -XGET 'http://localhost:9200/<index_name>/<type_name>/_search' -d '
{
 "query" : {
 "match_all" : {}
 }
}'

全削除

curl -XDELETE 'http://localhost:9200/*'

kibanaのindexを削除

kibanaをアップデートしたときに使用した。トラブルが無ければ必要ないのかも。

curl -XDELETE 'http://localhost:9200/.kibana/'
posted by MINE at 01:26 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit

2015年09月12日

wgetをproxy経由で使用する方法

こちらの手順[記事]に従って、kibanaを会社で導入しようとしたら、proxy環境下で1分位ハマってたのでメモ。

/etc/wgetrcにproxyの設定を記載する。他人がログインするPCでも無いので、ID/Pass毎埋める。

http_proxy=http://UserID:Pass@proxy.jp:8080/
http_proxy=http://UserID:Pass@proxy.jp:8080/
ftp_proxy=http://UserID:Pass@proxy.jp:8080/

プロキシがいらない場合は、以下のコマンドを打つとproxyを参照しない。
社内のサーバーからファイルを落とすときに使う。

$ wget --no-proxy http://hogehoge.co.jp/fuga.zip

証明書エラーを無視してファイルを取得する場合は以下のオプションを指定する。

$ wget --no-check-certificate https://hogehoge.co.jp/fuga.zip
参考記事

CentOS7にKibana4をインストールする[記事]

posted by MINE at 23:05 | Comment(0) | TrackBack(0) | サーバー技術 | このブログの読者になる | 更新情報をチェックする | edit
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。