Installing Scalix - Advanced Techniques
From InstallationWiki
| Official Page |
| Project Documentation |
| Download |
|
This tutorial deals with advanced installation techniques. First, you will learn about how to get the graphical installation on Windows systems by using NoMachine NX Terminal software. The second part of this tutorial shows a typical text-based installation. As a third example, we show how the graphical installer is used to correctly uninstall a Scalix server. The last example shows upgradation and reconfiguration of the Scalix server. What follows is an outlook on how to set up Scalix in a multiserver environment with clustering and replication between servers. This tutorial closes with some hints on troubleshooting the installation and some advice for installation in a production environment.
Contents |
[edit] Advice for Installation
In a test environment, the standard setup of your distribution will do, but if you are planning to set up Scalix in a production environment, you should consider the following:
- Set up a minimum of four partitions: swap, boot (
/boot), root (/), and var (/var). - Use a volume manager for the
/varpartition. LVM and EVMS are enterprise-level volume managers on Linux. - Install a minimal system of your distribution. Each software package installed is a potential source of bugs, performance loss, and complexity. Disable all services that you do not need and install only the software needed.
[edit] Checklist for Accessing the Graphical Installation
There are several reasons why you may not be able to access the graphical installer:
- You are accessing the Scalix server over a connection that is not capable of forwarding your X-display, for example an SSH-session without X support.
- Your connection to the Scalix server has a limited bandwidth, and you do not want to use the graphical interfaces.
- You have configured a server with a minimalistic software environment. This makes sense, even though many modern distributions or software packages may collide with this setup. The less software you have installed on your system, the less bugs and security holes may be present, it's just a matter of statistics.
- You are working on a client that cannot display remote graphical sessions from Linux systems, like a typical Windows system. The SSH-client PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) is a great tool for Windows users who need to access SSH-servers, and its configuration supports many functions. However, if you examine its configuration window, you will notice that this suite does not offer graphical sessions.
But, as always, there are some workarounds. Of course, the simplest solution for all Linux clients is to use the X option for the SSH-session as described in the previous tutorial. The text-based installation is right for you, if your bandwidth or your security considerations do not allow a graphical installation. PuTTY may prove the right SSH-client for the Windows user.
[edit] Graphical Installation on Windows Using NoMachine
If you are running Windows and nevertheless want to access graphical installation, you will have to install terminal server software on both server and client. Although there are solutions like Cygwin for Windows, the better mixture of speed, security, and interoperability is currently offered by NoMachine. This software offers a combination of SSH-connectivity, proxying, caching, and compression. A Linux machine with NX installed is a full-featured terminal server for Windows and Linux clients. With its efficient zlib compression algorithms, two concurrent Linux desktop sessions over a single 64kbit-ISDN line are possible. Thus, NX can also solve bandwidth problems for a variety of clients. And in setups where security issues are a concern, NoMachine can help by using SSH and its secure RSA/DSA encryption layer.
NoMachine's NX is based on the open-source libraries provided and can be used freely for two users and two concurrent sessions. The enterprise version of the software offers unlimited users, clustering, and more. If you prefer the open-source version FreeNX, go to http://freenx.berlios.de. One of the benefits of NoMachine's NX is a simple installation and easy-to-use Windows GUI. The following instructions will show how to install and setup a simple graphical session on a Linux server with NoMachine.
- Got to NoMachine's website ( http://www.nomachine.com) and download the packages for your client operating system. If you are using a rpm-based system, download and install nxnode, nxserver, and nxclient.
- Copy the three packages to your server.
- Install the rpms on the server with
rpm -ivh package-name. - Install the client package (rpm, deb, .exe) on your client.
scalix:~ # rpm -ivh *rpm Preparing... ##################################### ###### [100%] 1:nxclient ##################################### ###### [ 33%] 2:nxnode ##################################### ###### [ 67%] NX> 700 Starting: install node operation at: So Apr 29 15:05:45 2007. NX> 700 Autodetected system 'suse'. NX> 700 Install log is '/usr/NX/var/log/install'. NX> 700 Creating configuration in /usr/NX/etc/node.cfg. NX> 700 Inspecting local CUPS environment. NX> 700 Generating CUPS entries in: /usr/NX/etc/node.cfg. NX> 700 Installation of version: 2.1.0-22 completed. NX> 700 Bye. 3:nxserver ########################################### [100%] NX> 700 Installing: server at: So Apr 29 15:05:49 2007. NX> 700 Autodetected system: suse. NX> 700 Install log is: /usr/NX/var/log/install. NX> 700 Creating configuration file: /usr/NX/etc/server.cfg. NX> 723 Cannot start NX statistics: NX> 709 NX statistics are disabled for this server. NX> 700 Version '2.1.0-22' installation completed. NX> 700 Showing file '/usr/NX/share/documents/server/install-notices': (...) NX> 700 Bye. scalix:~ #
[edit] Setting Up Your First NoMachine Session
After installation of the .exe file on your Windows machine, the client will ask if you want to set up a first session and start the NoMachine Connection Wizard. For later configuration, this program can be found in your main menu on both Windows and most Linux distributions.
For initial configuration, you will need to enter a name for the connection and a host to which to connect to. It's as easy as that: just type name or IP of your server in the field Host, and click on Next.
In the second dialog, select the Desktop (KDE or GNOME) or a single program that you want to be started (Custom) from the dropdown menu Desktop. If you choose to run a custom program in seamless mode, enter the full path in the dialog available via the Settings button. A last dialog will ask you if you want to have a shortcut for this connection on your desktop, which may be a convenient way to start your NoMachine session.
The following screenshot shows the seamless integration of Linux desktop applications in a client session. You may note that this works even across operating systems. If you select Custom in the NX client, instead of KDE or GNOME, you will receive a single window containing the chosen program from which you can start other program windows.
The example below shows a Windows desktop with Konsole, the KDE terminal application. At this command line, the user has started a X-Window enabled SSH-Session to the Scalix server, and after that the graphical installer of Scalix, which is presented on the Windows Desktop in another seamless Window, just like a local application.
[edit] Text-Based Installation
If you chose not to use the graphical installation of Scalix, the text-only installation will be the best solution. It follows the same steps like the graphical installation wizard. If the Scalix installer cannot detect a graphical environment, the text-based installation will be started automatically.
In a nutshell: Open an SSH-connection to the server. If you are using a Windows operating system, you should now download the SSH-client PuTTY from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
Download and extract the Scalix software with wget and tar. Change to the download directory and enter ./scalix-installer. The following example shows the output of this command in an SSH-session without X support:
mfeilner@tuvok:~$ ssh root@192.168.1.175 Last login: Tue Mar 27 00:22:48 2007 from tuvok.linux-magazin.de Have a lot of fun... scalix:~ # cd scalix-11.0.2.1-GA/ scalix:~/scalix-11.0.2.1-GA # ./scalix-installer Scalix Installer - extracting archive, please wait... Scalix Installer - starting version 11.0.2.29... Scalix Installer - using Python 2.4.2 (/usr/bin/python). Scalix Installer - audit log file is /var/log/scalix-installer-20070327.log === Welcome to the Scalix Installer === (...) === License Agreement === SCALIX COMMUNITY EDITION LICENSE AGREEMENT (...)
You are prompted to read and accept the Scalix license. Read it carefully and hit Enter to proceed to the following page. Once you are through, accept the license by typing yes.
-> I have read and accept the above license agreement (yes/no) [no] yes
Please choose an action from the list: [1] Install all Scalix components (typical) [2] Install one or more Scalix components (custom) -> Please enter your choice [1]:
Enter 1 to install all Scalix components and confirm that you want to install.
-> Do you want to continue installing the packages? (yes/no) [yes]
Scalix then performs a system check and reports its warnings:
(...) Performing system check... * Environment check... OK * Filesystem check... OK * Network check... OK * Dependency check... WARNING * Running services check... OK System check report: Environment check passed. Filesystem check passed. Network check passed. Dependency check warning -- The following packages will be installed next to resolve conflicts: libical Running services check passed. -> There were warnings during the system checks, are you sure you want to continue with installation? (yes/no/check again) [no] (...)
In this case, your system has passed the Scalix system check with only one warning: The Software package libical that is part of the Scalix tarball will be installed additionally. We are lucky, there is no need for any measures to be taken. Enter yes to accept the suggestion from Scalix. In Tutorial 3, there are typical examples for troubleshooting typical software issues like missing packages. Press Enter to begin the installation.
After a short while, you are prompted to enter the domain name and select the mail address format that the Scalix server is supposed to use.
(...) Please wait while Scalix components are installed... ( === Server Configuration ===
-> Enter the name of the primary mailnode on this server [scalix]: scalix
-> Domain name []: scalixtutorial.org === Default Address Format === Display name format: [1] Firstname Lastname (e.g. "James Kirk") (...) [4] Lastname, Firstname Middleinitial. (e.g. "Kirk, James T.")
-> Please enter your choice [1]: 1
Internet address format: [1] Use display name format (e.g. "james.kirk@scalixtutorial.org") (...) [10] firstinitialmiddleinitiallastinitial (e.g. "jtk@scalixtutorial.org") -> Please enter your choice [1]: 1
The listing shows the correct selections for the test domain scalixtutorial.org and the email address format markus.feilner@scalixtutorial.org. As the last step, we have to enter the Admin user account and password. What follows are exactly the same steps that are provided by the graphical installation:
(...) The Admin user account is used to manage the Scalix Server using the Management Console. Enter an admin username and password: -> Username [sxadmin]: -> Enter password: -> Confirm password: -> Unique Email Address [sxadmin-scalix@scalixtutorial.org]: Configuring Server... (...) -> Enter the location of your license key file or enter "None" to run the server without a license []:. No license key entered, continuing without one === Java Runtime Configuration === JRE version 1.5.0_06-fcs already installed, skipping. === Secure Communication === Please enter a password that the Scalix Management Services will use to authenticate with the Scalix Server. If you plan to install multiple Scalix Servers, please keep this password in a safe place. You MUST use the same password during installation of additional servers. -> Enter password: -> Confirm password: === PostgreSQL Configuration === -> Enter database password: -> Confirm password: Configuring PostgreSQL... Configuring Web applications... (...) Restarting Scalix DB... Starting Tomcat... Installation finished. Scalix Installer - cleaning up... Scalix Installer done. scalix:~/scalix-11.0.2.1-GA #
After entering the credentials for Admin user, secure communication of services and database connection, the installer sets up the system, finishes installing, and starts required services. Now, it's time to fire up your local browser and go to the URL of your Admin console, in the example it is: http://scalixtutorial.org/sac. Test the server by logging in with the credentials of the Admin user, you can also test access to the webmail client by its URL http://servername/webmail.
[edit] Uninstalling, Updating, and Reconfiguring Scalix
The Scalix installer offers a graphical dialog for several administrative tasks around installation. If you have a Scalix server installed, starting the Scalix installer will prompt you with the following dialog of the Wizard Mode:
The button Upgrade all Scalix Components will be gray, unless you do a complete new installation. In all other cases, you can choose from upgrading, reconfiguration, and uninstalling Scalix.
[edit] Uninstalling Scalix
Uninstalling Scalix is simple. Just select the Uninstall Scalix Components button and click on the Forward button You are prompted with a Window with a long list of services that you want to uninstall from your server. For a complete uninstall, select all components and click Forward again.
Three message boxes are presented: First, confirm that you want to uninstall the software. Then, Scalix will ask you whether the cache data and the user indexes should be removed with the software. In most cases, you may click yes. Cache and index data can be rebuilt by the system automatically, if you later decide to install Scalix again on this machine.
Scalix is uninstalling and prompts with a message box once it has finished.
[edit] Updating and Reconfiguring
Updating and Reconfiguration are as simple as that. For an update, choose Upgrade one or more Scalix components (custom) from the list.
After a system check, Scalix asks for the directory containing the software you want to install. If you have started the installer of the new version, the right directory will be selected. If not, click on Browse and select the source directory where you have unpacked the Scalix software. Click on Forward to proceed. The Scalix wizard presents a list of components that can be updated, including the versions that are involved.
The following screenshot shows an update from Scalix 11.0.2.17.1 to 11.0.3.31.
Normally, all check boxes are checked, and you can click on Forward again. The Scalix installer does the system environment check that we know from initial installation and presents the results. If your Scalix system was running up to then, there will be no error here. Click on Forward again to start the update.
At this point, Scalix is stopping services, upgrading packages, and restarting the Scalix server software. After that, a series of dialogs gives you the opportunity to reconfigure your services. The configuration dialogs are identical to the ones presented during installation and reconfiguration.
The Scalix software checks for host and domain names, users, services, and locales. In addition, you can enter specific configuration options like changing the LDAP port or adding hosts to the lists of allowed hosts for database access. After you have completed confirming your existing configuration, your Scalix server is immediately available in the new version.
Of course, the upgrade or reconfiguration can also be done with the text-based installation procedure:
scalix:~/software/scalix-11.0.3-GA # ./scalix-installer Scalix Installer - extracting archive, please wait... Scalix Installer - starting version 11.0.3.31... Scalix Installer - using Python 2.4.2 (/usr/bin/python). Scalix Installer - audit log file is /var/log/scalix-installer-20070429.log === Welcome to the Scalix Installer === -> I have read and accept the above license agreement (yes/no) [no] yes Please choose an action from the list: [1] Install/Upgrade one or more Scalix components (custom) [2] Reconfigure Scalix components [3] Uninstall Scalix components -> Please enter your choice: 2 (...) Please choose one or more components to configure: [1] Scalix DB (version 11.0.3.31-1) [2] Scalix Tomcat (version 5.5.16-226) [3] Scalix Messaging Services (version 11.0.3.31-1) [4] Scalix Management Agent (version 11.0.3.31-1) (...)
[edit] Advanced Installations Multi-Server Setup
The typical Scalix server installation consists of only one server performing all the tasks of the groupware. However, Scalix consists of several components that can easily be split over several servers, at least if you own an EE or SBE license.
[edit] Distributing Scalix Services on Multiple Hosts
Choosing Custom Installation during the first dialogs of the Scalix installer offers an advanced installation process, where single services can be selected that are supposed to be installed on this particular host. But to get this multi-server scenario working, some advanced configuration has to be done that is not covered by the Scalix installer. For example: authentication between the servers should be done by Kerberos. Thus, all Scalix servers need a working Kerberos setup, including suitable
keytab files, synchronized local time on the servers, suitable network configuration, and more. If you need more information on that, have a look in the Scalix Setup and Configuration Guide.
But Scalix multi-server setup also offers scenarios where all servers are full-featured Scalix servers:
[edit] Failover Cluster
In this setup, two or more Scalix servers guarantee permanent email and calendaring access, even in case one of the servers hangs, e.g. because of hardware failures. Scalix offers clustering software with which the administrator installs two or more machines with full installation and identical setups. One of the servers is defined as "Master", the other one as "Slave". If a Slave detects a problem on the Master, it takes over the Master's services, ensuring services to clients while the Master is down.
[edit] Load Balancing Cluster
If you have many users and you are not sure if one Scalix server may manage the load of the incoming connections, then a load balanced cluster setup for multiple Scalix servers will be your first choice. In the easiest setup, round-robin DNS ensures that a client always seems to connect to the same server, while in reality there are several physical machines serving. Each of these share the same installation and configuration of Scalix, and synchronize their directories. In this setup, there are two, three or more identical servers, permanently updating the directory contents while answering queries from users. Adding servers is an easy, three-step process: Install an identical system, configure directory synchronization, and adjust your DNS entry. This is scalability.
[edit] Synchronizing Remote Scalix Servers
If an organization has several branches in different locations, each of the branches may have a Scalix server. The two Scalix servers' directories are synchronized, so that an employee logging into Scalix at location A receives identical information like when logging in at location B. For such a synchronization, only little bandwidth is needed compared to the amount of data that has to be transferred when several users log in to a remote server
There are more handy scenarios that are supported by Scalix. One of them may be the usage of multiple Web-frontends of Scalix Web Access to a single Scalix server. This setup might help to handle the load caused by JAVA and Tomcat. The only limit for administrators is their creativity, and the Scalix license they own.
[edit] Troubleshooting Installation
The Scalix installation wizard is a powerful and reliable tool. If your installation fails, uninstall Scalix and do a fresh reinstall. In almost any case, the installer will give you detailed and concise information on the reason why it failed to install. Nevertheless, the following list of questions may be helpful when you run into problems:
- Does your server have a static IP?
- Is your network setup working?
- What about DNS? Can your server resolve its own name and IP?
- Is there a firewall on your system blocking services?
- Are any other mail or directory services running?
- Is Apache or Tomcat running or (mis)configured? Does this installation conflict with the Scalix services?
- Check the files responsible for network configuration and name resolution like
/etc/hosts,/etc/networks...! - Is your software management working properly? Check your ZENworks, YaST Online Update, Red Hat Network configuration and adjust the automatic update settings. If you are unsure, disable all services that might automatically change your software.
- Are there any tools, services or programs running that might automatically change your configuration?
[edit] Summary
In this tutorial, we have learned how to use the Scalix graphical installation from a Microsoft Windows client with the help of the Linux terminal server software NoMachine NX. Then, this tutorial dealt with the text-based installation, upgrading, uninstalling, and reconfiguring Scalix server software. The tutorial closed with multi-server setup, troubleshooting, and basic hints for professional installations.
[edit] Additional References
For instructions on standard Scalix installation ,click here
[edit] Source
The source of this content is Chapter 4: Advanced Installations of Scalix: Linux Administrator’s Guide by Markus Feilner (Packt Publishing, 2008).
