For those that follow the sipXecs mailing lists, the topic of manual installation of sipXecs comes up occasionally and you may be asking yourself, "Why would I want to manually install sipXecs when there's an ISO that's freely available?"
This question can have many answers, but one particular scenario where it is required is when it is desirable to use a paravirtualized Citrix XenServer instance to build a test bed instead of provisioning another bare metal server. Citrix XenServer currently cannot run the automated installation procedures found on the ISO image unless you start the installation in fully virtualized mode (also known as Other install media) and then convert it to paravirtualized mode (instructions found here: http://www.citrix.com/tv/#videos/716 ). This conversion is very complex and prone to a lot of errors so it makes more sense to perform a manual installation of the software.
NOTE: this how-to will not cover in depth the operating system installation.
NOTE: Virtual Machine instances are intended for testing purposes only and are not support for production use due to CPU timing and resource sharing issues.
To get started it should be noted that you will not be downloading the CentOS 5 ISO for this installation. XenServer has an issue with CentOS 5.6 that prevents the proper CD drivers from being loaded on boot, forcing you to install from an internet location. We'll be installing from URL. I've found http://mirror.anl.gov/pub/centos/5.6/os/x86_64/ to be one of the best mirrors to load CentOS from as it is fast and reliable.
In Citrix XenServer you'll need to create a VM using the CentOS 5 template and instead of installing from an ISO image you'll select Install from URL: and enter the URL http://mirror.anl.gov/pub/centos/5.6/os/x86_64/ then configure the remaining VM settings. Once you've configured the remaining settings XenServer will download the boot files from the URL you specified and begin the installation.
During CentOS setup you will be asked various questions about what networking interfaces you wish to configure, the timezone, and the root password. These items will be reconfigured when sipXecs is configured later, though you should remember what you enter as the root password as you'll need it to initially log into the server. The only setting you need to be concerned with at this point is networking because you must be able to access the internet after installation to install the sipXecs packages.
When asked which software packages you wish to install, Deselect Desktop - Gnome as we will not be utilizing any desktop software. Continue with the installation. When prompted, reboot the server.
When the server reboots you will be prompted by the Setup Agent to configure a few post installation items, such as Authentication, Firewall, Network, and Services. The only item you need to configure is the Firewall. Set the Security Level to Disabled and SELinux to Disabled.
Once the server is up you'll need to log in with the username root using the password you set during installation. Once logged in, update the system by running the following command:
yum update
Once this command has completed reboot the server again so any kernel updates that were installed during the update will take effect.
After the system has finished rebooting you will need to add the sipXecs software repository and install the sipXecs system. Log in and add the repository by executing the following commands:
cd /etc/yum.repos.d
wget http://download.sipfoundry.org/pub/sipXecs/sipxecs-4.4.0-centos.repo
Now install the sipXecs system by running the following command:
yum install sipxecs ntp dhcpd bind
This will take some time to complete as several large packages must be downloaded and installed. After the packages have been downloaded and installed, reboot the system.
Once the system has been rebooted, log in and execute the following command to begin the sipXecs setup program:
sipxecs-setup-system