Establish one uncomplicated stream before enabling wildcard policies, relay takeover or external authentication. This procedure targets the handbook’s pinned KH snapshot and an already built server with matching web/admin assets. It uses no external streaming server.
Save a complete local configuration
The XML below is a complete small file. Replace each password marker with a different random test secret. Replace the absolute paths with the matching installation directories and a writable log directory. Do not copy these markers into a public service.
<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>
<fileserve>1</fileserve>
<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>3</loglevel></logging>
<security><chroot>0</chroot></security>
</icecast>Save it as kh-local.xml, use an ordinary account and run the chosen KH executable in the foreground:
xmllint --noout --nonet kh-local.xml
icecast -c kh-local.xmlIf another Icecast is on the command search path, replace icecast with your KH executable’s full path. Check the startup log before proceeding. Syntax validation does not verify libraries, supported settings or file access.
Feed the exact mount
Configure an Icecast-compatible source client for host 127.0.0.1, port 8000, username source, the new source secret and mount /test.ogg. Choose a codec/container the selected KH build and player actually support. Start continuous output and confirm the mount appears in /admin/stats.xsl using the administrator account.
Prove listener delivery
Open http://127.0.0.1:8000/test.ogg in a suitable player. Listen and observe the corresponding source/listener state. Then stop and reconnect the test source, recording the expected disappearance and return. Only after this works should you add a specific mount policy. A running status page, accepted XML and audible playback are separate checks and must be reported separately.