Installing TrixBox
From InstallationWiki
| Official Page |
| Project Documentation |
| Download |
|
TrixBox is a business class IP PBX system based on Digum's Asterisk Open Source PBX Software.
In this article, we will cover the installation process, some basic system configuration, and the basic tools that are included in TrixBox. We will download the CD-ROM image, install it on our computer, and get prepared to start our initial configuration.
Contents
|
[edit] Obtain the Software
TrixBox is available in a couple of formats. Firstly, there is the ISO image that can be burned to a CD and then installed. Secondly, we can download and install a tar.gz file to an existing CentOS system. The former method is by far the simplest and is what we will cover here. The ISO image can be downloaded by going to http://www.trixbox.org and clicking on the download link, or by going to the SourceForge project page directly at http://sourceforge.net/project/showfiles.php?group_id=123387&package_id=192286&release_id=426959.
We should download the latest version (avoiding any files marked as beta or alpha) of the ISO image to our computer and burn it to a blank CD with our favourite CD-burning software. The ISO is about 510 Mb in size, and may grow in future versions as well. We should ensure we have adequate space on our hard drive to download the file.
[edit] Installation
We start by putting the CD into the CD-ROM drive of the computer we will be installing TrixBox on, and then boot the computer ensuring that we have configured it to boot from CD-ROM. We will be presented with a start-up screen with several options.
The advanced options that we can access here can be skipped for most installations. However, it is often good to do a media check beforehand as this checks the CD for errors and helps us to ensure that the system will install without errors. Advanced options can be accessed by pressing the following buttons:
F1 brings us to the main screen (the one shown in the previous screenshot).
F2 takes us to the options menu that allows us to run a media check and a memory test.
F3 gives us some more information and options for modifying the screen resolution as the system boots. This can usually be ignored.
F4 gives information on additional kernel parameters that we can pass to the kernel, if we are having problems while booting.
F5 shows us the rescue option that can be used to repair our system after installation, if we are having difficulties while booting into TrixBox.
[edit] Media Check
We can perform a media check by pressing F2, which lists the options we have, although most of these aren't useful for our installation. We can see that a media check is run by typing linux mediacheck. This takes a few minutes and helps prevent frustrating media errors during the installation process.
Doing so will show us some boot messages and after a minute or two we should see:
If we press Enter with the OK box highlighted, we should then see the following screen:
Pressing Enter with the Test button highlighted begins the test, which shows a progress bar. We need not worry about it referring to a CentOS-4 i386 DVD; this is due to the fact that TrixBox is derived from CentOS, which has a DVD version.
If the check is successful, we should see the following screen:
This means that we had no errors in the CD-burning process and that we have a valid CD to install from. Since the TrixBox installation is automated and requires little user input, the most common errors are due to the CD-ROM being burned with errors. If we see anything other than the preceding screenshot, or if it indicates a FAIL, we should burn the CD again and ensure our burning software verifies that the burn was successful.
After pressing Enter on this screen, we will be asked if we want to test another disk. TrixBox only has a single disk so we can ignore this, by pressing the right arrow followed by Enter to continue with the installation.
[edit] Automated Installation
At the initial boot screen, if we press Enter, we will go straight into the automated installation. However, if we do the media check, as explained in the previous section, we will eventually go into the automated installation after performing the check.
First, we will be prompted for our keyboard layout. We can scroll up and down with the arrow keys and use the space bar or Enter to select options in the following screen:
Note: At this point, the installer checks for any valid hard drives in the system. There are rare occasions when some hard drives, particularly SCSI or SATA drives, are not recognized.
Next, we are prompted for a password for the root user. It is advisable not to forget this password as we will need it to log into our system when it is up and running.
We will also be prompted to enter our time zone information:
The setup will format the hard drive in the computer and install the operating system and all the related files.
Warning: This will erase all the information on the computer. Do not do this on any machine that contains valuable data on its hard drive.
We will see a few progress bars and other information on screen, which we can ignore as the rest of the installation is automated. The process can take a while depending on the specifications of the machine we are using. It can take anywhere from a few minutes to an hour or so.
When the initial setup is complete, the installer will eject the CD and reboot. When the system boots back again, it will begin compiling and setting up all the additional software and tools that are part of the TrixBox system.
Once the final configuration is complete, the system will reboot once again and present us with a login screen on the console containing the following text:
CentOS release 4.3 (Final) Kernel 2.6.9-22.EL on an i686 asterisk1 login:
TrixBox is now completely installed and ready to use. We can log in here as the user root with the password we entered during the setup process.
Once we log in, we will be given some additional information:
Welcome to TrixBox For access to the TrixBox web GUI use this URL http://192.168.1.5 For help on TrixBox commands we can use from this command shell type help-TrixBox. [root@asterisk1 ~]#
SSH Access. When we complete the TrixBox installation, we can also access this console by SSH (Secure Shell). We can do this by connecting to the address, for example ssh 192.168.1.5, or by inputting the address into a GUI-based SSH client like PuTTy (http://www.chiark.greenend.org.uk/~sgtatham/putty/). There is also a Java SSH client which we shall see later in this tutorial.
Assuming we had the correct date and time set in our computer's BIOS, we will only need to adjust the time zone setting. However, if the IP address that the system came up with is not what we want to use, then we will need to change that as well.
From the command prompt, type setup and hit Enter.
Select the Network configuration option to get into the TCP/IP properties screen.
While we can use an automatically assigned IP address from a DHCP server, it is recommended to use a static IP address, which will make it easier to manage for any firewall settings and will prevent the IP address from changing and losing connectivity to the phones. Once we have set the network settings, we press the Tab button until the OK button is highlighted and then press Enter or the space bar. This drops us back to the configuration screen. We should then select the Quit button, which will put us back at the command line. If we type reboot at the prompt, the server will reboot so that the new settings can take effect.
[edit] Basic System Configuration
We will now have a look at some of the basic system management tools that we can use before we go on to configure the telephone functionality (which is presented in Chapter 6 of the Source book). There are some basic settings and updates we will want to take care of to make sure our system is up-to-date. If our system is on a public IP address, these settings are even more important to ensure that we have all the latest security updates. Regardless of what we may have heard, Linux operating systems have just as many security holes as Microsoft's operating systems and have to be patched on a regular basis. TrixBox is just another Linux server and in most circumstances should be treated as such.
[edit] Updating TrixBox
In most systems, keeping the system updated with all the latest operating-system patches and application updates requires maintaining long scripts and knowing obscure system commands to get the updates. With TrixBox, this is all handled by one simple command, the trixbox-update.sh script. This script can be run from the command prompt and will download and install any component that needs to be upgraded. Following is an example of using this script alongwith the output:
[root@asterisk1 ~]# trixbox-update.sh update Installed: munin.noarch 0:1.2.4-7 munin-node.noarch 0:1.2.4-7 perl-DateManip.noarch 0:5.42a-3 perl-HTML-Template.noarch 0:2.8-1.2.el4.rf perl-Net-Server.noarch 0:0.93-1.el4.rf perl-rrdtool.i386 0:1.0.50-3.2.el4.rf rrdtool.i386 0:1.0.50-3.2.el4.rf Complete! done.
Please reboot by typing reboot
The TrixBox script also updates itself so you may be asked if you want to replace the script during the upgrade process. If this occurs, type Y and press Enter, and later reârun the trixbox-update.sh script.
[edit] SMTP Server Setup
SMTP is the protocol that is used to send email. If we plan on using the voicemailâtoâemail feature and we are on a public IP address with no restrictions, we should be able to bypass this section. However, many places now require that all outbound email goes through our ISP's mail server to prevent spamming and email attacks. If we are in this situation, a few tweaks to the sendmail settings will get us up and running.
Firstly, we run the setup-mail script where we will be prompted to enter a hostname for our PBX.
[root@asterisk1 ~]# setup-mail
Usually, all we need to do is edit the /etc/sendmail.cf file and add our ISP's mail server information. For this, we will use the nano text file editor.
[root@asterisk1 ~]# nano /etc/mail/sendmail.cf
This will open the file in the editor:
Use Ctrl+w to start the search function; enter ds, and hit Enter.
You want to find the line that looks like the following:
# "Smart" relay host (may be null) DS
Edit the relay host to match our ISP's settings. For example, if we are using Cox Internet in California, we would use smtp.west.cox.net as shown here:
# "Smart" relay host (may be null) DSsmtp.west.cox.net
Use Ctrl+o to save the changes and then Ctrl+x to exit. Reboot the server for the change to take effect.
[edit] The Web Interface
Besides the updates and mail configuration that we have seen, we can manage our server from the web interface easily. There are many different areas that we can access from here and the majority of our system configuration can be done within this nicely laid out and user-friendly web interface.
The web interface can be accessed by pointing the browser to the URL we were shown earlier when we logged into the text console (http://192.168.1.5 in this example). If we do not remember it, we will need to login again and it will be displayed.
After typing the URL, we will be greeted by the TrixBox main menu:
In the following sections, we will discuss each of the features that appear on the TrixBox main menu.
[edit] Voicemail and Recordings (ARI)
The Asterisk Recording Interface (ARI) is the repository of recorded sound files, including voicemails and recorded phone calls. Logging in with our extension number and voicemail password will give us access to all the recordings in our profile.
From ARI, we can also listen to, delete, and forward existing messages. Once we log in, we will see a list of our available recordings with the date of the recording, the time at which it was recorded, the caller-id of the originating call, the original mailbox the message was stored in, the duration of the recording, and a link to open a media player to listen to the recording.
[edit] SugarCRM
The CustomerRelationshipManagement (CRM) system that is included with TrixBox is SugarCRM. The SugarCRM package is a complete CRM package for managing customer contacts, leads, sales, etc. SugarCRM is the leading open-source CRM package and has some nice integration with Asterisk PBX for one-click dialling from the contact manager.
[edit] Flash Operator Panel
If we are going to have a receptionist that handles a large number of phone calls, the Flash Operator Panel can make managing incoming calls much easier. The Flash Operator Panel not only allows us to view the status of all of the extensions, queues, and trunks, but also we can transfer calls around by dragging and dropping. The following screenshot is an example of what we would see from a configured system. The Flash Operator Panel will be blank until we have configured our trunks, extensions, and queues.
[edit] Web MeetMe Control
Built into TrixBox is the MeetMe Conference Room System in which every extension can create and manage its own conference rooms. The Web MeetMe Control is a web interface that allows a manager to see who is in the conference and mute, un-mute, or kick users from a conference.
[edit] System Administration
Clicking on the System Administration link from the TrixBox main menu will display another set of tools to help us manage our system. The following sections briefly describe these tools.
[edit] FreePBX
FreePBX is the primary management interface for managing users, extensions, ring groups, queues, trunks, and more. This is where we will spend the majority of our time configuring the system. We will need to get our system up and running before being able to use the other applications that are included with the system.
[edit] Config Edit
This tool is used to manually edit the actual config files. This is handy for making quick edits without having to log into the console or having to log in via an SSH session, although manual edits can be problematic if we don't follow the FreePBX conventions. However, this should only be done in case of urgency.
[edit] Asterisk Info
The Asterisk Info tool displays an information screen about our Asterisk installation for troubleshooting purposes.
[edit] Endpoint Manager
This tool is used to create config files for telephone devices. Currently only Cisco phones are supported. In the future, tools for Polycom, Linksys, and Snom phones will be available.
[edit] HUD Manager
The HUD Manager tool is used to configure the Fonality Heads-Up-Display tool. The server component will need to be installed separately.
[edit] System Tools
There are various configuration tools that we can use for managing the server and the back-end process running on it.
[edit] phpMyAdmin
This is a tool to help us manage MySQL databases. The SugarCRM software, for example, is very SQL dependant. Even some of the other applications, such as Asterisk, store information in databases.
SQL skills and the use of phpMyAdmin are not within the scope of this article, but could be useful for any advanced troubleshooting. For further reading you can refer to the book Mastering phpMyAdmin for Effective MySQL Management from Packt Publishing (ISBN 1-904811-60-6).
[edit] System Info
The System Info tool displays a lot of useful information and statistics on our server, such as hostname, IP address information, and uptime.
Information such as network statistics, which can be invaluable when checking for any network issues or to get an idea of how much bandwidth our server is using, is also displayed by this tool.
Besides, the tool displays some specific details about the hardware in our system that can be very useful when trying to get support from other users or official support channels.
Finally, the tool displays memory and hard drive usage information, which we can use to determine the requirements of the server and how much capacity it is using.
[edit] System Maint
The System maint screen shows us the status of the Asterisk service as well as the cron (scheduling service), secure shell (SSH for remote login), and the web server (if this wasn't running we wouldn't be able to access this page!).
[edit] SSH Terminal
This is a Java SSH client used to log in to our server without having to have a keyboard and a monitor attached to our server. We can use this as if it were a local console, so we can run things like the update and setup scripts from within our web browser. When we have TrixBox up and running, we can stay in the web interface most of the time.
[edit] Munin
Munin is a system monitoring tool to help us monitor the resources and performance of our server. Munin will create reports on system resources such as file-system usage, network traffic, processes, sendmail traffic, CPU usage, interrupts, memory usage, and many more. These can be invaluable in determining any bottlenecks on our server.
As can be seen in the screenshot, Munin gives us a more detailed information than the system info page we saw earlier. If we want to troubleshoot the server or do some capacity planning we should reference these graphs as they will give us a detailed breakdown of the server's performance.
[edit] Summary
In this tutorial, we have taken a look at the installation of TrixBox and how to ensure its smooth functioning. We also had an overview of some of the basic system administration functions available to us in TrixBox. We have seen that there are a number of applications bundled with TrixBox, such as phpMyAdmin and SugarCRM, that offer us many more features than a simple telephony system.
[edit] Additional References
- For instructions on Installing trixbox CE 2.6, click here
- For instructions on Troubleshooting trixbox CE,click here
[edit] Source
The source of this content is Chapter 5: Installing Tribox of TrixBox Made Easy by Barrie Dempster and Kerry Garrison (Packt Publishing, 2007).
