# Install on Red Hat Enterprise Linux This page describes the recommended instructions for installing the latest stable version of `rippled` on **Red Hat Enterprise Linux**, using a binary that has been compiled and published by Ripple as an `rpm` package. Currently, **Red Hat Enterprise Linux (RHEL) 9.6 is supported on x86_64 processors**. You may also be able to adapt these instructions to similar Linux distributions including CentOS or Rocky Linux, but other configurations are not officially supported. ## Prerequisites Before you install `rippled`, you must meet the [System Requirements](/docs/infrastructure/installation/system-requirements). ## Installation Steps 1. Install the Ripple RPM repository: Choose the appropriate RPM repository for the stability of releases you want: - `stable` for the latest production release (`master` branch) - `unstable` for pre-release builds (`release` branch) - `nightly` for experimental/development builds (`develop` branch) ``` cat << REPOFILE | sudo tee /etc/yum.repos.d/ripple.repo [ripple-stable] name=XRP Ledger Packages enabled=1 gpgcheck=0 repo_gpgcheck=1 baseurl=https://repos.ripple.com/repos/rippled-rpm/stable/ gpgkey=https://repos.ripple.com/repos/rippled-rpm/stable/repodata/repomd.xml.key REPOFILE ``` ``` cat << REPOFILE | sudo tee /etc/yum.repos.d/ripple.repo [ripple-unstable] name=XRP Ledger Packages enabled=1 gpgcheck=0 repo_gpgcheck=1 baseurl=https://repos.ripple.com/repos/rippled-rpm/unstable/ gpgkey=https://repos.ripple.com/repos/rippled-rpm/unstable/repodata/repomd.xml.key REPOFILE ``` ``` cat << REPOFILE | sudo tee /etc/yum.repos.d/ripple.repo [ripple-nightly] name=XRP Ledger Packages enabled=1 gpgcheck=0 repo_gpgcheck=1 baseurl=https://repos.ripple.com/repos/rippled-rpm/nightly/ gpgkey=https://repos.ripple.com/repos/rippled-rpm/nightly/repodata/repomd.xml.key REPOFILE ``` 2. Fetch the latest repo updates: ``` sudo yum -y update ``` 3. Install the new `rippled` package: ``` sudo yum install rippled ``` 4. Reload systemd unit files: ``` sudo systemctl daemon-reload ``` 5. Configure the `rippled` service to start on boot: ``` sudo systemctl enable rippled.service ``` 6. Start the `rippled` service: ``` sudo systemctl start rippled.service ``` ## Next Steps It can take several minutes to sync with the rest of the XRP Ledger network, during which time the server outputs various warnings. For information about log messages, see [Understanding Log Messages](/docs/infrastructure/troubleshooting/understanding-log-messages). You can use the [`rippled` commandline interface](/docs/tutorials/http-websocket-apis/build-apps/get-started#commandline) to see if your server is synced with the network: ```sh rippled server_info ``` If the `server_state` in the response is `full` or `proposing`, then your server is fully synced to the network. Otherwise, you may need to wait longer. Fresh servers usually sync within 15 minutes; servers that already have [ledger history](/docs/concepts/networks-and-servers/ledger-history) stored can take longer. After your server has synchronized with the rest of the network, you have a fully functional XRP Ledger peer-to-peer server that you can use to submit transactions or get API access to the XRP Ledger. See [Client Libraries](/docs/references/client-libraries) or [HTTP / WebSocket APIs](/docs/references/http-websocket-apis) for different ways to communicate with the server. If you use the XRP Ledger for your business or you want to contribute to the stability of the network, you should run one server as a validator. For information about validating servers and why you might want to run one, see [Run rippled as a Validator](/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator). Having trouble getting your server started? See [rippled Server Won't Start](/docs/infrastructure/troubleshooting/server-wont-start). ### Additional Configuration `rippled` should connect to the XRP Ledger with the default configuration. However, you can change your settings by editing the `rippled.cfg` file. For recommendations about configuration settings, see [Capacity Planning](/docs/infrastructure/installation/capacity-planning). The [recommended installation](/docs/infrastructure/installation) uses the config file `/etc/opt/ripple/rippled.cfg` by default. Other places you can put a config file include `$HOME/.config/ripple/rippled.cfg` (where `$HOME` is the home directory of the user running `rippled`), `$HOME/.local/ripple/rippled.cfg`, or the current working directory from where you start `rippled`. See [the `rippled` GitHub repository](https://github.com/XRPLF/rippled/blob/master/cfg/rippled-example.cfg) for a description of all configuration options. You must restart `rippled` for any configuration changes to take effect. If you change the `[debug_logfile]` or `[database_path]` sections, you may need to grant ownership of the new configured path to the user you run `rippled` as. ### Updates You must update `rippled` regularly to remain synced with the rest of the XRP Ledger network. You can subscribe to the [rippled Google Group](https://groups.google.com/forum/#!forum/ripple-server) to receive notifications of new `rippled` releases. The `rippled` package includes a script you can use to [enable automatic updates on Linux](/docs/infrastructure/installation/update-rippled-automatically-on-linux). On other platforms, you must update manually. ## See Also - **Concepts:** - [The `rippled` Server](/docs/concepts/networks-and-servers) - [Consensus](/docs/concepts/consensus-protocol) - **Tutorials:** - [Configure rippled](/docs/infrastructure/configuration) - [Troubleshoot rippled](/docs/infrastructure/troubleshooting) - [Get Started with the rippled API](/docs/tutorials/http-websocket-apis/build-apps/get-started) - **References:** - [rippled API Reference](/docs/references/http-websocket-apis) - [`rippled` Commandline Usage](/docs/infrastructure/commandline-usage) - [server_info method](/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info)