このブログを検索

2014-02-11

お名前.com VPS(KVM) にMT4をインストールする

FXの自動売買用にMT4を導入しているのですが
今はお名前.comのWindows Server 上に設置しています。
Linuxサーバの方が若干安いのでそっちに乗り換えを模索中。
まだ無料期間ですがインストールに成功しました。Windows Server も無料期間だからそのまま解約にするつもり。

ポイント
・Linux(CentOS)にMT4をインストールする
・リモートデスクトップ環境を構築する
・リモートデスクトップにはxrdpというサーバを使う
・xrdpは内部的にはvncサーバに接続しに行く
・日本語入力の問題があり、ユーザパスワード関連に記号は、ひと通り手順が終わるまではセットしないほうが良い


OSインストール
お名前.com VPS(KVM) のコントロールパネルにログインする
カスタムOSインストールとして Cent OS 6.4 64bit をインストールする
・Virtio ON
・ビデオデバイス vmvga (こっちのほうが解像度高くなるっぽい?
実行するとメディアが挿入された状態となるので起動する
・Install or Upgrade exists ....
・Language: Japanese
・Keyboard Type: jp106
・IPv6 Support: OFF
・システムクロックでUTCを使用: ON
・どのタイプのインストールをするか: すべての領域を使用する
・インストール先のデバイス: 20GB
・データストレージデバイス: 180GB
・Basic Serverを選択

パッケージ選択(Basic Serverからの差分)
※一部よくわからないものもONにしてます
※将来的な用途のことも含めているのでMT4自体には関係無いものもあります
アプリケーション
・Emacs ON
・インターネットブラウザ ON
サーバ
・FTPサーバ ON
・システム管理ツール ON
・電子メールサーバ ON
システム管理
・システム管理 ON
デスクトップ
・X Window System ON
・グラフィカル管理ツール ON
・デスクトップ ON
・デスクトッププラットフォーム ON
・フォント ON
・リモートデスクトップ接続クライアント ON
・レガシー X Window システムの互換 ON
・入力メソッド ON
・汎用デスクトップ ON
ベースシステム
・java プラットフォーム OFF
・Perlのサポート OFF

進めてインストール完了させる
再起動してrootでログイン
上部のシステム→管理→ユーザとグループで一般ユーザを作成
rootをログオフして一般ユーザで入り直す

VNCサーバ(tigervnc)インストール
$ su
# yum -y install tigervnc*
# vim /etc/sysconfig/vncservers

USERNAMEには一般ユーザ名を入れる
VNCSERVERS="2:USERNAME"
VNCSERVERARGS[2]="-geometry 1920x1024 -nolisten tcp -localhost" 
localhsotにすることで、VNC接続を外部からさせない。
なお、ポートは5900+先の設定ファイルの数字(2)で5902となる。

# exit
VNCパスワードをセットする
長すぎるとログイン出来ないような・・・?
$ vncpasswd

本来はこれでOKだけどテストするためにポートを開放する
$ su
# vim /etc/sysconfig/iptables
dport 22の記載がある下辺りに追記
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
# /etc/init.d/iptables restart
# /etc/init.d/vncserver restart

サービス化
# chkconfig vncserver on


この状態で、外部からVNCクライアントで接続してみて確認。
今のところ通信が暗号化されていないので注意。
問題なさそうならiptablesから記述をコメントアウトしてiptables再起動

今回解決はできなかったけどプロセス再起動時に
"xauth: timeout in locking authority file /home/root/.XauthXXXXX"と出て時間がかかる
たぶん、rootユーザでサービスを実行するけど、内部的には一般ユーザで実行されるため、rootの設定ファイルを見に行こうとしていると思われる。
chkconfigによる自動起動時にはエラーが起こっていないと・・・思いたい。
一般ユーザにて/usr/bin/vncserverを起動する際には発生しない。


リモートデスクトップサーバ(xrdp)をインストール
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum --enablerepo=epel -y install xrdp

# vim /etc/xrdp/xrdp.ini
xrdp1セクションのところを変更
username=     ←空にする
port=5902     ←vncポートを指定
port=-1の場合、一般ユーザでログインして新規に一時的なvncセッションを立ち上げることになる模様。
そうすると同一セッションに繋ぎ直すことがやや難しいので注意。
ちなみに、port=-1の時に同一セッションにつなぐには、同じ解像度で繋ぐ必要がある。
このことから、PCとiPhoneとで同一セッションに繋げなかった。

# /etc/init.d/xrdp restart

ポート開放
# vim /etc/sysconfig/iptables
dport 22の記載がある下辺りに追記
ポートは3389、先ほどのあたりに
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
# /etc/init.d/iptables restart

サービス化
# chkconfig xrdp on

これでWindowsのリモートデスクトップから入って
sesman-Xvncとかいうのを選んでログインできるようになる。
パスワードはvncパスワードとなる。
なんかビープ音がなるタイミングでボッボッとなったりプチフリーズしたりするが未解決。

この状態だと英語キーボード配列になっていて、特にパスワードに記号が含まれていると困る。
$ su
# cd /etc/xrdp
# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
# chmod 644 km-e0010411.ini
これでリモートデスクトップ中に記号が変に入力されたりしなくなる。

# /etc/init.d/vncserver restart
# /etc/init.d/xrdp restart

この状態だとログイン毎にrootパスワードを聞かれてしまう
http://lists.centos.org/pipermail/centos/2012-May/126213.html

$ gnome-session-properties
PackageKit 更新アプレット のチェックを外す

リモートデスクトップによるクリップボード共有は、試した限りではできなかった。
VNCViewerであれば
$ vncconfig &
として開いたウィンドウが開いている間のみ可能だった。


Windowsアプリを動作させるwineをインストールする

ソフトウェアの追加/削除で wine を検索
"a compatibility layer for windows applications"をインストールする


MT4をインストールする
からMT4(mt4setup.exe)をダウンロードして実行して普通にインストールする。
途中、MonoとGeckoのインストールを求められたので、とりあえずYesで進めた。
デスクトップにできたショートカットアイコンで普通に起動成功

データフォルダはMT4のメニューから開けるが
階層が深いところにある
/home/ユーザ名/.wine/drive_c/Program Files (x86)/

以降、個人的なめも

ファイルやりとりのためDropboxをインストールする
http://easyramble.com/install-dropbox-into-centos.html

$ cd ~
$ wget "https://www.dropbox.com/download?plat=lnx.x86"
$ tar xzf dropbox-lnx.x86-2.6.2.tar.gz

$ ~/.dropbox-dist/dropboxd
URLを開けとあるので開いてDropboxアカウントでログイン

$ mkdir ~/bin
$ cd ~/bin
$ wget "https://www.dropbox.com/download?dl=packages/dropbox.py"
$ chmod +x ~/bin/dropbox.py
$ ~/bin/dropbox.py help
$ ~/bin/dropbox.py start
$ ~/bin/dropbox.py status
$ su
# vim /etc/init.d/dropbox
#!/bin/sh

# chkconfig: 345 99 01
# description: dropbox
# processname: dropbox

exec="/home/ユーザー名/bin/dropbox.py"
user="ユーザー名"

start() {
    echo -n $"Starting $prog: "
    su -c "${exec} start" ${user}
}

stop() {
    echo -n $"Stopping $prog: "
    su -c "${exec} stop" ${user}
}

status() {
    su -c "${exec} status" ${user}
}

restart() {
    stop
    start
}

case "$1" in
    start)
        $1
        ;;
    stop)
        $1
        ;;
    restart)
        $1
        ;;
    status)
        $1
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 2
esac
exit $?
# chmod u+x /etc/init.d/dropbox
# chkconfig --add dropbox
# chkconfig dropbox on
# chkconfig --list dropbox
# shutdown -r 0
その後
$ ~/bin/dropbox.py status


EAの共有用にMercurialをインストール
$ su
# cd ~/
# yum -y install python-devel python-setuptools make gcc

# easy_install pip
# pip install Mercurial
# exit
$ cd
$ hg clone https://xxxxxxx/xxxx/ hg
$ cd hg/.hg
$ vim hgrc
追記する
[auth]
auth1.prefix = https://xxxxxxxx/xxxxx/
auth1.username = xxxx
auth1.password = xxxx
※auth1の部分は何でもよい

参考:
http://ubun2.wiki.fc2.com/wiki/xrdp%E5%86%8D%E3%81%B3
http://www.kkaneko.com/rinkou/linux/centosinstall.html
http://pg-forex.com/blog/others/378/
http://articles.mql4.com/1058
http://lfg-net.com/linux/ubuntu/ubuntu-12-04-lts-settings/
http://kyojee.dispatch-site.com/wordpress/2012/07/25/%E3%81%8A%E5%90%8D%E5%89%8D%E3%80%80vps-kvm-%E3%81%A7mt4%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%AB/
http://kingpcfx.seesaa.net/article/250642995.html
http://ubuntuforums.org/showthread.php?t=2039022
http://tubapr.hatenablog.com/entry/2013/04/17/173045
http://kingpcfx.seesaa.net/article/250642995.html



0 件のコメント:

コメントを投稿