The Perfect Server - OpenSUSE 12.1 x86_64 With Nginx [ISPConfig 3]
Author: Falko Timme
Follow me on Twitter
This tutorial shows how to prepare an OpenSUSE 12.1 64bit (x86_64) server with nginx for the installation of ISPConfig 3, and how to install ISPConfig 3. Since version 3.0.4, ISPConfig comes with full support for the nginx web server in addition to Apache, and this tutorial covers the setup of a server that uses nginx instead of Apache. ISPConfig 3 is a webhosting control panel that allows you to configure the following services through a web browser: nginx and Apache web server, Postfix mail server, MySQL, Dovecot POP3/IMAP, BIND or MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, and many more.
If you want to use nginx instead of Apache with ISPConfig, please note that your nginx version must be at least 0.8.21, and you must install PHP-FPM as well. For CGI/Perl support, you must use fcgiwrap. This is all covered by this tutorial.
I will use the following software:
- Web Server: nginx with PHP 5
- Database Server: MySQL
- Mail Server: Postfix with virtual users
- DNS Server: BIND
- FTP Server: pureftpd
- POP3/IMAP: Dovecot
- Webalizer and AWStats for web site statistics
In the end you should have a system that works reliably and is easily manageable with the ISPConfig 3 control panel. The following guide is for the 64bit version of OpenSUSE.
I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!
Notice: This guide is for ISPConfig 3.0.4 or newer. It is not suitable for ISPConfig 2.x!
ISPConfig 3 Manual
In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.
On about 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.
ISPConfig Monitor App For Android
With the ISPConfig Monitor App, you can check your server status and find out if all services are running as expected. You can check TCP and UDP ports and ping your servers. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 18.104.22.168!); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.
For download and usage instructions, please visit http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
To install such a system you will need the following:
- The OpenSUSE 12.1 DVD. You can download it here: http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-x86_64.iso
- A fast Internet connection...
2 Preliminary Note
In this tutorial I use the hostname server1.example.com with the IP address 192.168.0.100 and the gateway 192.168.0.1. These settings might differ for you, so you have to replace them where appropriate.
3 The Base System
Boot from your OpenSUSE 12.1 DVD and select Installation:
Select your language, keyboard layout and accept the licence terms:
The installer analyzes your hardware and builds the software repository cache:
Select New Installation:
Select the region and timezone:
We select Other > Minimal Server Selection (Text Mode) here as we want to install a server without X-Window desktop. The X-Window system is not necessary to run the server and would slow down the system. We will do all administration tasks on the shell or through an SSH connection, e.g. via PuTTY from a remote desktop.