無料で使えるFXシステムトレードフレームワーク Jiji をConoHa vps上でインストールした際の手順です。
mt4だとWindows環境が必要なのと、バックテストがかなり重いのでjijiのが軽いかもと期待して環境を作ってみました。
インストールの流れは以下になります。Jijiのインストールガイドで詰まった所を一部具体的に書いてます。
- VPSでCentOS7.2のテンプレートで構築
- Gitのインストール
- Dockerのインストールと更新
ConoHa VPS
ConoHaなら途中でプラン変更も出来るので、スモールスタートでメモリ 1GB、CPU 2コア、SSD 50GBの月900円プランにしました。OSはCentOS Linux release 7.2.1511 (Core)です。この辺りは簡単なので省略。
Gitのインストール
CentOSの設定
yum updateかけた時にエラーになったので、yumレポジトリのepel-debuginfoとepel-sourceを無効化しました。以下全てrootで作業してます。
[epel-debuginfo]
enabled=0
[epel-source]
enabled=0
Gitのインストール
Gitで困る所はないと思います。yum installするだけです。
# yum install gcc
# yum install git
# git --version
git version 1.8.3.1
Dockerのインストール
extrasでインストールされるDockerはバージョンが1.8.2なので、要件を満たしていません。1.9以降が必要です。一旦1.8.2をインストールした後に、バージョンアップを行います。
ここを参照しました。
http://qiita.com/Arturias/items/8c9c9321e87675c7d023
docker1.8.2のインストール
困る所はないと思います。
# yum install docker
docker 1.11.0のインストール
# git clone https://git@github.com/docker/docker
# cd docker
# make build
# docker images
docker-dev master 69c1785ed349 4 days ago 2.065 GB
# make binary
...
# ls ./docker/bundles/latest/binary/
lrwxrwxrwx 1 root root 17 Feb 16 18:08 docker -> docker-1.11.0-dev
-rwxr-xr-x 1 root root 34678499 Feb 16 18:08 docker-1.11.0-dev
-rw-r--r-- 1 root root 52 Feb 16 18:08 docker-1.11.0-dev.md5
-rw-r--r-- 1 root root 84 Feb 16 18:08 docker-1.11.0-dev.sha256
docker 1.8.2と1.11.0の差し替え
# systemctl stop docker.service
# mv /usr/bin/docker /usr/bin/docker-1.8.1
# cp bundles/latest/binary/docker-1.11.0-dev /usr/bin/docker
# docker version
Client:
Version: 1.11.0-dev
API version: 1.23
Go version: go1.5.3
Git commit: b16536a
Built: Tue Feb 16 09:07:27 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.0-dev
API version: 1.23
Go version: go1.5.3
Git commit: b16536a
Built: Tue Feb 16 09:07:27 2016
OS/Arch: linux/amd64
# cd ..
docker-composeインストール
# curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 600 0 600 0 0 254 0 --:--:-- 0:00:02 --:--:-- 254
100 7754k 100 7754k 0 0 1289k 0 0:00:06 0:00:06 --:--:-- 2881k
# chmod +x /usr/local/bin/docker-compose
# ls -la /usr/local/bin/docker-compose
-rwxr-xr-x 1 root root 7940602 Feb 16 19:00 /usr/local/bin/docker-compose
# docker-compose --version
docker-compose version 1.6.0, build d99cad6
jiji2インストール
# git clone https://github.com/unageanu/docker-jiji2
Cloning into 'docker-jiji2'...
remote: Counting objects: 107, done.
remote: Total 107 (delta 0), reused 0 (delta 0), pack-reused 107
Receiving objects: 100% (107/107), 19.75 KiB | 0 bytes/s, done.
Resolving deltas: 100% (31/31), done.
# cd docker-jiji2
自己証明書作成
# openssl genrsa 2048 > server.key
# openssl req -new -key server.key > server.csr
# openssl x509 -sha256 -days 365 -req -signkey server.key < server.csr > server.crt
# vi docker-compose.yml
- ./server.crt:/etc/nginx/cert/ssl.crt:ro
- ./server.key:/etc/nginx/cert/ssl.key:ro
###dockerイメージをビルド
# docker-compose build
###Dockerコンテナを作成し、起動
# docker-compose up -d
Pulling mongodb (mongo:3.0.7)...
3.0.7: Pulling from library/mongo
45a5ec39a81f: Pull complete
a3ed95caeb02: Pull complete
d1f83b34c8fa: Pull complete
9a6050a755e5: Pull complete
2b04fe9173a9: Pull complete
5a318f31408d: Pull complete
06ff9b82c252: Pull complete
b1d5c78e5050: Pull complete
bcbf30bf1934: Pull complete
d0450bc5c6c8: Pull complete
c185104550a9: Pull complete
Digest: sha256:01b2f2fe54240c7a8e0e9bb0ab26307e2050490dcd0b02be548503a45b1b32c4
Status: Downloaded newer image for mongo:3.0.7
Creating jiji_mongodb
Creating jiji_jiji
Creating jiji_nginx
###起動しているコンテナを確認
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
890c7b07d74b dockerjiji2_nginx "nginx -g 'daemon off" 34 seconds ago Up 33 seconds 80/tcp, 0.0.0.0:8443->443/tcp jiji_nginx
8b7320b80f58 dockerjiji2_jiji "pumactl -S /var/run/" 35 seconds ago Up 33 seconds 8080/tcp jiji_jiji
40260d68dfad mongo:3.0.7 "/entrypoint.sh mongo" 35 seconds ago Up 34 seconds 0.0.0.0:27018->27017/tcp jiji_mongodb
###ブラウザからアクセス
IPは自分の環境で読み替えてください。
https://172.xxx.xxx.xxx:8443/
うちではVPSにプロキシ建ててからSSHでトンネリングして、プライベートIPでアクセスしています。
このあたり参照しました。
http://qiita.com/kiida/items/37557a1029788afec98a