Preparing the server
The following instructions assume that you have root access (sudo on Ubuntu) to a GNU/Linux server, and are familiar with basic command line tasks. Experienced system administrators may prefer to skip to the Expert install chapter in the appendix of this book.
The recommended Airtime server platform is Ubuntu 10.04 'Lucid Lynx' LTS. Debian 6.0 'squeeze' is also a good option. The server should have at least a 1GHz processor and 512MB of RAM, preferably 1GB RAM or more. If you are using a desktop environment and web browser directly on the server you should install at least 2GB RAM, to avoid swapping to disk.
The Airtime installation does not use much disk space, but you should allow plenty of storage capacity for the media archive. A hot-swap RAID array is recommended for the media archive, in case of disk failure. You should also consider a UPS or other battery powered system to offer some protection against short-term power failures.
The Airtime web administration interface is intended to work with any browser, on any desktop or mobile platform. The recommended web browser is Mozilla Firefox 3.6.
If you intend that your Airtime server will have a direct audio output to a broadcast transmitter or a separate stream encoder, your server machine must have a soundcard supported by an ALSA driver. You will also need a soundcard to make use of Airtime's live show recording feature. Almost all standard soundcards have ALSA drivers built into the Linux kernel, which do not need to be installed separately. If in doubt about driver support for your soundcard, check the ALSA soundcard matrix at: http://www.alsa-project.org/main/index.php/Matrix:Main
Some server motherboards do not have a default ALSA device, because a USB soundcard is prevented from getting index number 0 by the GNU/Linux distro's configuration. This setting may be in a file such as /etc/modprobe.d/alsa-base.conf in Ubuntu. Comment out these lines to fix the problem:
# Prevent abnormal drivers from grabbing index 0 # options snd-usb-audio index=-2 # options snd-usb-us122l index=-2 # options snd-usb-usx2y index=-2 # options snd-usb-caiaq index=-2
When using a USB soundcard with ALSA, some how-to documents advocate setting the nrpacks=1 option, but this is not recommended for Airtime because it can increase CPU load significantly.
If your Airtime machine will only be used to stream directly to an Icecast or Shoutcast streaming media server, you do not require a soundcard to be installed on the Airtime server side. This option is suitable for Airtime installations at your ISP's datacenter, remote from any transmitter. However, you will not be able to take advantage of Airtime's live show recording feature.
Disable desktop and other sounds
If you are installing Airtime on a desktop computer, make sure you disable or remove any programs that could send unintended audio to a soundcard you are using for broadcast output. This includes alert sounds which play when the computer is ready for use, or when a user logs in. On Ubuntu, these sounds are configured using System -> Preferences -> Sound on the main desktop menu. This configuration dialog only works when the PulseAudio sound server is installed.
You may prefer to remove all unwanted sound files from the computer, in case they could be played unintentionally via the soundcard. For example, on Ubuntu you may wish to remove the ubuntu-sounds package, with the following command:
$ sudo apt-get purge ubuntu-sounds
Remove PulseAudio, if installed
The PulseAudio sound server is not compatible with Airtime soundcard output, but is installed by default on Ubuntu. To remove PulseAudio from an Ubuntu machine, type the following command:
$ sudo apt-get purge pulseaudio
Removing the pulseaudio package on a desktop Ubuntu machine may force the removal of the ubuntu-desktop metapackage. However, this metapackage is only installed on the system for managing upgrades; removing it does not remove the GNOME desktop.
After removing PulseAudio, if your Airtime machine has a desktop, you can install a mixer applet which can control the ALSA soundcard driver directly, such as gnome-alsamixer:
$ sudo apt-get install gnome-alsamixer
On a server with a soundcard but without a desktop, you can control sound input and output levels using the command line program alsamixer:
This program should already be installed on an Ubuntu or Debian machine with a soundcard. If not, you can install it with the command:
$ sudo apt-get install alsa-utils
Remove webmin, if installed
The webmin control panel (http://www.webmin.com) has been known to remove Apache and PHP packages on Debian and Ubuntu systems, which can cause the Airtime package to be removed in turn. This problem is easily reversed by re-installation of the affected packages, but it has the potential to disrupt your broadcast playout from Airtime. Webmin is not likely to be installed on your server unless your system administrator has installed it manually. This is because webmin was removed from official Debian and Ubuntu package repositories some years ago.
RabbitMQ requires a fixed and resolvable hostname (see http://www.rabbitmq.com/ec2.html#issues-hostname), which is normal for a server. For a desktop or laptop machine where the hostname changes frequently or is not resolvable, this issue may prevent RabbitMQ from starting. When using a desktop or laptop computer with a dynamic IP address, such as an address obtained from a wireless network, the rabbitmq-server daemon must not start up before the NetworkManager service.
RabbitMQ on Debian
In Debian 6.0 (Squeeze) the rabbitmq-server daemon does not start automatically after a reboot. This should be fixed before installing Airtime, to prevent problems at playout time. If the rabbitmq-server package was installed before the last reboot, you will need to run:
# invoke-rc.d rabbitmq-server start
as the root user before the installation of Airtime. If it is not already installed, run the following command as root:
# apt-get install rabbitmq-server
After a fresh installation, rabbitmq-server will start automatically, so there is no need to run the invoke-rc.d command mentioned above.
In either case, you should then edit lines 13 and 14 of the file /etc/init.d/rabbitmq-server (as root) to show:
# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6
and then run the command (as root):
# update-rc.d rabbitmq-server defaults
This should make sure that rabbitmq-server starts after the next reboot.
Proceed to installation
Now your server should be ready for Airtime to be installed. Depending on your requirements, you should now proceed to either chapter Easy install, the chapter Manual installation or the chapter Automated installation.