This test keeps the server on loopback. It is useful for proving the source-to-listener path before opening a network port. You need an installed Icecast 2.5.0, its matching web and admin directories, a writable log directory and a source client that supports Icecast.
Prepare the complete file
The following is a complete small configuration, not a patch. Replace all three password markers with different random values. Replace the uppercase absolute paths with your installation’s real paths and create the log directory for the account that will run Icecast.
<icecast>
<hostname>localhost</hostname>
<limits><clients>20</clients><sources>2</sources></limits>
<authentication>
<source-password>REPLACE_WITH_RANDOM_SOURCE_SECRET</source-password>
<relay-password>REPLACE_WITH_RANDOM_RELAY_SECRET</relay-password>
<admin-user>admin</admin-user>
<admin-password>REPLACE_WITH_RANDOM_ADMIN_SECRET</admin-password>
</authentication>
<listen-socket><port>8000</port><bind-address>127.0.0.1</bind-address></listen-socket>
<paths>
<logdir>/ABSOLUTE/PATH/log</logdir>
<webroot>/ABSOLUTE/PATH/web</webroot>
<adminroot>/ABSOLUTE/PATH/admin</adminroot>
</paths>
<logging><accesslog>access.log</accesslog><errorlog>error.log</errorlog><loglevel>information</loglevel></logging>
<security><chroot>false</chroot></security>
</icecast>Save it as icecast-local.xml. Check XML well-formedness, then run the server in the foreground as an ordinary account:
xmllint --noout --nonet icecast-local.xml
icecast -c icecast-local.xmlXML validation only checks syntax. A startup failure still needs the error log: common causes are an occupied port, unreadable paths, missing runtime libraries or a different Icecast executable than expected.
Connect one source
In your encoder, select Icecast output, host 127.0.0.1, port 8000, username source, your new source secret and mountpoint /live.ogg. Send a compatible Ogg/Vorbis or Ogg/Opus stream. Start the encoder’s output connection, not merely its local playback. A <mount> block is unnecessary for this basic dynamic mount.
Check three independent results
Open http://127.0.0.1:8000/admin/stats.xsl and authenticate as admin. Verify the source appears under exactly /live.ogg. Open that stream URL in a compatible player and listen. Check that listeners change while it is connected. A playlist is available by appending .m3u; it contains a stream URL, not an audio recording.
Do not interpret an empty status page as a server failure when the encoder is disconnected. A 401 suggests authentication, a 404 often means the requested mount is absent, and interrupted audio calls for source and queue diagnostics. Stop this test before changing the bind address; network and TLS configuration is a separate step.