mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Merge pull request #4611
234bfbf Add init scripts and docs for Upstart and OpenRC (Adam Weiss)
This commit is contained in:
@@ -67,7 +67,7 @@ The Bitcoin repo's [root README](https://github.com/bitcoin/bitcoin/blob/master/
|
||||
- [Assets Attribution](assets-attribution.md)
|
||||
- [Files](files.md)
|
||||
- [Tor Support](tor.md)
|
||||
- [Systemd](systemd.md)
|
||||
- [Init Scripts (systemd/upstart/openrc)](init.md)
|
||||
|
||||
License
|
||||
---------------------
|
||||
|
||||
92
doc/init.md
Normal file
92
doc/init.md
Normal file
@@ -0,0 +1,92 @@
|
||||
Sample init scripts and service configuration for bitcoind
|
||||
==========================================================
|
||||
|
||||
Sample scripts and configuration files for systemd, Upstart and OpenRC
|
||||
can be found in the contrib/init folder.
|
||||
|
||||
contrib/init/bitcoind.service: systemd service unit configuration
|
||||
contrib/init/bitcoind.openrc: OpenRC compatible SysV style init script
|
||||
contrib/init/bitcoind.openrcconf: OpenRC conf.d file
|
||||
contrib/init/bitcoind.conf: Upstart service configuration file
|
||||
|
||||
1. Service User
|
||||
---------------------------------
|
||||
|
||||
All three startup configurations assume the existence of a "bitcoin" user
|
||||
and group. They must be created before attempting to use these scripts.
|
||||
|
||||
2. Configuration
|
||||
---------------------------------
|
||||
|
||||
At a bare minimum, bitcoind requires that the rpcpassword setting be set
|
||||
when running as a daemon. If the configuration file does not exist or this
|
||||
setting is not set, bitcoind will shutdown promptly after startup.
|
||||
|
||||
This password does not have to be remembered or typed as it is mostly used
|
||||
as a fixed token that bitcoind and client programs read from the configuration
|
||||
file, however it is recommended that a strong and secure password be used
|
||||
as this password is security critical to securing the wallet should the
|
||||
wallet be enabled.
|
||||
|
||||
If bitcoind is run with "-daemon" flag, and no rpcpassword is set, it will
|
||||
print a randomly generated suitable password to stderr. You can also
|
||||
generate one from the shell yourself like this:
|
||||
|
||||
bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'
|
||||
|
||||
Once you have a password in hand, set rpcpassword= in /etc/bitcoin/bitcoin.conf
|
||||
|
||||
For an example configuration file that describes the configuration settings,
|
||||
see contrib/debian/examples/bitcoin.conf.
|
||||
|
||||
3. Paths
|
||||
---------------------------------
|
||||
|
||||
All three configurations assume several paths that might need to be adjusted.
|
||||
|
||||
Binary: /usr/bin/bitcoind
|
||||
Configuration file: /etc/bitcoin/bitcoin.conf
|
||||
Data directory: /var/lib/bitcoind
|
||||
PID file: /var/run/bitcoind/bitcoind.pid (OpenRC and Upstart)
|
||||
/var/lib/bitcoind/bitcoind.pid (systemd)
|
||||
|
||||
The configuration file, PID directory (if applicable) and data directory
|
||||
should all be owned by the bitcoin user and group. It is advised for security
|
||||
reasons to make the configuration file and data directory only readable by the
|
||||
bitcoin user and group. Access to bitcoin-cli and other bitcoind rpc clients
|
||||
can then be controlled by group membership.
|
||||
|
||||
4. Installing Service Configuration
|
||||
-----------------------------------
|
||||
|
||||
4a) systemd
|
||||
|
||||
Installing this .service file consists on just copying it to
|
||||
/usr/lib/systemd/system directory, followed by the command
|
||||
"systemctl daemon-reload" in order to update running systemd configuration.
|
||||
|
||||
To test, run "systemctl start bitcoind" and to enable for system startup run
|
||||
"systemctl enable bitcoind"
|
||||
|
||||
4b) OpenRC
|
||||
|
||||
Rename bitcoind.openrc to bitcoind and drop it in /etc/init.d. Double
|
||||
check ownership and permissions and make it executable. Test it with
|
||||
"/etc/init.d/bitcoind start" and configure it to run on startup with
|
||||
"rc-update add bitcoind"
|
||||
|
||||
4c) Upstart (for Debian/Ubuntu based distributions)
|
||||
|
||||
Drop bitcoind.conf in /etc/init. Test by running "service bitcoind start"
|
||||
it will automatically start on reboot.
|
||||
|
||||
NOTE: This script is incompatible with CentOS 5 and Amazon Linux 2014 as they
|
||||
use old versions of Upstart and do not supply the start-stop-daemon uitility.
|
||||
|
||||
5. Auto-respawn
|
||||
-----------------------------------
|
||||
|
||||
Auto respawning is currently only configured for Upstart and systemd.
|
||||
Reasonable defaults have been chosen but YMMV.
|
||||
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
SYSTEMD SUPPORT IN BITCOIN
|
||||
==========================
|
||||
|
||||
Packagers can find a .service file in this repo in order to integrate bitcoin's
|
||||
daemon into systemd based distributions.
|
||||
|
||||
bitcoind.service file is located in contrib/systemd/ folder.
|
||||
|
||||
1. Users
|
||||
---------------------------------
|
||||
|
||||
This .service file assumes bitcoind user and group exist in the system, so packager
|
||||
should make sure they are created on installation.
|
||||
|
||||
2. Files
|
||||
---------------------------------
|
||||
|
||||
The .service file assumes several paths that might need to be adjusted according
|
||||
to packager's needs.
|
||||
|
||||
Daemon's config file is assumed to be located at /etc/bitcoind.conf (you can
|
||||
use contrib/debian/examples/bitcoin.conf as an example). Once installed, users
|
||||
must edit the file in order to update at least these two
|
||||
values: rpcuser and rpcpassword . Failing to do so will make the daemon fail
|
||||
to boot. However, the message written to /var/lib/bitcoind/debug.log file is
|
||||
very helpful and no default values should be set:
|
||||
|
||||
YYYY-MM-DD HH:MM:DD Error: To use the "-server" option, you must set a rpcpassword in the configuration file:
|
||||
/etc/bitcoind.conf
|
||||
It is recommended you use the following random password:
|
||||
rpcuser=bitcoinrpc
|
||||
rpcpassword=HdYZ5HGtAF7mx8aTw6uCATtD2maMAK4E12Ysp4YNZQcX
|
||||
(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.
|
||||
It is also recommended to set alertnotify so you are notified of problems;
|
||||
for example: alertnotify=echo %s | mail -s "Bitcoin Alert" admin@foo.com
|
||||
|
||||
Daemon's data and pid files will be stored in /var/lib/bitcoind directory, so it
|
||||
should be created on installation and make bitcoind user/group it's owner.
|
||||
|
||||
3. Installing .service file
|
||||
---------------------------------
|
||||
|
||||
Installing this .service file consists on just copying it to /usr/lib/systemd/system
|
||||
directory, followed by the command "systemctl daemon-reload" in order to update
|
||||
running systemd configuration.
|
||||
Reference in New Issue
Block a user