================== Installation Guide ================== BTCnDash is developed on and intended for use on Debian/Ubuntu linux flavours. It should work anywhere Python 2.7 or 3.5 work, but it hasn't been tested very much. BTCnDash is not currently compatible with Python 2.6. This guide assumes you have bitcoind installed already. There are various tutorials on the web on how to do this. .. contents:: Table of contents Create a new User ~~~~~~~~~~~~~~~~~ It's a bad idea to run most anything as root so let's create a user just for BTCnDash:: sudo adduser --system --group btcndash Create a virtualenv ~~~~~~~~~~~~~~~~~~~ Technically, this step is optional, but it's highly recommended to ensure updates to other Python files/libraries later don't break BTCnDash. Many users will already have pip and virtualenv installed, but if not install them now. The exact location of the home directory is not important as long as the permissions are set properly (see later steps):: sudo apt-get install python-pip python-virtualenv cd /home/btcndash virtualenv venv source venv/bin/activate Install BTCnDash ~~~~~~~~~~~~~~~~ The recommended way to install BTCnDash is via pip:: pip install btcndash It can also be installed manually by downloading the latest release of BTCnDash:: wget https://bitbucket.org/mattdoiron/btcndash/get/v2.3.2.tar.gz If you have mercurial installed you can also do:: hg clone https://bitbucket.org/mattdoiron/btcndash In either of the manual cases, you will need to manually install the dependencies:: pip install -r requirements.txt Configure bitcoind and BTCnDash ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Take a look at the sample ``bitcoin.conf`` supplied in the ``docs`` folder, to see how to configure bitcoind to accept RPC requests. The important steps would be to ensure that the RPC server is enabled by setting ``server=1`` and that a username and password are defined with ``rpcuser`` and ``rpcpassword``. If there is a firewall involved, it must be configured to ensure that the RPC port is accessible from the machine on which BTCnDash in installed. Make sure you open the port for the BTCnDash webserver so that you can access it over your network and/or the internet. Note this is NOT the same as the RPC port. The RPC port should NOT be exposed unless you intend to run the BTCnDash program on a computer other than the one running bitcoind. It is a significant security risk to expose the RPC port to the Internet! You may need to open the webserver port on your router as well (similarly to how you would have opened a port for bitcoind to get it working). See the :doc:`configuration` for details on configuring BTCnDash itself. Create startup scripts ~~~~~~~~~~~~~~~~~~~~~~ Use the provided startup scripts in the ``scripts`` folder and change any values near the top of the file to match your system and the location of various files. Specific instructions for locations and use of these scripts is beyond the scope fo this help, so please see the web for additional details if needed. Permissions ~~~~~~~~~~~ Use the following command to make sure the files that will be used by BTCnDash are owned by the user created in step one:: sudo chown -R btcndash:btcndash /path/to/virtualenv sudo chown -R btcndash:btcndash /path/to/btcndash_homedir Start it and test it ~~~~~~~~~~~~~~~~~~~~ If installed via pip, BTCnDash can be started like this:: btcndash Or, if using a startup script, then:: sudo start btcndash or:: sudo service btcndash start or for systemd:: sudo systemctl enable btcndash sudo systemctl start btcndash