「プールの建て方」の編集履歴(バックアップ)一覧はこちら
「プールの建て方」(2014/02/27 (木) 02:49:02) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
このページはgikopool様のご厚意により転載させて頂いてます。
転載元は一番最後に記載してあります。
*プールの立て方
----
gikopoolを設置した記録を元にして、オープンソースのプール管理ソフトMPOSを使った、モナーコイン採掘プールの立て方を具体的に記録します。
https://github.com/MPOS/php-mpos/wiki/Quick-Start-Guide
の日本語版に近い内容ですが、いくつか補足を加えています。
セットアップすべきソフトは次の3つです。
-monacoind
-stratum mining
-MPOS
monacoindはモナーコインのクライアントソフトです。&small(){使い方の説明は[[コチラ>http://www59.atwiki.jp/cryptwiki/pages/40.html]]にもあります。}
stratum miningは、プールの本体です。これ自身はコマンドラインのサーバです。
MPOSは、stratum mining をwebベースで管理しやすくしてくれるフロントエンドです。
*0. 前提知識・必要環境
----
大前提として、unixの基本的な知識は必要です。
とはいえ高度な技術が必要というわけでもないので、
必要に応じて検索しながらやり方を確認できれば十分です。
プールには専用のサーバを用意した方が良いでしょう。
gikopoolでは、さくらインターネットのVPSサーバをレンタルして使っています。
一般公開の際にはセキュリティに十分注意を払ってください。
はじめはローカルの仮想環境をvmware playerなどで作って、
そこで色々と実験を行うことを推奨します。
以下の説明では、OSはUbuntu Server 12.04 LTS を想定します。
人気のディストリビューションで、ネット上にも情報が多いです。
gikopoolもこのOSを使っています。
*1. 開発環境の構築
----
Ubuntuのインストールができたら、まずはサーバをアップデートしておきましょう。
>sudo apt-get update
>sudo apt-get dist-upgrade
続いて、開発環境・ライブラリ類をインストールします。
今後必要なソフトはgithub上に公開されているので、gitコマンドを使えるようにしておくと大変便利です。
>sudo apt-get install git
>sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
*2. monacoind のセットアップ
----
まずはgithubからmonacoindを落としてきます。
>cd ~
>git clone git://github.com/monacoinproject/monacoin.git
次にコンパイルしましょう。
>cd ~/monacoin/src
># コンパイル
>make -f makefile.unix USE_UPNP=-
># 実行ファイル置き場にコピー
>sudo cp monacoind /usr/bin
monacoindは、設定ファイル
>~/.monacoin/monacoin.conf
を読みに行きます。なければ作成しましょう。
monacoin.conf の設定例は次のような感じです。
>server=1
>rpcallowip=localhost
>rpcuser= &italic(){rpcuser}
>rpcpassword= &italic(){rpcpass }
斜体の部分は適宜変更して下さい。
ユーザ名とパスワードはあとで使いますが、ファイルに書き込んでしまえば常に覚えておく必要はないので、
適当に推測しづらいものを入れておきましょう。
では、いよいよmonacoindを起動してみます。
>monacoind -daemon
うまくいけば、Monacoin server starting とメッセージが出るはずです。
次のようにコマンドを打って、monacoindの情報を確認しましょう。
>monacoind getinfo
以下のような出力があればOKです。
>"version" : 80601,
>"protocolversion" : 70002,
>"walletversion" : 60000,
>"balance" : 0.00000000,
>"blocks" : 7199,
>"timeoffset" : 0,
>"connections" : 1,
>"proxy" : "",
>"difficulty" : 0.42252295,
>"testnet" : false,
>"keypoololdest" : 1392509976,
>"keypoolsize" : 101,
>"paytxfee" : 0.00000000,
>"mininput" : 0.00001000,
>"errors" : ""
以上でmonacoindのセットアップは終わりです。
ちなみに、monacoindの同期が終わらないうちに採掘を始めようとするとエラーが出ます。
上の情報で"blocks"の値が現在のブロック数になるまでしばらく待ちましょう。
現在のブロック数は公式のクローラで見ることができます。
http://monacoin.org/crawler/block_crawler.php
ネットワークの状況にもよりますが、同期には数時間かかることもあります。
monacoind の使用するポートは2つです。デフォルトでは次のようになっています。
>9401: P2P接続のポート
>19402: rpc接続のポート
重要なので覚えておきましょう。
*2.1 monacoind のテスト
----
慎重に行くならば、ここでmonacoind が正しく動いているかテストしてみましょう。
monacoindが起動していないなら、
>monacoind -daemon
で起動させてください。
手持ちの採掘ツール(ここではcpuminerを例に取ります)で、monacoindに接続できるか実験してみましょう。
cpuminerの実行ファイル名をminerdとしたとき、
>./minerd -a scrypt -o サーバのIPアドレス:19402 -u rpcuser -p rpcpass
を実行してみましょう。
rpcuserとrpcpassはmonacoin.confで設定したものです。
また、monacoindの動いているのと別のサーバから接続するときは、
monacoin.conf でそのIPを許可する必要があります。
テストなので、
>rpcallowip=localhost
を
>rpcallowip=*
としても大丈夫です。
接続が成功してハッシュレートが表示されればOKです!
エラーが出る際は、monacoindの同期を待つとうまくいくこともあります。
*3. stratum-mining のセットアップ
----
まずは必要なライブラリ類をインストールします。
>cd ~
>sudo apt-get install python-twisted python-mysqldb python-dev python-setuptools python-memcache python-simplejson
>sudo easy_install -U distribute
つぎにstratum mining他、必要なパッケージをgithubから入手します。
>git clone https://github.com/Tydus/litecoin_scrypt.git
>git clone https://github.com/ahmedbodi/stratum-mining.git
>git clone https://github.com/ahmedbodi/stratum.git
これらのソフトをインストールします。
>cd stratum-mining
>git submodule init
>git submodule update
>cd externals/litecoin_scrypt
>sudo python setup.py install
>cd ~/stratum-mining/externals/stratum
>sudo python setup.py install
続いてstratum mining の設定です。
設定ファイルは、~/stratum-mining/conf/config.py なのですが、
最初は存在しないのでテンプレートのconfing_sample.pyをコピーしてきます。
>cd ~
>cp stratum-mining/conf/config_sample.py stratum-mining/conf/config.py
これを適切に編集しましょう。
>vi stratum-mining/conf/config.py
(エディタはviでもemacsでもnanoでもかまいません。)
編集すべき点は次の通りです。
>CENTRAL_WALLET = '&italic(){ Monacoin_Address} '
>[...]
>COINDAEMON_TRUSTED_HOST = 'localhost'
>COINDAEMON_TRUSTED_PORT = 19402
>COINDAEMON_TRUSTED_USER = '&italic(){rpcuser}'
>COINDAEMON_TRUSTED_PASSWORD = ' &italic(){rpcpassword} '
>COINDAEMON_ALGO = 'scrypt'
>COINDAEMON_Reward = 'POW'
>COINDAEMON_SHA256_TX = 'no
>[...]
>HOSTNAME = ' &italic(){yourservername} '
>[...]
>DATABASE_DRIVER = 'mysql'
>DB_MYSQL_HOST = 'localhost'
>DB_MYSQL_DBNAME = 'mpos'
>DB_MYSQL_USER = ' root '
>DB_MYSQL_PASS = ' root '
>[...]
>POOL_TARGET = 16
>[...]
>SOLUTION_BLOCK_HASH = True
斜体部分は自分の環境に合わせて変えてください。
CENTRAL_WALLETには、サーバ上のmonacoindのウォレットアドレスを入力します。
ウォレットアドレスは次のコマンドで調べられます。
>monacoind getaccountaddress ""
rpcuser, rpcpasswordは、monacoin.confで設定した値に書き換えます。
下線部のmysql のルートユーザパスワードも、適切に設定して下さい。
(プール公開時はroot以外のユーザにするのが無難です)
最後に、私が試したバージョンではstratumにちょっとしたバグがあり、
修正する必要がありました。ファイル
>/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/websocket_transport.py
をエディタで開き、
>from autobahn.websocket import
の行を
>from autobahn.twisted.websocket import
と書き換える必要があります。
このバグは、pythonのライブラリのバージョンアップで起きてしまうようです。
参考: https://github.com/Crypto-Expert/stratum-mining/issues/90
これでstratum miningの設定ができました!
いよいよ起動、と言いたいところですが、まだデータベースを作っていません。
データベースにはMPOS付属のテンプレートを書き込む必要があるので、先にMPOSをインストールします。
*4. MPOSのセットアップ
----
MPOSはwebベースのphpアプリなので、まずはwebサーバとphpモジュールをインストールします。
>apt-get install apache2 php5 libapache2-mod-php5
また、mysqlのクライアントとサーバが必要なのでインストールします。
>apt-get install mysql-common
その他の必要なライブラリ類をインストールし、apacheをリロードします。
>sudo apt-get install memcached php5-memcached php5-mysqlnd php5-curl php5-json libapache2-mod-php5
>sudo apache2ctl -k stop; sleep 2; sudo apache2ctl -k start
さらに、MPOSはメールを送信するので、メールサーバを立てる必要があります。
例えばpostfixを入れるなら、
>sudo apt-get install postfix
とします。メールサーバの設定は長大になってしまうので、ここでは割愛します。
では、MPOSをダウンロードしましょう。
ここではwebのルートである/var/www以下に設置することにします。
>cd /var/www
>sudo git clone git://github.com/TheSerapher/php-mpos.git MPOS
>cd MPOS
>sudo git checkout next
ダウンロードしたファイルの中に、MPOSで利用するデータベースのひな形が入っているので、
それを利用して新しくデータベースを作ります。
># DB作成
>sudo mysql -p -e "create database mpos"
># structure のインポート
>sudo mysql -p mpos < sql/000_base_structure.sql
次にMPOS の設定です。
まずはファイルに適切な権限を与えましょう。
>sudo chown www-data public/templates/compile public/templates/cache logs
Ubuntuの場合はこれで良いですが、一般に他のOSでは設定方法が異なるので注意してください。
要するにサーバがcompileとcacheフォルダを書き換えられるようにすればOKです。
次に設定ファイルの編集です。
テンプレートをコピーして必要な部分を書き換えます。
>sudo cp public/include/config/global.inc.dist.php public/include/config/global.inc.php
>vi public/include/config/global.inc.php
要点は以下のとおりです。
>$config['db']['host'] = 'localhost';
>$config['db']['user'] = ' &italic(){root}' ;
>$config['db']['pass'] = ' &italic(){root}' ;
>$config['db']['port'] = 3306;
>$config['db']['name'] = 'mpos';
>
>[...]
>
>$config['wallet']['type'] = 'http';
>$config['wallet']['host'] = 'localhost:19402';
>$config['wallet']['username'] = ' &italic(){rpcuser}' ;
>$config['wallet']['password'] = ' &italic(){rpcpassword} ;
斜体の部分はあなたの環境に合わせて書き換えましょう。
以上で最低限の設定が完了しました!
さっそく動作テストしてみましょう。
まずはstratum-miningの起動をしましょう。
>cd ~/stratum-mining
>twistd -ny launcher.tac
つぎにブラウザで次のアドレスにアクセスします。
>http://サーバのIPアドレス/MPOS/public
見慣れたマイニングプールの画面が表示されましたか?
エラーが出ていなければ成功です!
*4.1. stratum mining と MPOSのテスト
----
まずはMPOSのインターフェイスからアカウントを作りましょう。
次にログインしてワーカーを作ります。
例によって採掘ソフトをminerdとした時、
>./minerd -a scrypt -o stratum+tcp://localhost:3333 -u user.worker -p workerpass
とやって試しに採掘してみてください。
ハッシュレートが適切に表示されれば成功です!
最後に、MPOSの定期実行ジョブを設定しておきましょう。
>/var/www/MPOS/cronjobs/run-crons.sh
を、適当な間隔で実行するようにします。
5分おきに実行するならば、
>crontab -u root -e
>/5 * * * * /var/www/MPOS/cronjobs/run-crons.sh
といった感じです。
*5. セキュリティについて
----
採掘プールを一般公開する場合は、セキュリティに十分注意を払う必要があります。
すべてを書ききることはできませんが、いくつかのヒントだけ書いておきます
-MPOS専用のDBユーザを作り、rootは使わない
-バーチャルホストを新しく作り、/var/www/MPOS/public をルートにする
-ログの監視。最低限logwatchくらいは入れましょう。
-sshでログインするときは設定に注意する
→rootでログイン出来ないようにしたり、ポート番号を変える
→鍵交換方式でログインをする
-ファイアウォールを構築する
→ufwがモダンで便利です。
開けるべきポートは、80(http)と3333(stratum mining)です。
monacoindのP2Pポート、9401は微妙な所です。
開けないほうが無難ですが、P2P接続ノード数が減って、orphanブロックが増える?
また、リモートで繋ぐならsshのポートも開けましょう。
それ以外の不要なポートは塞いでおきましょう。
*6. TIPS
----
stratum miningもMPOSも活発に開発されているので、最新版がバグっててうまく動かないことがあります。
(たいていgithubのissuesで騒いでます)
そんな時は、安全そうな過去バージョンのcommit番号を
>git log
で調べて、
>git reset --hard xxxxxxx
(xxxxxxx=commit番号)でバージョンを巻き戻しましょう
MPOSで最初に作ったユーザが管理者になります。管理者には専用メニューが表示されます
管理者メニューでテンプレートの編集ができますが、phpをいじることになるので、あまり変なことをするとadmin panelすら表示されなくなって詰みます。そうなったら手動でDBを書き換えるしかないです。(1度やったことある)
&small(){転載元http://www59.atwiki.jp/gikopool/pages/19.html}
&small(){協力:gikopoool}
.
このページはgikopool様のご厚意により転載させて頂いてます。
転載元は一番最後に記載してあります。
*プールの立て方
----
gikopoolを設置した記録を元にして、オープンソースのプール管理ソフトMPOSを使った、モナーコイン採掘プールの立て方を具体的に記録します。
https://github.com/MPOS/php-mpos/wiki/Quick-Start-Guide
の日本語版に近い内容ですが、いくつか補足を加えています。
セットアップすべきソフトは次の3つです。
-monacoind
-stratum mining
-MPOS
monacoindはモナーコインのクライアントソフトです。&small(){使い方の説明は[[コチラ>http://www59.atwiki.jp/cryptwiki/pages/40.html]]にもあります。}
stratum miningは、プールの本体です。これ自身はコマンドラインのサーバです。
MPOSは、stratum mining をwebベースで管理しやすくしてくれるフロントエンドです。
*0. 前提知識・必要環境
----
大前提として、unixの基本的な知識は必要です。
とはいえ高度な技術が必要というわけでもないので、
必要に応じて検索しながらやり方を確認できれば十分です。
プールには専用のサーバを用意した方が良いでしょう。
gikopoolでは、さくらインターネットのVPSサーバをレンタルして使っています。
一般公開の際にはセキュリティに十分注意を払ってください。
はじめはローカルの仮想環境をvmware playerなどで作って、
そこで色々と実験を行うことを推奨します。
以下の説明では、OSはUbuntu Server 12.04 LTS を想定します。
人気のディストリビューションで、ネット上にも情報が多いです。
gikopoolもこのOSを使っています。
*1. 開発環境の構築
----
Ubuntuのインストールができたら、まずはサーバをアップデートしておきましょう。
>sudo apt-get update
>sudo apt-get dist-upgrade
続いて、開発環境・ライブラリ類をインストールします。
今後必要なソフトはgithub上に公開されているので、gitコマンドを使えるようにしておくと大変便利です。
>sudo apt-get install git
>sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
*2. monacoind のセットアップ
----
まずはgithubからmonacoindを落としてきます。
>cd ~
>git clone git://github.com/monacoinproject/monacoin.git
次にコンパイルしましょう。
>cd ~/monacoin/src
># コンパイル
>make -f makefile.unix USE_UPNP=-
># 実行ファイル置き場にコピー
>sudo cp monacoind /usr/bin
monacoindは、設定ファイル
>~/.monacoin/monacoin.conf
を読みに行きます。なければ作成しましょう。
monacoin.conf の設定例は次のような感じです。
>server=1
>rpcallowip=localhost
>rpcuser= &italic(){rpcuser}
>rpcpassword= &italic(){rpcpass }
斜体の部分は適宜変更して下さい。
ユーザ名とパスワードはあとで使いますが、ファイルに書き込んでしまえば常に覚えておく必要はないので、
適当に推測しづらいものを入れておきましょう。
では、いよいよmonacoindを起動してみます。
>monacoind -daemon
うまくいけば、Monacoin server starting とメッセージが出るはずです。
次のようにコマンドを打って、monacoindの情報を確認しましょう。
>monacoind getinfo
以下のような出力があればOKです。
>"version" : 80601,
>"protocolversion" : 70002,
>"walletversion" : 60000,
>"balance" : 0.00000000,
>"blocks" : 7199,
>"timeoffset" : 0,
>"connections" : 1,
>"proxy" : "",
>"difficulty" : 0.42252295,
>"testnet" : false,
>"keypoololdest" : 1392509976,
>"keypoolsize" : 101,
>"paytxfee" : 0.00000000,
>"mininput" : 0.00001000,
>"errors" : ""
以上でmonacoindのセットアップは終わりです。
ちなみに、monacoindの同期が終わらないうちに採掘を始めようとするとエラーが出ます。
上の情報で"blocks"の値が現在のブロック数になるまでしばらく待ちましょう。
現在のブロック数は公式のクローラで見ることができます。
http://monacoin.org/crawler/block_crawler.php
ネットワークの状況にもよりますが、同期には数時間かかることもあります。
monacoind の使用するポートは2つです。デフォルトでは次のようになっています。
>9401: P2P接続のポート
>19402: rpc接続のポート
重要なので覚えておきましょう。
*2.1 monacoind のテスト
----
慎重に行くならば、ここでmonacoind が正しく動いているかテストしてみましょう。
monacoindが起動していないなら、
>monacoind -daemon
で起動させてください。
手持ちの採掘ツール(ここではcpuminerを例に取ります)で、monacoindに接続できるか実験してみましょう。
cpuminerの実行ファイル名をminerdとしたとき、
>./minerd -a scrypt -o サーバのIPアドレス:19402 -u rpcuser -p rpcpass
を実行してみましょう。
rpcuserとrpcpassはmonacoin.confで設定したものです。
また、monacoindの動いているのと別のサーバから接続するときは、
monacoin.conf でそのIPを許可する必要があります。
テストなので、
>rpcallowip=localhost
を
>rpcallowip=*
としても大丈夫です。
接続が成功してハッシュレートが表示されればOKです!
エラーが出る際は、monacoindの同期を待つとうまくいくこともあります。
*3. stratum-mining のセットアップ
----
まずは必要なライブラリ類をインストールします。
>cd ~
>sudo apt-get install python-twisted python-mysqldb python-dev python-setuptools python-memcache python-simplejson
>sudo easy_install -U distribute
つぎにstratum mining他、必要なパッケージをgithubから入手します。
>git clone https://github.com/Tydus/litecoin_scrypt.git
>git clone https://github.com/ahmedbodi/stratum-mining.git
>git clone https://github.com/ahmedbodi/stratum.git
これらのソフトをインストールします。
>cd stratum-mining
>git submodule init
>git submodule update
>cd externals/litecoin_scrypt
>sudo python setup.py install
>cd ~/stratum-mining/externals/stratum
>sudo python setup.py install
続いてstratum mining の設定です。
設定ファイルは、~/stratum-mining/conf/config.py なのですが、
最初は存在しないのでテンプレートのconfing_sample.pyをコピーしてきます。
>cd ~
>cp stratum-mining/conf/config_sample.py stratum-mining/conf/config.py
これを適切に編集しましょう。
>vi stratum-mining/conf/config.py
(エディタはviでもemacsでもnanoでもかまいません。)
編集すべき点は次の通りです。
>CENTRAL_WALLET = '&italic(){ Monacoin_Address} '
>[...]
>COINDAEMON_TRUSTED_HOST = 'localhost'
>COINDAEMON_TRUSTED_PORT = 19402
>COINDAEMON_TRUSTED_USER = '&italic(){rpcuser}'
>COINDAEMON_TRUSTED_PASSWORD = ' &italic(){rpcpassword} '
>COINDAEMON_ALGO = 'scrypt'
>COINDAEMON_Reward = 'POW'
>COINDAEMON_SHA256_TX = 'no
>[...]
>HOSTNAME = ' &italic(){yourservername} '
>[...]
>DATABASE_DRIVER = 'mysql'
>DB_MYSQL_HOST = 'localhost'
>DB_MYSQL_DBNAME = 'mpos'
>DB_MYSQL_USER = ' root '
>DB_MYSQL_PASS = ' root '
>[...]
>POOL_TARGET = 16
>[...]
>SOLUTION_BLOCK_HASH = True
斜体部分は自分の環境に合わせて変えてください。
CENTRAL_WALLETには、サーバ上のmonacoindのウォレットアドレスを入力します。
ウォレットアドレスは次のコマンドで調べられます。
>monacoind getaccountaddress ""
rpcuser, rpcpasswordは、monacoin.confで設定した値に書き換えます。
下線部のmysql のルートユーザパスワードも、適切に設定して下さい。
(プール公開時はroot以外のユーザにするのが無難です)
最後に、私が試したバージョンではstratumにちょっとしたバグがあり、
修正する必要がありました。ファイル
>/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/websocket_transport.py
をエディタで開き、
>from autobahn.websocket import
の行を
>from autobahn.twisted.websocket import
と書き換える必要があります。
このバグは、pythonのライブラリのバージョンアップで起きてしまうようです。
参考: https://github.com/Crypto-Expert/stratum-mining/issues/90
これでstratum miningの設定ができました!
いよいよ起動、と言いたいところですが、まだデータベースを作っていません。
データベースにはMPOS付属のテンプレートを書き込む必要があるので、先にMPOSをインストールします。
*4. MPOSのセットアップ
----
MPOSはwebベースのphpアプリなので、まずはwebサーバとphpモジュールをインストールします。
>apt-get install apache2 php5 libapache2-mod-php5
また、mysqlのクライアントとサーバが必要なのでインストールします。
>apt-get install mysql-common
その他の必要なライブラリ類をインストールし、apacheをリロードします。
>sudo apt-get install memcached php5-memcached php5-mysqlnd php5-curl php5-json libapache2-mod-php5
>sudo apache2ctl -k stop; sleep 2; sudo apache2ctl -k start
さらに、MPOSはメールを送信するので、メールサーバを立てる必要があります。
例えばpostfixを入れるなら、
>sudo apt-get install postfix
とします。メールサーバの設定は長大になってしまうので、ここでは割愛します。
では、MPOSをダウンロードしましょう。
ここではwebのルートである/var/www以下に設置することにします。
>cd /var/www
>sudo git clone git://github.com/TheSerapher/php-mpos.git MPOS
>cd MPOS
>sudo git checkout next
ダウンロードしたファイルの中に、MPOSで利用するデータベースのひな形が入っているので、
それを利用して新しくデータベースを作ります。
># DB作成
>sudo mysql -p -e "create database mpos"
># structure のインポート
>sudo mysql -p mpos < sql/000_base_structure.sql
次にMPOS の設定です。
まずはファイルに適切な権限を与えましょう。
>sudo chown www-data public/templates/compile public/templates/cache logs
Ubuntuの場合はこれで良いですが、一般に他のOSでは設定方法が異なるので注意してください。
要するにサーバがcompileとcacheフォルダを書き換えられるようにすればOKです。
次に設定ファイルの編集です。
テンプレートをコピーして必要な部分を書き換えます。
>sudo cp public/include/config/global.inc.dist.php public/include/config/global.inc.php
>vi public/include/config/global.inc.php
要点は以下のとおりです。
>$config['db']['host'] = 'localhost';
>$config['db']['user'] = ' &italic(){root}' ;
>$config['db']['pass'] = ' &italic(){root}' ;
>$config['db']['port'] = 3306;
>$config['db']['name'] = 'mpos';
>
>[...]
>
>$config['wallet']['type'] = 'http';
>$config['wallet']['host'] = 'localhost:19402';
>$config['wallet']['username'] = ' &italic(){rpcuser}' ;
>$config['wallet']['password'] = ' &italic(){rpcpassword} ;
斜体の部分はあなたの環境に合わせて書き換えましょう。
以上で最低限の設定が完了しました!
さっそく動作テストしてみましょう。
まずはstratum-miningの起動をしましょう。
>cd ~/stratum-mining
>twistd -ny launcher.tac
つぎにブラウザで次のアドレスにアクセスします。
>http://サーバのIPアドレス/MPOS/public
見慣れたマイニングプールの画面が表示されましたか?
エラーが出ていなければ成功です!
*4.1. stratum mining と MPOSのテスト
----
まずはMPOSのインターフェイスからアカウントを作りましょう。
次にログインしてワーカーを作ります。
例によって採掘ソフトをminerdとした時、
>./minerd -a scrypt -o stratum+tcp://localhost:3333 -u user.worker -p workerpass
とやって試しに採掘してみてください。
ハッシュレートが適切に表示されれば成功です!
最後に、MPOSの定期実行ジョブを設定しておきましょう。
>/var/www/MPOS/cronjobs/run-crons.sh
を、適当な間隔で実行するようにします。
5分おきに実行するならば、
>crontab -u root -e
>/5 * * * * /var/www/MPOS/cronjobs/run-crons.sh
といった感じです。
*5. セキュリティについて
----
採掘プールを一般公開する場合は、セキュリティに十分注意を払う必要があります。
すべてを書ききることはできませんが、いくつかのヒントだけ書いておきます
-MPOS専用のDBユーザを作り、rootは使わない
-バーチャルホストを新しく作り、/var/www/MPOS/public をルートにする
-ログの監視。最低限logwatchくらいは入れましょう。
-sshでログインするときは設定に注意する
→rootでログイン出来ないようにしたり、ポート番号を変える
→鍵交換方式でログインをする
-ファイアウォールを構築する
→ufwがモダンで便利です。
開けるべきポートは、80(http)と3333(stratum mining)です。
monacoindのP2Pポート、9401は微妙な所です。
開けないほうが無難ですが、P2P接続ノード数が減って、orphanブロックが増える?
また、リモートで繋ぐならsshのポートも開けましょう。
それ以外の不要なポートは塞いでおきましょう。
*6. TIPS
----
stratum miningもMPOSも活発に開発されているので、最新版がバグっててうまく動かないことがあります。
(たいていgithubのissuesで騒いでます)
そんな時は、安全そうな過去バージョンのcommit番号を
>git log
で調べて、
>git reset --hard xxxxxxx
(xxxxxxx=commit番号)でバージョンを巻き戻しましょう
MPOSで最初に作ったユーザが管理者になります。管理者には専用メニューが表示されます
管理者メニューでテンプレートの編集ができますが、phpをいじることになるので、あまり変なことをするとadmin panelすら表示されなくなって詰みます。そうなったら手動でDBを書き換えるしかないです。(1度やったことある)
&small(){転載元http://www59.atwiki.jp/gikopool/pages/19.html}
&small(){協力:gikopoool}