今天边搭建边写出来的,明天再仔细审校修改。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
sudo apt-get install vim
装置网站服务器
linux+apache+mysql+php 装置办法 https://library.linode.com/lamp-guides
linux+nginx+mysql+php 装置办法 https://library.linode.com/lemp-guides
apt-get install apache2
修改/etc/apache2/apache2.conf
增加虚拟主机/etc/apache2/sites-available/example.com
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/www/example.com/public_html/
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
由于矿池只有一个网站,这儿都是用默认设置,不再装备。有需求去看网站相关装备
装置mysql
apt-get install mysql-server
备份修改mysql装备文件
cp /etc/mysql/my.cnf ~/my.cnf.backup
有需要就装置 mysql_secure_installation
apt-get install php5-mysql
service apache2 reload
检查网站有没有运行 localhost
装置矿池
https://github.com/TheSerapher/php-mpos/wiki/Quick-Start-Guide
装置币种的服务端(以莱特币为例)
apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev
git clone git://github.com/litecoin-project/litecoin.git
编译
cd ~/litecoin/src
make -f makefile.unix USE_UPNP=-
有些币种短少obj文件夹报错,mkdir obj就能够了
cp litecoind /usr/bin 增加到大局途径
履行litecoind 会提示短少装备文件 同时自动建立目录~/.litecoin/
复制下来输出
rpcuser=redcoinrpc
rpcpassword=BhLthSYC6NJ9hUVuxXNYUwoZVGEZruiLueEb6Qu3bSPj
写入下面的文件
创建~/.litecoin/litecoin.conf 内容 从这儿 …
修改rpcuser rpcpassword rpcport
装置Stratum Mining 挖矿服务端
apt-get install python-twisted python-mysqldb python-dev python-setuptools python-memcache python-simplejson
easy_install -U distribute
easy_install stratum
ubuntu履行 easy_install stratum时总是报错 (尼玛 python的这玩意儿是一次性的吗?第一次用easy_install行,第2次就崩)
raise ImportError(“Entry point %r not found” % ((group,name),))
ImportError: Entry point (‘console_scripts’, ‘easy_install’) not found
解决办法
sudo rm /usr/bin/easy_install*
sudo rm /usr/local/bin/easy_install*
curl -O http://python-distribute.org/distribute_setup.py 没有curl先装curl apt-get install curl
sudo python distribute_setup.py
sudo rm distribute_setup.py
完成之后重新履行
easy_install stratum
装置挖矿服务端
git clone https://github.com/Tydus/litecoin_scrypt.git
git clone https://github.com/ahmedbodi/stratum-mining.git
装备
cd stratum-mining
git submodule init
git submodule update
cd externals/litecoin_scrypt
python setup.py install
cd externals/stratum
python setup.py install
cd stratum-mining
cp conf/config_sample.py conf/config.py
vim conf/config.py
装备
CENTRAL_WALLET = 'RjSTxLHk7JCEeT9G5Q6EvZ1ZDbvt1Qt1AT' #钱包用litecoind getnewaddress生成
COINDAEMON_TRUSTED_HOST = 'localhost'
COINDAEMON_TRUSTED_PORT = 19333 #用户名密码端口号是前面装备的rpcxxx
COINDAEMON_TRUSTED_USER = 'redcoinrpc'
COINDAEMON_TRUSTED_PASSWORD = 'BhLthSYC6NJ9hUVuxXNYUwoZVGEZruiLueEb6Qu3bSPj'
LISTEN_SOCKET_TRANSPORT = 3333 #挖矿运用的端口
DATABASE_DRIVER = 'mysql'
DB_MYSQL_HOST = 'localhost' #数据库相关
DB_MYSQL_DBNAME = 'mpos'
DB_MYSQL_USER = 'root'
DB_MYSQL_PASS = '123456'
装置mpos
装置依赖
apt-get install memcached php5-memcached php5-mysqlnd php5-curl
apachectl stop; sleep 2; apachectl start #重启apache服务 一般都是用 service apache2 reload 不知道用这个有什么特别的
下载网站代码
cd /var/www
git clone git://github.com/TheSerapher/php-mpos.git mpos #原教程是MPOS 最讨厌看到用大写目录的
cd mpos
git checkout next
#建立数据库 跟上面挖矿服务端的装备对应的数据库
cd /var/www/mpos
mysql -uroot -p -e “create database mpos”
mysql -uroot -p mpos < sql/000_base_structure.sql
#更改smarty目录权限
chown www-data public/templates/compile public/templates/cache
#修改网站装备
cp public/include/config/global.inc.dist.php public/include/config/global.inc.php
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'root';
$config['db']['pass'] = '123456';
$config['db']['port'] = 3306;
$config['db']['name'] = 'mpos';
$config['wallet']['type'] = 'http';
$config['wallet']['host'] = 'localhost:19333';
$config['wallet']['username'] = 'testnet';
$config['wallet']['password'] = 'testnet';
$config['reward_type'] = 'block';//'fixed'; fixed是固定巨细 改成block就是自动读取服务端的巨细
$config['reward'] = 50;
$config['confirmations'] = 120; //多少个确认能够开销
$config['network_confirmations'] = 120;//多少个网络确认能够开销,一般跟上面的相同
履行计划任务
cd /var/www/mpos/cronjobs/
去这篇博客下载mytask (linux的cron看起来很费事的姿态,不如运用他人写的脚本,下载完之后照着例子写一个就行)
http://www.cnblogs.com/lykyl/archive/2013/05/06/3063905.html
解压
unzip mytask.zip
照着例子写一个tasks/xxx
#!/bin/bash
RunArg='mposcron#now#2m'
function mposcron()
https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg
/var/www/mpos/cronjobs/run-crons.sh -v -f;
return 0;
}
删除掉例子任务 sudo rm tasks/*
nohup sudo ./mytask.sh &
cd ~/stratum-mining
sudo twistd -ny launcher.tac
有时候运行会报这个错误
from autobahn.websocket import WebSocketServerProtocol, WebSocketServerFactory
exceptions.ImportError: cannot import name WebSocketServerProtocol
最后发现是由于不兼容autobahn 0.7.x 有必要换成0.6.5才行 (python的东西都是这么脑残吗?)
去这儿下载
https://www.versioneye.com/python/autobahn/0.6.5
直达链接
https://pypi.python.org/packages/2.7/a/autobahn/autobahn-0.6.5-py2.7.egg
下载完之后 装置
sudo easy_install autobahn-0.6.5-py2.7.egg
假如不是服务器,需要去路由做端口映射,包括网站和挖矿端口
都运行起来之后,找一个挖矿的客户端测试一下