The Perfect Server - Ubuntu Intrepid Ibex (Ubuntu 8.10)

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Fri, 2008-10-31 11:59. :: ISPConfig | Ubuntu

The Perfect Server - Ubuntu Intrepid Ibex (Ubuntu 8.10)

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 10/30/2008

This tutorial shows how to set up an Ubuntu Intrepid Ibex (Ubuntu 8.10) server that offers all services needed by ISPs and hosters: Apache web server (SSL-capable), Postfix mail server with SMTP-AUTH and TLS, BIND DNS server, Proftpd FTP server, MySQL server, Courier POP3/IMAP, Quota, Firewall, etc.

I will use the following software:

  • Web Server: Apache 2.2 with PHP 5.2.6, Python, and Ruby
  • Database Server: MySQL 5.0
  • Mail Server: Postfix
  • DNS Server: BIND9
  • FTP Server: proftpd
  • POP3/IMAP: I will use Maildir format and therefore install Courier-POP3/Courier-IMAP.
  • Webalizer for web site statistics

In the end you should have a system that works reliably, and if you like you can install the free webhosting control panel ISPConfig (i.e., ISPConfig runs on it out of the box).

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!

 

1 Requirements

To install such a system you will need the following:

 

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

Insert your Ubuntu install CD into your system and boot from it. Select your language:

Then select Install Ubuntu Server:

Choose your language again (?):

Then select your location:

Choose a keyboard layout (you will be asked to press a few keys, and the installer will try to detect your keyboard layout based on the keys you pressed):

The installer checks the installation CD, your hardware, and configures the network with DHCP if there is a DHCP server in the network:


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by bosaka (not registered) on Mon, 2009-01-26 14:00.
server1.example.com is this what you plan to name your website?
Submitted by mind (not registered) on Wed, 2008-11-26 19:44.

./setup script gives some errors then building extensions

checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
ERROR: Could not configure PHP
cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
mv: cannot stat `binaries/aps.tar.gz': No such file or directory
mv: cannot stat `binaries/spamassassin.tar.gz': No such file or directory
mv: cannot stat `binaries/uudeview.tar.gz': No such file or directory
mv: cannot stat `binaries/clamav.tar.gz': No such file or directory
mv: cannot stat `binaries/cronolog': No such file or directory
mv: cannot stat `binaries/cronosplit': No such file or directory
mv: cannot stat `binaries/ispconfig_tcpserver': No such file or directory
mv: cannot stat `binaries/zip': No such file or directory
mv: cannot stat `binaries/unzip': No such file or directory
tar: spamassassin.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
mv: cannot stat `spamassassin': No such file or directory
tar: uudeview.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
mv: cannot stat `uudeview': No such file or directory
tar: clamav.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
mv: cannot stat `clamav': No such file or directory
tar: aps.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
mv: cannot stat `ispconfig_tmp': No such file or directory
cp: cannot stat `dist.info': No such file or directory
All prerequisites are fulfilled.
Here we go...
chmod: cannot access `./install.php': No such file or directory
Please enter your MySQL server:Please enter your MySQL server:^C

Submitted by n2geoff (registered user) on Tue, 2008-11-18 23:05.

The server install process went without snag, however the ISPConfig had a snag trying to install.

"Flex" was missing.  So I installed it, and ISPConfig installed, but I was unable to get it to work - it deleted after reboot?

I'm going through the setup process again on another fresh machine, and think this will work out fine.

- Geoff

 

Submitted by Anonymous (not registered) on Fri, 2008-11-07 20:39.

Thanks for a great tutorial.
I have a few comments. I think a note saying something to the effect of "you *must* install /all/ these programs if you want to use ISPConfig" would be a useful addition to the tutorial.
I tried leaving out Quota and ProFTPd (as I don't need them) and ISPConfig barfed when I tried to install it the first time. "ISPConfig runs on it out of the box" I respectfully disagree. To illustrate my point, I list here my failed installation attempts and the reasons for failure. Remember, this is on a box which has just completed the above tutorial. Hopefully those who didn't fall for these mistakes will get a chuckle out of them.
Try #1: The Ubuntu devs (in their infinite wisdom) have changed the /bin/sh link from /bin/bash to /bin/dash, thus completely breaking ISPConfig's setup. That's an easy problem to solve (see the link I post in #5).
Try #2: The setup script erroneously thinks I'm running Debian. This leads to a problem in line 76 of "setup2", whose fix is here.
Try #3: Line 821 of install.php doesn't like the database I've prepared in MySQL specially for it. Apparently, this database must NOT exist before installing. Also, I find the installer has deleted the install directory, which means I can't make a change and restart the install. I delete the database and start again.
Try #4: Line 821 of install.php doesn't like the user I prepared for it either. According to a post buried somewhere in the forum, you must use a MySQL root user to install the database.
Try #5: This one almost worked, but for some reason ISPConfig didn't save *any* of the settings I entered during install.
Try #6: I have high hopes for this one. The generated SSL certificate is corrupt if Firefox and Opera are to be believed. Both refuse to connect to ISPConfig. But I think this can be fixed post-install using these instructions. Thanks to David Yin for posting them. It's a good thing I'm patient, since each install attempt takes the better part of an hour on this slow server. But I think my point is made - ISPConfig does NOT install out of the box on Ubuntu 8.10 Server.

Submitted by admin (registered user) on Fri, 2008-11-07 22:55.
I really don't understand your point. All you have to do is follow the tutorial and install ISPConfig - nothing else. Nowhere is it said that you need to create a database or a database user for ISPConfig. I also don't understand your other points. I've completed this setup so many times and *never* had any problems installing ISPConfig.
Submitted by Anonymous (not registered) on Sat, 2008-11-08 00:52.
Yeah, I was half expecting that reaction. I'm not having a go or anything. Apologies if I gave that impression.

I was trying to give some constructive criticism on the article, but halfway through it sort of turned into a newbie guide for what to do when ISPConfig fails to install on Intrepid. Apologies again for being offtopic. I just didn't want to say "hey, you said this, you were wrong" without backing it up.

Agreed that I got a little bit creative with the database, but being a security-conscious server administrator I thought that rather than let ISPConfig take complete control of MySQL I would handle it myself. That is, give it a limited user rather than root access. I guess I need to let ISPConfig install and then tighten the screws.

I'll try again. :) My two points are:

1. I think the article would be improved by a sentence saying "you must install all these programs for ISPConfig to work, you may NOT leave any of them out".

2. I think you're wrong when you say "ISPConfig runs on it out of the box".

Submitted by Allen15 (registered user) on Thu, 2009-01-29 05:37.

I'm not "having a go" either, and I can honestly say that so far, NOTHING having to do with getting ISPConfig running has worked, out-of-the-box or otherwise.  I guess that as comments have been made, the tutorials have either been updated, and/or the distribution configuration, because many of the warnings about making some change seem to already be made for me, but I still check.

Specifically, I have a T-1 connection with a block of 32 static IP addresses and have created all of the proper entries for my external DNS hosting to point my domain I wish to host to one of my IP addresses.  Done long ago, DNS has propagated, the address resolves fine from anywhere on the 'net with a simple ping to my domain name.

I have a small computer system running a dual-core Intel x86 CPU, 1 Gb of RAM, and a new 120 Gb hd, with a temporarily connected DVD-ROM drive for the purpose of getting this machine running, since it will become a headless server.

During the install, I chose not to let it detect my keyboard (the 2nd attempt and thereafter), because I can manually choose it faster than the setup can detect it, and noticed no errors due to an improperly chosen keyboard, but still, even though I went through this How-To literally to the letter, I haven't yet been able to even see a log-in page in any web browser for ISPConfig on any computer or with any browser I can try it with so far, which includes IE, Firefox, Seamonkey, and Lynx.

I usually have made it through the "Perfect Server" installation and setup with no visible wounds, but have no idea why I am so far completely unable to get ISPConfig to install to any level of functionality.  All of their web help for this points back to this How-to, or to their mostly incomplete Wiki, the forum, where I've yet to find anyone posting about similar problems, or their install guide, which takes me full circle...

Regardless of the author's experiences, I beg to differ in that I can certainly vouch for the fact that this most certainly isn't working "out of the box", and I'm about to wipe and reload from a clean install (for the 8th time).

Sadly enough, at some point soon, my employer will be forcing me to produce results, which may mean buying another license/copy of some flavor of Microsloft server, and setting up IIS, since they know I can get a website up with that combination...

To the author--I believe that you are and have successfully running this, but I just can't figure out the missing links/steps that have fallen below your radar, so they didn't get explicitly listed here and those with sufficient experience don't stumble over those most obvious barriers, but those of us so far down in knowlege are finding them impassable walls.

I will keep trying, but by no later than Monday, I have to have some visible signs of success that my upper management will both recognize and be happy with.  No excuses. 

Submitted by Anonymous (not registered) on Fri, 2008-10-31 16:38.

following these details got me stuck at the following:

Setting up console-setup (1.25ubuntu3) ...

Installing new version of config file /etc/init.d/keyboard-setup ...

Installing new version of config file /etc/init.d/console-setup ...

 * Setting up console font and keymap...

 
 is there a clear way to cleanly complete the upgrade?

Submitted by Anonymous (not registered) on Sat, 2008-11-01 20:05.
oops… posted comment to the wrong tutorial. a reboot after the upgrade and reconfiguring/rerunning the console setup worked fine. no problems so far…