There is a new version of this tutorial available for Ubuntu 20.04 (Focal Fossa).

The Perfect Server - Ubuntu 9.04 [ISPConfig 3] - Page 5

20 Install SquirrelMail

To install the SquirrelMail webmail client, run

aptitude install squirrelmail

Then create the following symlink...

ln -s /usr/share/squirrelmail/ /var/www/webmail

... and configure SquirrelMail:

squirrelmail-configure

We must tell SquirrelMail that we are using Courier-IMAP/-POP3:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >>
 <-- D


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw          = University of Washington's IMAP server

    quit        = Do not change anything
Command >>
 <-- courier


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
    bincimap    = Binc IMAP server
    courier     = Courier IMAP server
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw          = University of Washington's IMAP server

    quit        = Do not change anything
Command >> courier

              imap_server_type = courier
         default_folder_prefix = INBOX.
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
          default_sub_of_inbox = false
show_contain_subfolders_option = false
            optional_delimiter = .
                 delete_folder = true

Press any key to continue...
 <-- ENTER


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >>
 <-- S


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> S

Data saved in config.php
Press enter to continue...
 <-- ENTER


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >>
 <-- Q

Afterwards you can access SquirrelMail under http://server1.example.com/webmail or http://192.168.0.100/webmail:

 

21 Install ISPConfig 3

To install ISPConfig 3 from the latest released version, do this:

cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.1.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.1.tar.gz
cd ispconfig3_install/install/

(Replace ISPConfig-3.0.1.1.tar.gz with the latest version.)

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer:

[email protected]:/tmp/ispconfig3_install/install# php -q install.php


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _
|_   _/  ___| ___ \ /  __ \            / _(_)
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian Lenny/Sid or compatible

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with <ENTER>.
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]:
 <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 2048 bit RSA private key
..............................................................+++
..............+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
 <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]:
 <-- ENTER

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
 * Stopping MySQL database server mysqld
   ...done.
 * Starting MySQL database server mysqld
   ...done.
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
 * Stopping Postfix Mail Transport Agent postfix
   ...done.
 * Starting Postfix Mail Transport Agent postfix
   ...done.
 * Stopping SASL Authentication Daemon saslauthd
   ...done.
 * Starting SASL Authentication Daemon saslauthd
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
   ...done.
 * Stopping Courier authentication services authdaemond
   ...done.
 * Starting Courier authentication services authdaemond
   ...done.
 * Stopping Courier IMAP server...
   ...done.
 * Starting Courier IMAP server...
   ...done.
 * Stopping Courier IMAP-SSL server...
   ...done.
 * Starting Courier IMAP-SSL server...
   ...done.
 * Stopping Courier POP3 server...
   ...done.
 * Starting Courier POP3 server...
   ...done.
 * Stopping Courier POP3-SSL server...
   ...done.
 * Starting Courier POP3-SSL server...
   ...done.
 * Restarting web server apache2
 ... waiting    ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -E -b -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[email protected]:/tmp/ispconfig3_install/install#

The installer automatically configures all underlying services, so no manual configuration is needed.

Afterwards you can access ISPConfig 3 under http://server1.example.com:8080/ or http://192.168.0.100:8080/. Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.

 

21.1 ISPConfig 3 Manual

 

Share this page:

Suggested articles

21 Comment(s)

Add comment

Comments

By: jon

Hi, what a great Howto. It all worked flawlessly except on the end where I get this.

 ERROR: Unable to load SQL-Dump into database table.

Ant suggestions to what it might be?

 

/jon

By: Dalibor


on some servers there is just
apt-get
so if you want to use aptitude
you need to type
sudo apt-get install aptitude

on some servers there is a problem with locales
annoying error  like

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

to fix this
sudo apt-get install --reinstall language-pack-en
then
sudo dpkg-reconfigure locales

that worked for me..
best regards and once more gr8 tut m8

By: Martin Siron

I followed the whole guide threw every details everything worked untill I got to the webmail part.

The installation went fine, when I went on 192.168.1.50/webmail (the IP I set up because 192.168.1.100 was taken by the TV, and 192.168.0.* wasnt available) it worked, showed me the login and everything, but when I went on server1.mwd.com (the dns I set up,) it showed "Page Not Found!"

I went back threw it twice, reinstalled it a second time, but still dosnt work, hostname and hostname -f commands show the right host name, I have the right domain and host name, IP address, gateway, subnet. I think though I need a different Name Server, I entered 192.168.1.1, because that's what it showed at first...

By: Anonymous

Awesome tutorial, only thing that had me for a bit was my virtualhosts were working on the main domain but not www.

Had to remove the apache default config and restart apache in order for ISPConfig to control all the vhosts.

# sudo rm /etc/apache2/sites-enabled/000-default

# sudo /etc/init.d/apache2 restart

By: Lesseps

Great tutorial, thank you!

 This is the first time I have tried to set up a server, just trying to learn, in my LAN.

"Afterwards you can access ISPConfig 3 under http://server1.example.com:8080/ or http://192.168.0.100:8080/ [...] "

 http://server1.example.com:8080/ cannot be accessed  only http://192.168.0.100:8080/

The same for squirrelmail.

 What have I  done wrong? Server twice installed with the same result.

By: Anonymous

Has to do with DNS.  The first DNS resolves to an IP and since this address and domain does not exist in your DNS it does not resolve correctly.

You should use a hostname and domain that you control. You would then configure the DNS to resolve to the correct IP.

One thing  to keep in mind is that you may need to create what is called "Split Brain DNS" where you have a DNS Server for inside your network and a DNS Server for Internet Facing clients.  The internal DNS Server will be given to your IP stack through DHCP.  The internal DNS Server will be configured to resolve mail.server.com to the Internal IP eg.. 192.168.x.x.  The External facing DNS will be configured to to resolve mail.server.com to the Publicly accessable IP address which would be on your Router of Firewall which will forward the correct ports through to the internal server.

 Thanks..

By:

For use inside your your lan, you need to edit the /etc/hosts files on all rout machines (that's the simple way in you aren't able do this with dns locally)

You want to add the entry to the /etc/hosts file like this

ipaddress                               hostname

your.server.ip.address        whateveryouwanttocallyourserverlocally

so for an ipaddress of 192.168.2.100 and a hostname of localmachine you put an entry like this in the /etc/hosts file of all your machines:

192.168.2.100                    localmachine

 this will let you type localmachine/webmail into your browser bar on any machine that you have edited the hosts file, on your lan.

By: Keith

Hey great set of tutorial's.  I have the same problem, thanks for the tip!

By: Anonymous

thank you very much for this tutorial.

its  very heplful to me .

By: Nakarti

I even successfully skipped some parts(like I don't want to get a build environment when my livecd is down to 400MB free.)

So why couldn't I get your other ubuntu squirrelmail tutorial to work?...

Also I don't get why sql would need to listen outside the network. I'll have to fiddle with that once it's production.

By: Nakarti

I need to be sure which ports I need to forward, how to avoid that being a relay, and then give everyone this script(STOP for input at the >> spots) to save time if you have to redo the server, like I did(Four times, counting the Wrong version of ubuntu-6.06, missed steps and failed backout, virtual test system, and final working copy.)

 And since the comment system truncates me and I elected to not ;; every line:

http://www.nakarti.com/files/ThePerfectServerQuick.txt

By: Nakarti

We're building various ssl keys but nowhere does it mention using or making sure work those https connections!

 Plus shouldn't there be some help installing the change_mysqlpass squirrelmail plugin?

By: Dunc

Great tutorial, not that confident with servers so I approached with a fair bit of trepidation. The whole job could not have gone more smoothly. I had one 'moment' where I didn't read far enough ahead, and that was the note to change the download for the latest version of ISPConfig ready for the final stage, backtracked and got the latest version up and running at the first try. For anyone contemplating this install, it looks lengthy and complicated, take the steps steadily, check your typing and it will work. Thank You

By: Wolfgang

Great Tutorial - Thank you very much!

However: What about Quotas using quota.user instead of aquota.user when using ext3 anyway?

"quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown."

Using Google i found the following here: http://ubuntuforums.org/showthread.php?t=1014051&page=2

"See above, that file aquota.user already exists. The old quota format - vfsold - uses file quota.user instead. I guess we have no reason to use the old format anymore - and there is convertquota command for case of "historical" disks anyway."

 Regards Wolfgang

 

By: Gabriel

Muy buen tutorial, segui paso a paso y funciono perfecto..

He creado 1 dominio y 1 usuario con ssh y quede impresionado

gracias

By: Anonymous

very nice, maybe just fdisk the partitions and install some better sever.

You guys have to be NUTS to run ubuntu as a server! 

Funny, ppl think that they run ubuntu and they know really what linux is about...

and what that shite about disabling AppArmor? what the . . .


 

By:

Hi just thought id mention i used ubuntu 8.10 64-bit server edition, and it worked without changing anything. Thanks again.

By: Patrick Johnson

Just wanted to say that my setup went perfect with all the instructions provided. I hoping I can contribute to this forum in the future when I become very familiar with ISPConfig, or any PHP related help.

Thanks

By: Anonymous

Just wanted to mention, this guide works with Ubuntu 10.04 as well.

By: Anonymous

Warning: require_once(/var/www/domen/7sbmnfhedm8b2a1h/public_html/www/includes/defines.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/domen/7sbmnfhedm8b2a1h/public_html/www/index.php on line 21

Fatal error: require_once() [function.require]: Failed opening required '/var/www/domen/7sbmnfhedm8b2a1h/public_html/www/includes/defines.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/domen/7sbmnfhedm8b2a1h/public_html/www/index.php on line 21

heeelp!!

By: pravednik

Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(../lib/config.inc.php) is not within the allowed path(s): (.) in /usr/local/ispconfig/interface/web/index.php on line 33 Warning: require_once(../lib/config.inc.php) [function.require-once]: failed to open stream: Operation not permitted in /usr/local/ispconfig/interface/web/index.php on line 33 Fatal error: require_once() [function.require]: Failed opening required '../lib/config.inc.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/local/ispconfig/interface/web/index.php on line 33 ------------------------------------------- error, plz, help, i`m reinstall panel.