Add rippled rpm install/update instructions for Ubuntu (#195)

DEC-743
This commit is contained in:
Brandon Wilson
2016-06-16 12:49:03 -07:00
committed by Rome Reginelli
parent 0b0b0cad10
commit 3e875a27b6
2 changed files with 122 additions and 23 deletions

View File

@@ -69,7 +69,7 @@ Production `rippled` instances can [use Ripple's binary executable](#installatio
A `rippled` server should run comfortably on commodity hardware, to make it inexpensive to participate in the network. At present, we recommend the following:
- Operating System:
- Production: CentOS or RedHat Enterprise Linux (latest release) supported
- Production: CentOS or RedHat Enterprise Linux (latest release) or Ubuntu (15.04+) supported
- Development: Mac OS X, Windows (64-bit), or most Linux distributions
- CPU: 64-bit x86_64, 2+ cores
- Disk: Minimum 50GB SSD recommended (500+ IOPS, more is better) for the database partition
@@ -100,20 +100,57 @@ This section assumes that you are using CentOS 7 or Red Hat Enterprise Linux 7.
$ sudo systemctl start rippled.service
## Installation on Ubuntu with alien ##
This section assumes that you are using Ubuntu 15.04 or later.
1. Install yum-utils and alien:
$ sudo apt-get update
$ sudo apt-get install yum-utils alien
2. Install the Ripple rpm repository:
$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
3. Download the `rippled` software package:
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
4. Verify the signature on the `rippled` software package:
$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release && rpm -K rippled*.rpm
5. Install the `rippled` software package:
$ sudo alien -i --scripts rippled*.rpm && rm rippled*.rpm
6. Configure the `rippled` service to start on system boot:
$ sudo systemctl enable rippled.service
7. Start the `rippled` service
$ sudo systemctl start rippled.service
## Postinstall ##
It can take several minutes for `rippled` to sync with the rest of the network, during which time it outputs warnings about missing ledgers. After that, you have a fully functional stock `rippled` server that you can use for local signing and API access to the Ripple peer-to-peer network.
[rippled commands](reference-rippled.html#list-of-public-commands) can be run with:
$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg <command>
$ /opt/ripple/bin/rippled <command>
## Updating rippled ##
### Automatic ###
You can subscribe to the [rippled Google Group](https://groups.google.com/forum/#!forum/ripple-server) to receive notifications of new `rippled` releases.
### Automatic Update on CentOS/Red Hat ###
Automatic rippled updates can be enabled with a one-time Cron configuration:
1. Check that `/opt/ripple/bin/update-rippled.sh` exists. If it does not, [update manually](#manual).
1. Check that `/opt/ripple/bin/update-rippled.sh` exists. If it does not, [update manually](#manual-update-on-centosred-hat).
2. Install `crond`:
@@ -131,7 +168,7 @@ Automatic rippled updates can be enabled with a one-time Cron configuration:
The script updates the installed `rippled` package within an hour of each new release.
### Manual ###
### Manual Update on CentOS/Red Hat ###
Run the following commands to update to the latest release of `rippled`:
@@ -140,7 +177,16 @@ Run the following commands to update to the latest release of `rippled`:
$ sudo systemctl daemon-reload
$ sudo service rippled restart
You can subscribe to the [rippled Google Group](https://groups.google.com/forum/#!forum/ripple-server) to receive notifications of new `rippled` releases.
### Manual Update on Ubuntu ###
Run the following commands to update to the latest release of `rippled`:
$ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
$ rpm -K rippled*.rpm
$ sudo alien -i --scripts rippled*.rpm
$ sudo systemctl daemon-reload
$ sudo service rippled restart
# Running a Validator #
@@ -164,7 +210,7 @@ Running a `rippled` validator that participates in the Consensus process is simp
3. Generate a validation public key and seed, and save the output to a secure place:
$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg -q validation_create
$ /opt/ripple/bin/rippled -q validation_create
{
"status" : "success",
"validation_key" : "FOLD WERE CHOW WIT SWIM RANK WED DAN LAIN TRIO MURK NELL",
@@ -221,7 +267,7 @@ The steps below describe how to set the domain field of a validator's Ripple acc
1. Get the validator's account address (`account_id`) using the `validation_seed` generated [above](#validator-setup) in step 3:
$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg wallet_propose <your-validation-seed>
$ /opt/ripple/bin/rippled -q wallet_propose <your-validation-seed>
{
"result" : {
"account_id" : "rU7bM9ENDkybaxNrefAVjdLTyNLuue1KaJ",
@@ -240,11 +286,11 @@ The steps below describe how to set the domain field of a validator's Ripple acc
3. Set the [`Domain` field](reference-transaction-format.html#domain) of the account to match the domain hosting your ripple.txt
$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg submit <your-secret-key> '{"TransactionType": "AccountSet", "Account": "<your-account-id>", "Domain": "<your-hex-encoded-domain>", "Fee": "10000"}'
$ /opt/ripple/bin/rippled -q submit <your-secret-key> '{"TransactionType": "AccountSet", "Account": "<your-account-id>", "Domain": "<your-hex-encoded-domain>", "Fee": "10000"}'
4. Verify that your account's domain has been set.
$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg account_info <your-account-id>
$ /opt/ripple/bin/rippled -q account_info <your-account-id>
# Additional Configuration #

View File

@@ -146,9 +146,12 @@
<li class="level-1"><a href="#installing-rippled">Installing rippled</a></li>
<li class="level-2"><a href="#system-requirements">System Requirements</a></li>
<li class="level-2"><a href="#installation-on-centosred-hat-with-yum">Installation on CentOS/Red Hat with yum</a></li>
<li class="level-2"><a href="#installation-on-ubuntu-with-alien">Installation on Ubuntu with alien</a></li>
<li class="level-2"><a href="#postinstall">Postinstall</a></li>
<li class="level-2"><a href="#updating-rippled">Updating rippled</a></li>
<li class="level-3"><a href="#automatic">Automatic</a></li>
<li class="level-3"><a href="#manual">Manual</a></li>
<li class="level-3"><a href="#automatic-update-on-centosred-hat">Automatic Update on CentOS/Red Hat</a></li>
<li class="level-3"><a href="#manual-update-on-centosred-hat">Manual Update on CentOS/Red Hat</a></li>
<li class="level-3"><a href="#manual-update-on-ubuntu">Manual Update on Ubuntu</a></li>
<li class="level-1"><a href="#running-a-validator">Running a Validator</a></li>
<li class="level-2"><a href="#validator-setup">Validator Setup</a></li>
<li class="level-2"><a href="#public-facing-server">Public-Facing Server</a></li>
@@ -223,7 +226,7 @@
<p>A <code>rippled</code> server should run comfortably on commodity hardware, to make it inexpensive to participate in the network. At present, we recommend the following:</p>
<ul>
<li>Operating System:<ul>
<li>Production: CentOS or RedHat Enterprise Linux (latest release) supported</li>
<li>Production: CentOS or RedHat Enterprise Linux (latest release) or Ubuntu (15.04+) supported</li>
<li>Development: Mac OS X, Windows (64-bit), or most Linux distributions</li>
</ul>
</li>
@@ -257,16 +260,58 @@
</code></pre>
</li>
</ol>
<h2 id="installation-on-ubuntu-with-alien">Installation on Ubuntu with alien</h2>
<p>This section assumes that you are using Ubuntu 15.04 or later.</p>
<ol>
<li>
<p>Install yum-utils and alien:</p>
<pre><code>$ sudo apt-get update
$ sudo apt-get install yum-utils alien
</code></pre>
</li>
<li>
<p>Install the Ripple rpm repository:</p>
<pre><code>$ sudo rpm -Uvh https://mirrors.ripple.com/ripple-repo-el7.rpm
</code></pre>
</li>
<li>
<p>Download the <code>rippled</code> software package:</p>
<pre><code>$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
</code></pre>
</li>
<li>
<p>Verify the signature on the <code>rippled</code> software package:</p>
<pre><code>$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release &amp;&amp; rpm -K rippled*.rpm
</code></pre>
</li>
<li>
<p>Install the <code>rippled</code> software package:</p>
<pre><code>$ sudo alien -i --scripts rippled*.rpm &amp;&amp; rm rippled*.rpm
</code></pre>
</li>
<li>
<p>Configure the <code>rippled</code> service to start on system boot:</p>
<pre><code>$ sudo systemctl enable rippled.service
</code></pre>
</li>
<li>
<p>Start the <code>rippled</code> service</p>
<pre><code>$ sudo systemctl start rippled.service
</code></pre>
</li>
</ol>
<h2 id="postinstall">Postinstall</h2>
<p>It can take several minutes for <code>rippled</code> to sync with the rest of the network, during which time it outputs warnings about missing ledgers. After that, you have a fully functional stock <code>rippled</code> server that you can use for local signing and API access to the Ripple peer-to-peer network.</p>
<p><a href="reference-rippled.html#list-of-public-commands">rippled commands</a> can be run with:</p>
<pre><code> $ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg &lt;command&gt;
<pre><code> $ /opt/ripple/bin/rippled &lt;command&gt;
</code></pre>
<h2 id="updating-rippled">Updating rippled</h2>
<h3 id="automatic">Automatic</h3>
<p>You can subscribe to the <a href="https://groups.google.com/forum/#!forum/ripple-server">rippled Google Group</a> to receive notifications of new <code>rippled</code> releases.</p>
<h3 id="automatic-update-on-centosred-hat">Automatic Update on CentOS/Red Hat</h3>
<p>Automatic rippled updates can be enabled with a one-time Cron configuration:</p>
<ol>
<li>
<p>Check that <code>/opt/ripple/bin/update-rippled.sh</code> exists. If it does not, <a href="#manual">update manually</a>.</p>
<p>Check that <code>/opt/ripple/bin/update-rippled.sh</code> exists. If it does not, <a href="#manual-update-on-centosred-hat">update manually</a>.</p>
</li>
<li>
<p>Install <code>crond</code>:</p>
@@ -286,14 +331,22 @@
</li>
</ol>
<p>The script updates the installed <code>rippled</code> package within an hour of each new release.</p>
<h3 id="manual">Manual</h3>
<h3 id="manual-update-on-centosred-hat">Manual Update on CentOS/Red Hat</h3>
<p>Run the following commands to update to the latest release of <code>rippled</code>:</p>
<pre><code> $ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
$ sudo yum update --enablerepo=ripple-stable rippled
$ sudo systemctl daemon-reload
$ sudo service rippled restart
</code></pre>
<p>You can subscribe to the <a href="https://groups.google.com/forum/#!forum/ripple-server">rippled Google Group</a> to receive notifications of new <code>rippled</code> releases.</p>
<h3 id="manual-update-on-ubuntu">Manual Update on Ubuntu</h3>
<p>Run the following commands to update to the latest release of <code>rippled</code>:</p>
<pre><code> $ sudo rpm -Uvh --replacepkgs https://mirrors.ripple.com/ripple-repo-el7.rpm
$ yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled
$ rpm -K rippled*.rpm
$ sudo alien -i --scripts rippled*.rpm
$ sudo systemctl daemon-reload
$ sudo service rippled restart
</code></pre>
<h1 id="running-a-validator">Running a Validator</h1>
<p>Running a <code>rippled</code> validator that participates in the Consensus process is simple:</p>
<ol>
@@ -319,7 +372,7 @@
</li>
<li>
<p>Generate a validation public key and seed, and save the output to a secure place:</p>
<pre><code>$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg -q validation_create
<pre><code>$ /opt/ripple/bin/rippled -q validation_create
{
"status" : "success",
"validation_key" : "FOLD WERE CHOW WIT SWIM RANK WED DAN LAIN TRIO MURK NELL",
@@ -376,7 +429,7 @@ ssdecohJMDPFuUPDkmG1w4objZyp4
<ol>
<li>
<p>Get the validator's account address (<code>account_id</code>) using the <code>validation_seed</code> generated <a href="#validator-setup">above</a> in step 3:</p>
<pre><code>$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg wallet_propose &lt;your-validation-seed&gt;
<pre><code>$ /opt/ripple/bin/rippled -q wallet_propose &lt;your-validation-seed&gt;
{
"result" : {
"account_id" : "rU7bM9ENDkybaxNrefAVjdLTyNLuue1KaJ",
@@ -399,12 +452,12 @@ ssdecohJMDPFuUPDkmG1w4objZyp4
</li>
<li>
<p>Set the <a href="reference-transaction-format.html#domain"><code>Domain</code> field</a> of the account to match the domain hosting your ripple.txt</p>
<pre><code>$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg submit &lt;your-secret-key&gt; '{"TransactionType": "AccountSet", "Account": "&lt;your-account-id&gt;", "Domain": "&lt;your-hex-encoded-domain&gt;", "Fee": "10000"}'
<pre><code>$ /opt/ripple/bin/rippled -q submit &lt;your-secret-key&gt; '{"TransactionType": "AccountSet", "Account": "&lt;your-account-id&gt;", "Domain": "&lt;your-hex-encoded-domain&gt;", "Fee": "10000"}'
</code></pre>
</li>
<li>
<p>Verify that your account's domain has been set.</p>
<pre><code>$ /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg account_info &lt;your-account-id&gt;
<pre><code>$ /opt/ripple/bin/rippled -q account_info &lt;your-account-id&gt;
</code></pre>
</li>
</ol>