Airtime 2 for Broadcasters

Manual installation

You do not normally need to install Airtime manually, unless you are testing a development version of the software. Versions of Airtime recommended for production use are available for download and upgrade via secure apt, as shown in the Automated installation chapter.

Updating python-virtualenv

Airtime requires a version of python-virtualenv later than 1.4.8, but Ubuntu Lucid includes the older version 1.4.5 of this package. Before performing a manual installation on Lucid, you should update python-virtualenv using the backported package available from the http://apt.sourcefabric.org/ repository. This step is not necessary when performing an automated installation, in which dependencies are resolved automatically.

Full install

The airtime-full-install script has been tested on Ubuntu GNU/Linux servers and is designed to configure your server for you, using typical default settings.

1. In the server terminal or console, download Airtime from https://sourceforge.net/projects/airtime/files/ with wget. For example, to download version 2.0.3, you could use the command:

wget http://downloads.sourceforge.net/project/airtime/2.0.3/airtime-2.0.3.tar.gz

2. Unzip the downloaded file in your home directory. This action will create a subdirectory called airtime-2.0.3:

sudo tar -xvzf airtime-2.0.3.tar.gz -C ~/

3. Run the airtime-full-install script:

sudo ~/airtime-2.0.3/install_full/ubuntu/airtime-full-install

The installation script will indicate which files are being installed on your system, and the directories they are being unpacked into. Finally, it will run the airtime-check-system script to confirm that your server environment is set up correctly.

AIRTIME_STATUS_URL             = http://localhost/api/status/format/json/api_key/%%api_key%%
AIRTIME_SERVER_RESPONDING      = OK
KERNEL_VERSION                 = 2.6.32-38-generic
MACHINE_ARCHITECTURE           = x86_64
TOTAL_MEMORY_MBYTES            = 6128220
TOTAL_SWAP_MBYTES              = UNKNOWN
AIRTIME_VERSION                = 2.0.3
OS                             = Ubuntu 10.04.4 LTS x86_64
CPU                            = Dual Core AMD Opteron(tm) Processor 170
WEB_SERVER                     = Apache/2.2.14 (Ubuntu)
PLAYOUT_ENGINE_PROCESS_ID      = 13723
PLAYOUT_ENGINE_RUNNING_SECONDS = 2681
PLAYOUT_ENGINE_MEM_PERC        = 0.2%
PLAYOUT_ENGINE_CPU_PERC        = 0.0%
LIQUIDSOAP_PROCESS_ID          = 13732
LIQUIDSOAP_RUNNING_SECONDS     = 2681
LIQUIDSOAP_MEM_PERC            = 0.4%
LIQUIDSOAP_CPU_PERC            = 24.9%
MEDIA_MONITOR_PROCESS_ID       = 13818
MEDIA_MONITOR_RUNNING_SECONDS  = 2665
MEDIA_MONITOR_MEM_PERC         = 0.2%
MEDIA_MONITOR_CPU_PERC         = 0.0%
RABBITMQ_PROCESS_ID            = 14622
RABBITMQ_RUNNING_SECONDS       = 2553
RABBITMQ_MEM_PERC              = 0.3%
RABBITMQ_CPU_PERC              = 0.0%

-- Your installation of Airtime looks OK!

********************** Install Complete ***********************

You are now ready to proceed to the Configuration chapter.

Minimal install

The alternative airtime-install script does not attempt to configure your server, an option which you may find more suitable if you have special requirements.

1. In the server terminal or console, install the list of dependencies. For example, on Ubuntu 10.04 (Lucid Lynx) LTS you could enter the command:

sudo apt-get install apache2 curl ecasound gzip icecast2 lame \
libao-ocaml libapache2-mod-php5 libcamomile-ocaml-data libesd0 \
libmad-ocaml libmp3lame-dev libportaudio2 libpulse0 libsamplerate0 \
libsoundtouch-ocaml libtaglib-ocaml libvorbis-ocaml lsb-release \
monit mpg123 multitail odbc-postgresql patch php-pear php5-curl php5-gd \
php5-pgsql postgresql python2.6 python-virtualenv rabbitmq-server sudo \
tar vorbis-tools
2. Check that the Apache web server modules that Airtime requires are enabled:
sudo a2enmod php5 rewrite

The server should respond:

Module php5 already enabled
Module rewrite already enabled

3. Create a directory to contain the Airtime web interface:

sudo mkdir -p /usr/share/airtime/public

4. Next, create the Airtime virtual host configuration file for Apache:

sudo nano /etc/apache2/sites-available/airtime

and enter the information below, substituting your server's hostname for airtime.example.com and your system administrator's email address for admin@example.com. Make sure you set the DocumentRoot and Directory paths correctly. This should match the public directory that the installer will unpack the web interface into, which by default is the /usr/share/airtime/public/ directory.

<VirtualHost *:80>
   ServerName airtime.example.com
   ServerAdmin admin@example.com
   DocumentRoot /usr/share/airtime/public
   php_admin_value upload_tmp_dir /tmp

  <Directory /usr/share/airtime/public>
      DirectoryIndex index.php
      AllowOverride all
      Order allow,deny
      Allow from all
  </Directory>
</VirtualHost>

Press Ctrl+O to save the file, then Ctrl+X to exit the nano editor.

5. Create the PHP configuration file /etc/airtime/airtime.ini in nano:

sudo nano /etc/airtime/airtime.ini

with the following contents:

[PHP]
memory_limit = 512M
magic_quotes_gpc = Off
file_uploads = On
upload_tmp_dir = /tmp

Save and exit nano, then link this file to the system's PHP configuration with the command:

sudo ln -s /etc/airtime/airtime.ini /etc/php5/conf.d/airtime.ini

6. Enable the new configuration by entering the command:

sudo a2ensite airtime

The server should respond:

Enabling site airtime.
Run '/etc/init.d/apache2 reload' to activate new configuration!

You may also need to disable the default site configuration, which may otherwise interfere with your Airtime installation:

sudo a2dissite default

As suggested by the output of the command above, reload the web server configuration.

sudo /etc/init.d/apache2 reload

The server should respond:

 * Reloading web server config apache2
7. Download Airtime from https://sourceforge.net/projects/airtime/files/ with wget. For example, to download version 2.0.3, you could use the command:
wget http://downloads.sourceforge.net/project/airtime/2.0.3/airtime-2.0.3.tar.gz

8. Unzip the downloaded file in your home directory. This action will create a subdirectory called airtime-2.0.3:

sudo tar -xvzf airtime-2.0.3.tar.gz -C ~/
9. Monit is a utility which Airtime uses to make sure that the system runs smoothly. Enable it by opening the /etc/default/monit file in the nano editor: 
sudo nano /etc/default/monit

Find the line that begins with startup and change the value to 1:

startup=1

Save the file with Ctrl+O and close nano with Ctrl+X. Now copy the Monit configuration from the Airtime install directory to the /etc/monit/conf.d/ directory:

sudo cp ~/airtime-2.0.3/python_apps/monit/airtime-monit.cfg /etc/monit/conf.d/

Open the /etc/monit/monitrc file in nano:

sudo nano /etc/monit/monitrc

At the end of the file, add the line:

include /etc/monit/conf.d/*
Save the file with Ctrl+O and close nano with Ctrl+X. Then start Monit with:
sudo invoke-rc.d monit start

More information about monit is available in the chapter Using Monit.

10. On Debian squeeze, make sure the rabbitmq-server daemon has started:

sudo invoke-rc.d rabbitmq-server start

11. Finally, run the airtime-install script: 

sudo ~/airtime-2.0.3/install_minimal/airtime-install 

Once the airtime-check-system script confirms that the install has been successful, you are now ready to proceed to the Configuration chapter.

Install script options

By default, the airtime-install script preserves any existing configuration or installation that it finds on the server. However, it is also possible to dictate the behaviour of the script with a command line option, as follows:

--help|-h            Displays usage information.
--overwrite|-o       Overwrite any existing config files.
--preserve|-p        Keep any existing config files.
--no-db|-n           Turn off database install.
--reinstall|-r       Force a fresh install of this Airtime version

Manual uninstall

To manually uninstall Airtime from the server, run the airtime-uninstall script from the original installation directory, for example:

sudo ~/airtime-2.0.3/install_minimal/airtime-uninstall

Optionally, you can also delete the Airtime storage archive and configuration folders, if you have backups and are not going to need the data on this particular server again. The rm command should be used with caution, because it has no undo feature.

sudo rm -r /srv/airtime
sudo rm -r /etc/airtime