Guides 11792 Published by

This guide walks you through setting up a Shoutcast server on CentOS 8 from scratch, covering everything from installing the necessary repositories to compiling the source code with required libraries. It begins by ensuring you have the right user, enabling EPEL and RPM Fusion to fetch non‑default packages, then pulling development tools such as zlib, curl, OpenSSL, and freetype into the mix. After downloading and building Shoutcast, you’ll configure its admin and stream passwords in a simple config file before creating a systemd unit that keeps it running across reboots and opens the firewall for port 8000. Finally, a quick test via the web interface or curl confirms that your broadcast is live and ready for listeners.



How to Install Shoutcast Server on CentOS 8

If you’re looking to turn a spare machine into a streaming radio station, this guide will get your Shoutcast server up and running on CentOS 8 in under half an hour.

Why this matters

I’ve seen folks try to install Shoutcast with the default repos and hit a wall because of missing libraries or SELinux blocks. The steps below pre‑empt those headaches and leave you with a clean, working instance that’s ready to broadcast.

Prerequisites
  • A CentOS 8 machine (virtual or physical) with root access.
  • A non‑root user for running Shoutcast, e.g., shout.
  • Basic knowledge of the command line.

Create the user if you don’t already have one:

sudo adduser shout
sudo passwd shout
Enable EPEL and RPM Fusion

Shoutcast pulls in a few packages that live outside the default CentOS repo. Install the extras first, then RPM Fusion for media codecs.

sudo dnf install -y epel-release
sudo dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Install Dependencies

Shoutcast requires a handful of development libraries. Installing them early saves time later.

sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y zlib-devel libcurl-devel openssl-devel freetype-devel

If you see “no match for” errors, double‑check that the EPEL and RPM Fusion repos are enabled.

Download and Build Shoutcast

Grab the latest source from the official site:

cd /usr/local/src
sudo wget https://downloads.sourceforge.net/project/shoutcast/SHOUTcast_Server_3.8.9.zip
sudo unzip SHOUTcast_Server_3.8.9.zip

Switch to the extracted directory, then compile:

cd SHOUTcast_Server_3.8.9
make
sudo make install

make pulls in a small C compiler and links against the libraries we installed earlier. If you get “undefined reference” errors, it usually means a missing dependency—check the list above.

Configure the Server

Copy the sample config into your home directory and edit it:

sudo cp /usr/local/etc/shoutcast.conf.example /home/shout/.shoutcast.conf
sudo chown shout:shout /home/shout/.shoutcast.conf
sudo nano /home/shout/.shoutcast.conf

Key changes to make:

  • ADMINPASS=youradminpass – This is how you’ll log into the web interface.
  • PASSWORD=youremissionpass – Listeners use this for password‑protected streams.
  • Adjust PORT=8000, STREAM_PORT=8000 if you need another port.
Start and Secure with Firewall

Run the server as the shout user:

sudo -u shout /usr/local/bin/shoutcast.sh -c "/home/shout/.shoutcast.conf"

To keep it running after reboot, add a simple systemd unit:

# /etc/systemd/system/shoutcast.service
[Unit]
Description=Shoutcast Audio Server
After=network.target

[Service]
User=shout
ExecStart=/usr/local/bin/shoutcast.sh -c "/home/shout/.shoutcast.conf"
Restart=on-failure

[Install]
WantedBy=multi-user.target

Reload systemd and enable the service:

sudo systemctl daemon-reload
sudo systemctl enable --now shoutcast.service

Now open the firewall for your chosen port (default 8000):

sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Verify Installation

Point a browser to http://<your‑server>:8000 and you should see the Shoutcast admin page. Log in with the ADMINPASS you set.

Try playing a stream:

curl http://<your‑server>:8000/;PASSWORD=youremissionpass | less

If you hear the test audio, congratulations – your server is live.

Final thoughts

Installing Shoutcast on CentOS 8 isn’t rocket science; it’s just a matter of getting the right libraries and tweaking a few config lines. Once you’ve got the service running under systemd, you’re ready to start broadcasting your own radio station or streaming podcast.

Give it a shot and let me know how it goes—happy broadcasting!