Support #761
Updated by Daniel Curtis over 8 years ago
This is a simple guide on getting madsonic subsonic up and running on FreeBSD 9. h2. Prepare the Environment * Before installation of the components, make sure everything is up to date using the following command: <pre> pkg update && pkg upgrade </pre> h2. Install Madsonic * Install the madsonic-standalone package: <pre> pkg install madsonic-standalone </pre> * Start and enable madsonic at boot: <pre> echo 'madsonic_enable="YES"' >> /etc/rc.conf service madsonic start </pre> * Now open a web browser and go to http://madsonic.example.com:4040 h2. Install SSL * Install openssl and zip: <pre> pkg install openssl zip </pre> * Generate a strong SSL key and a CSR to send for signing by a CA: <pre> cd /usr/local/etc openssl req -sha512 -out madsonic.example.com.csr -new -newkey rsa:4096 -nodes -keyout madsonic.example.com.key </pre> * Combine the SSL key, certificate, and CA intermediate certificate files together into a @madsonic-bundle.crt@ @subsonic-bundle.crt@ file: <pre> cat madsonic.example.com.key madsonic.example.com.crt startcom.class1.bundle > madsonic-bundle.crt subsonic-bundle.crt </pre> * Next convert it to a format madsonic understands: <pre> openssl pkcs12 -in madsonic-bundle.crt -export -out madsonic-bundle.pkcs12 </pre> #* When prompted enter *madsonic* as export password. * Now you should have a @madsonic-bundle.pkcs12@ file, we need to import this into a keystore for Madsonic to use: <pre> keytool -importkeystore -srckeystore madsonic-bundle.pkcs12 -destkeystore madsonic.keystore -srcstoretype PKCS12 -srcstorepass madsonic -srcalias 1 -destalias madsonic </pre> #* When prompted enter *madsonic* as the password. * Finally we need to put the keystore into the file Madsonic uses to boot: <pre> zip /usr/local/madsonic-standalone/madsonic-booter-jar-with-dependencies.jar madsonic.keystore </pre> * Now set the madsonic_https_port in the rc.conf file and restart madsonic: subsonic: <pre> echo 'madsonic_https_port="4443"' >> /etc/rc.conf service madsonic restart </pre>