Ive replied to your message noel, below is from another post of mine but the last part has changed for p2pool and so software is updated to the current versions.
This is just for bitcoin, dont know anything about the altcoins.
This is use at your own risk. I'm not a expert.
Re the major pools.
They seem to be good people and the amount of work they do and investment over the years including writing the software below, should be worth the 1 to 3 percent they ask. But in the name of diversity..
You can do this in virtual box to give it a try out first.
So you have yourself a ubuntu 12.1032bit (see a post further down on what changes are needed for 64bit) linux server install and you want to setup a pool server for solo mining on it.
I normally do this from windows box using putty to ssh into the ubuntu box.
Things you need
Make sure your login is in the sudoers list (this will be automatic if you installed from dvd and created your login name with the installer).
Then at the command prompt first thing we are going to do is update and upgrade the system to the latest packages
with all the sudos you have to put your login password in when it asks for it.
with the apt-get installs hit y and enter whenever it asks you.
sudo apt-get update
once its complete
sudo apt-get upgrade
now to install bitcoind
make sure git is installed first
sudo apt-get install git
now make directory under you home one called like so
change the directory you just made
get the source for bitcoind instructions to build it are also here
git clone https://github.com/bitcoin/bitcoin.git
git checkout 0.8.1
Install the build dependencies
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libminiupnpc-dev
sudo dpkg -i libdb4.8_4.8.30-quantal2_i386.deb
sudo dpkg -i libdb4.8-dev_4.8.30-quantal2_i386.deb
sudo dpkg -i libdb4.8++_4.8.30-quantal2_i386.deb
sudo dpkg -i libdb4.8++-dev_4.8.30-quantal2_i386.deb
then to build
make -f makefile.unix
once its finished building without errors, copy it into /usr/local/bin
sudo cp ./bitcoind /usr/local/bin/
then run it by typing
it will output
Error: To use bitcoind, you must set a rpcpassword in the configuration file:
It is recommended you use the following random password:
(you do not need to remember this password)
The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions.
cut and past the rpcuser and rpcpassword lines to a temporary text file and save it for later.
now create the bitcoin.conf file
open up bitcoin.conf in a text editor like pico
add the lines
and cut and past the two lines from above that you saved from above from the temporary text file into the bitcoin.conf
so it should look like this once finsihed
then press cntrl x
hit y to save
hit enter to save it to bitcoin.conf
then change the permissions on bitcoin.conf to user only read permissions
chmod go-rwx bitcoin.conf
now start bitcoind
it should show
Bitcoin server starting
hit enter again to get back to shell prompt
after a couple of hours or up to 8 depending on hardware and bandwidth it will sync the block chain
after 10 minutes or so on the command line type
you get something similar to
blah@ks3098647:~$ bitcoind getinfo
"version" : 80000,
"protocolversion" : 70001,
"walletversion" : 60000,
"balance" : 0.00000000,
"blocks" : 2332935,
"timeoffset" : -5,
"connections" : 17,
"proxy" : "",
"difficulty" : 92452111.90472507,
"testnet" : False,
"keypoololdest" : 1364506205,
"keypoolsize" : 101,
"paytxfee" : 0.00000000,
"errors" : ""
Install the dependencies
sudo apt-get install python-zope.interface python-twisted python-twisted-web
If you are not using a python version Python 2.6 or older then you will also need this dependency
sudo apt-get install python-argparse
get the p2pool software
git clone https://github.com/forrestv/p2pool.git
For avalon users only there is a separate branch you can try(dont ask me if it works ask foresttv) you can give it a try by doing the following.
git checkout avalon
to run the pool, bitcoind has to be fully synced first(p2pool will tell you anyway if its not)
python run_p2pool.py -a your bitcoin address here --give-author 0.5 bitcoinrpc rpcpassword
-a <your bit coin address>
is a default address to send coins to incase somone connects without a bitcoin address in their username
If you dont specify this is uses one from the bitcoind wallet on the server
--give-author is the % of what you mine that you want to give the developer of the software
bitcoinrpc is the rpc username from your bitcoin.conf
rpcpassword is the rpcpassword from your bitcoind.conf
both of these you pasted into the file ealier in this tute.
What you should see when it works
2013-04-21 15:09:15.379437 p2pool (version 11.3-1-g81a3613)
2013-04-21 15:09:15.379708 Testing bitcoind RPC connection to 'http://127.0.0.1:8332/' with username 'bitcoinrpc'...
2013-04-21 15:09:18.043158 ...success!
2013-04-21 15:09:18.043294 Current block hash: a23840fbcd2619baafe06cec6f2c4a0faea58066fc2da6e4a1
2013-04-21 15:09:18.043368 Current block height: 232370
2013-04-21 15:09:18.043503 Testing bitcoind P2P connection to '127.0.0.1:8333'...
2013-04-21 15:09:24.630243 ...success!
2013-04-21 15:09:24.630457 Determining payout address...
2013-04-21 15:09:24.630684 ...success! Payout address: your bitcoin address here
2013-04-21 15:09:24.630920 Loading shares...
2013-04-21 15:09:24.631070 ...done loading 0 shares (0 verified)!
2013-04-21 15:09:24.631190 Initializing work...
2013-04-21 15:09:24.819593 ...success!
2013-04-21 15:09:24.819859 Joining p2pool network using port 9333...
2013-04-21 15:09:25.106987 ...success!
2013-04-21 15:09:25.107631 Listening for workers on '' port 9332...
2013-04-21 15:09:25.161043 ...success!
2013-04-21 15:09:25.161282 Started successfully!
2013-04-21 15:09:25.161388 Go to http://127.0.0.1:9332/ to view graphs and statistics!
2013-04-21 15:09:25.161503 Donating 0.5% of work towards P2Pool's development. Please donate to encourage further development of P2Pool!
2013-04-21 15:09:28.161993 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming)
2013-04-21 15:09:28.162149 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ???
2013-04-21 15:09:33.904233 Outgoing connection to peer 22.214.171.124:9333 established. p2pool version: 1100 '11.2-6-g7b73477'
2013-04-21 15:09:34.162556 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 1 (0 incoming)
2013-04-21 15:09:34.162810 Local: 0H/s in last 0.0 seconds Local dead on arrival: ??? Expected time to share: ???
errors when running p2pool
2013-04-21 14:45:40.281658 p2pool (version 11.3-1-g81a3613)
2013-04-21 14:45:40.281957 Testing bitcoind RPC connection to 'http://127.0.0.1:8332/' with username 'bitcoinrpc'...
2013-04-21 14:45:40.284031 > Error while checking Bitcoin connection:
bitcoind isnt running.
2013-04-21 14:50:26.773599 Testing bitcoind RPC connection to 'http://127.0.0.1:8332/' with username 'bitcoinrpc'...
2013-04-21 14:50:26.804123 > Error getting work from bitcoind:
2013-04-21 14:50:26.804287 > Traceback (most recent call last):
2013-04-21 14:50:26.804384 > File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 551, in _runCallbacks
2013-04-21 14:50:26.806088 > raise Error_for_code(resp['error']['code'])(resp['error']['message'], resp['error'].get('data', None))
2013-04-21 14:50:26.806162 > p2pool.util.jsonrpc.NarrowError: -10 Bitcoin is downloading blocks...
bitcoind not synced
2013-04-21 14:53:42.794531 Testing bitcoind RPC connection to 'http://127.0.0.1:8332/' with username 'bitcoinrpc'...
2013-04-21 14:53:42.800697 > Error while checking Bitcoin connection:
2013-04-21 14:53:42.800948 > Traceback (most recent call last):
2013-04-21 14:53:42.801090 > File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 551, in _runCallbacks
2013-04-21 14:53:42.801233 > current.result = callback(current.result, *args, **kw)
2013-04-21 14:53:43.815486 > File "/home/brad/git/p2pool/p2pool/util/jsonrpc.py", line 126, in _http_do
2013-04-21 14:53:43.815540 > raise e
2013-04-21 14:53:43.815593 > twisted.web.error.Error: 401 Authorization Required
bitcoin rpc username or password wrong
once the pool is running it should start syncing with the other p2pool peers.
check the server is running onhttp://youripordomainname:9332/
then connect to it with your miner software username is your bitcoin address(this is how you get paid for mining from the pool), password is random it doesnt matter.
Once you have tested it and its working control c to stop the pool server
then hit the up arrow key and put a & at the end of the line
python run_p2pool.py -a your bitcoin address here --give-author 0.5 bitcoinrpc rpcpasswordfromabove > /dev/null 2>&1 &
Which will run it in the background you can use screen for this, it makes thing easier.
then hit enter
type the line to start the pool
once it starts hit cntrl d
which detaches it
and screen -r to reattach it
see O.P post for more info.
If the machine is rebooted for some reason you will have to start bitcoind and the pool server again. This can be automated if you want.
Cheers and good luck with your mining.