Installing A Web, Email & MySQL Database Cluster On Debian 6.0 With ISPConfig 3 - Page 2

The next steps have to be executed on server 1 and server 2.

To install amavisd-new, SpamAssassin, and ClamAV, we run:

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

The ISPConfig 3 setup uses amavisd which loads the SpamAssassin filter library internally, so we can stop SpamAssassin to free up some RAM:

/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove

Then install Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, and mcrypt can be installed as follows:

apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby php5-xcache libapache2-mod-perl2 sudo zip wget

You will see the following question:

Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? 
<-- No

Then run the following command to enable the Apache modules suexec, rewrite, ssl, actions, and include:

a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest

PureFTPd and quota can be installed with the following command:

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

Edit the file /etc/default/pure-ftpd-common...

vi /etc/default/pure-ftpd-common

... and make sure the start mode is set to standalone and set VIRTUALCHROOT=true:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp:

vi /etc/inetd.conf

If there is a line beginning withftp stream tcp, comment it out (if there's no such file, then that is fine, and you don't have to modify /etc/inetd.conf):

[...]
#:STANDARD: These are standard services.
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

If you had to modify /etc/inetd.conf, restart inetd now:

/etc/init.d/openbsd-inetd restart

Now we configure PureFTPd to allow FTP and TLS sessions. FTP is a very insecure protocol because all passwords and all data are transferred in clear text. By using TLS, the whole communication can be encrypted, thus making FTP much more secure.

If you want to allow FTP and TLS sessions, run:

echo 1 > /etc/pure-ftpd/conf/TLS

In order to use TLS, we must create an SSL certificate. I create it in /etc/ssl/private/, therefore I create that directory first:

mkdir -p /etc/ssl/private/

Afterwards, we can generate the SSL certificate as follows:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Country Name (2 letter code) [AU]: <-- Enter your Country Name (e.g., "DE").
State or Province Name (full name) [Some-State]:
<-- Enter your State or Province Name.
Locality Name (eg, city) []:
<-- Enter your City.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
<-- Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []:
<-- Enter your Organizational Unit Name (e.g. "IT Department").
Common Name (eg, YOUR name) []:
<-- Enter the Fully Qualified Domain Name of the system (e.g. "server1.example.com").
Email Address []:
<-- Enter your Email Address.

Change the permissions of the SSL certificate:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Then restart PureFTPd:

/etc/init.d/pure-ftpd-mysql restart

Edit /etc/fstab. Mine looks like this (I added ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 to the partition with the mount point /):

vi /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 /               ext3    errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0       1
# swap was on /dev/sda5 during installation
UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

To enable quota, run these commands:

mount -o remount /

quotacheck -avugm
quotaon -avug

Install BIND DNS Server:

apt-get -y install bind9 dnsutils

Install vlogger, webalizer, and awstats:

apt-get -y install vlogger webalizer awstats geoip-database

Open /etc/cron.d/awstats afterwards...

vi /etc/cron.d/awstats

... and comment out both cron jobs in that file:

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
 #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh 

Install Jailkit: Jailkit is needed only if you want to chroot SSH users. It can be installed as follows (important: Jailkit must be installed before ISPConfig - it cannot be installed afterwards!):

apt-get -y install build-essential autoconf automake1.9 libtool flex bison

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14*

Install fail2ban: This is optional but recommended, because the ISPConfig monitor tries to show the log:

apt-get install fail2ban

To make fail2ban monitor PureFTPd and Dovecot, create the file /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local

[pureftpd]
enabled  = true
port     = ftp
filter   = pureftpd
logpath  = /var/log/syslog
maxretry = 3

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5

Then create the following two filter files:

vi /etc/fail2ban/filter.d/pureftpd.conf

[Definition]
failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.*
ignoreregex =

vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf

[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.*
ignoreregex =

Restart fail2ban afterwards:

/etc/init.d/fail2ban restart

To install the SquirrelMail webmail client, run:

apt-get 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 Dovecot-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
    gmail       = IMAP access to Google mail (Gmail) accounts

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


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
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >> dovecot

              imap_server_type = dovecot
         default_folder_prefix = <none>
                  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 = detect
                 delete_folder = false

Press enter to continue... 
<-- press 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 >> 
<-- Q

Next we enable a global Alias /webmail for Squirrelmail:

cd /etc/apache2/conf.d/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2 reload

Now open /etc/apache2/conf.d/squirrelmail.conf...

vi /etc/apache2/conf.d/squirrelmail.conf

... and add the following lines to the <Directory /usr/share/squirrelmail></Directory> container that makes sure that mod_php is used for accessing SquirrelMail, regardless of what PHP mode you select for your website in ISPConfig:

[...]
Alias /webmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
   Options FollowSymLinks
<IfModule mod_php5.c>
   AddType application/x-httpd-php .php
   php_flag magic_quotes_gpc Off
   php_flag track_vars On
   php_admin_flag allow_url_fopen Off
   php_value include_path .
   php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp
   php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname
   php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
   DirectoryIndex index.php
</IfModule>
 
# access to configtest is limited by default to prevent information leak
<Files configtest.php>
   order deny,allow
   deny from all
   allow from 127.0.0.1
</Files>
</Directory>
[...]

Create the directory /var/lib/squirrelmail/tmp...

mkdir /var/lib/squirrelmail/tmp

... and make it owned by the user www-data:

chown www-data /var/lib/squirrelmail/tmp

Reload Apache again:

/etc/init.d/apache2 reload

That's it already - /etc/apache2/conf.d/squirrelmail.conf defines an alias called /squirrelmail that points to SquirrelMail's installation directory /usr/share/squirrelmail.

You can now access SquirrelMail from your web site as follows:

http://www.example.com/squirrelmail

You can also access it from the ISPConfig control panel vhost as follows (this doesn't need any configuration in ISPConfig):

http://server1.example.com:8080/squirrelmail

Next we install Unison. Unison is used to sync the /var/www and /var/vmail directories between master and slave

apt-get install unison

Now we install a unison configuration file on the first server.

On server 1:

Create a new file /root/.unison/default.prf on server1...

mkdir /root/.unison
vi /root/.unison/default.prf

... and add the following content:

# Roots of the synchronization
root = /var
root = ssh://192.168.0.106//var/
 
# Paths to synchronize
path = www
path = vmail
 
# Some regexps specifying names and paths to ignore
#ignore = Path stats    ## ignores /var/www/stats
#ignore = Path stats/*  ## ignores /var/www/stats/*
#ignore = Path */stats  ## ignores /var/www/somedir/stats, but not /var/www/a/b/c/stats
#ignore = Name *stats   ## ignores all files/directories that end with "stats"
#ignore = Name stats*   ## ignores all files/directories that begin with "stats"
#ignore = Name *.tmp    ## ignores all files with the extension .tmp
   
#          When set to true, this flag causes the user interface to skip
#          asking for confirmations on non-conflicting changes. (More
#          precisely, when the user interface is done setting the
#          propagation direction for one entry and is about to move to the
#          next, it will skip over all non-conflicting entries and go
#          directly to the next conflict.)
auto=true
   
#          When this is set to true, the user interface will ask no
#          questions at all. Non-conflicting changes will be propagated;
#          conflicts will be skipped.
batch=true
   
#          !When this is set to true, Unison will request an extra
#          confirmation if it appears that the entire replica has been
#          deleted, before propagating the change. If the batch flag is
#          also set, synchronization will be aborted. When the path
#          preference is used, the same confirmation will be requested for
#          top-level paths. (At the moment, this flag only affects the
#          text user interface.) See also the mountpoint preference.
confirmbigdel=true
   
#          When this preference is set to true, Unison will use the
#          modification time and length of a file as a `pseudo inode
#          number' when scanning replicas for updates, instead of reading
#          the full contents of every file. Under Windows, this may cause
#          Unison to miss propagating an update if the modification time
#          and length of the file are both unchanged by the update.
#          However, Unison will never overwrite such an update with a
#          change from the other replica, since it always does a safe
#          check for updates just before propagating a change. Thus, it is
#          reasonable to use this switch under Windows most of the time
#          and occasionally run Unison once with fastcheck set to false,
#          if you are worried that Unison may have overlooked an update.
#          The default value of the preference is auto, which causes
#          Unison to use fast checking on Unix replicas (where it is safe)
#          and slow checking on Windows replicas. For backward
#          compatibility, yes, no, and default can be used in place of
#          true, false, and auto. See the section "Fast Checking" for more
#          information.
fastcheck=true

#          When this flag is set to true, the group attributes of the
#          files are synchronized. Whether the group names or the group
#          identifiers are synchronizeddepends on the preference numerids.
group=true
   
#          When this flag is set to true, the owner attributes of the
#          files are synchronized. Whether the owner names or the owner
#          identifiers are synchronizeddepends on the preference
#          extttnumerids.
owner=true
   
#          Including the preference -prefer root causes Unison always to
#          resolve conflicts in favor of root, rather than asking for
#          guidance from the user. (The syntax of root is the same as for
#          the root preference, plus the special values newer and older.)
#          This preference is overridden by the preferpartial preference.
#          This preference should be used only if you are sure you know
#          what you are doing!
prefer=newer
   
#          When this preference is set to true, the textual user interface
#          will print nothing at all, except in the case of errors.
#          Setting silent to true automatically sets the batch preference
#          to true.
silent=true
   
#          When this flag is set to true, file modification times (but not
#          directory modtimes) are propagated.
times=true

We want to automate synchronization, that is why we create a cron job for it on server1.example.tld:

crontab -e

*/5 * * * * /usr/bin/unison &> /dev/null
Share this page:

35 Comment(s)

Add comment

Comments

From: at: 2012-02-19 10:57:56

I can't get the MySQL sync to work.
After scp command and MySQL config edit it fails start on server2. Is there something missing from this tutorial?

From: at: 2012-03-01 09:47:28

The tutorial is complete and works on the servers that I installed. If you need help with your setup, please make a post in the forum which includes the detailed error messages etc.

From: Anonymous at: 2012-11-09 09:56:39

I'm having big-time trouble with Slave_IO_Running: No Why is this happening? The Slave_SQL_Running is Yes.... Help cause I'm stuck

From: poisen at: 2012-04-12 19:09:30

...I have the same problem with the mysql sync, after stopping mysql service and editing /etc/mysql/my.cnf there is no way to restart MySQL again.

 Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

From: HansB at: 2012-06-09 15:50:23

Works like a charm with older Mysql.

Trying to do it with Mysql5.5+ (from dotnet) and I get the same error as above.

The following options are removed in MySQL 5.5. If you attempt to start mysqld with any of these options in MySQL 5.5, the server aborts with an unknown variable error.

–master-host
–master-user
–master-password
–master-port

What way to work around?

From: at: 2012-10-18 05:16:27

I know this works cause I have followed it in the past but I now notice something that is incorrect. 

 Where you have the command: ssh-copy-id -i $HOME/.ssh/id_dsa.pub root@192.168.0.106

Right below that section in the next block is code you obviously copied out of your xterm window.

 All the IP's are different, not hugely so but for anyone walking through this the first time and clueless about what they are doing and what is really going on and just following verbatim.  Small problem I thought you might care to know about and possibly address. I had to verify if I was reading your How-To or notes of my own in one of my wiki's and I don't think it was there before but hard to say, worked for me each time none the less.

hths 

From: Anonymous at: 2012-11-20 22:19:54

On server 2:

Log into the MySQL shell as root user..

You should use : 

/etc/init.d/mysql start (again)

Then you have an error like that:

 

ERROR 29 (HY000): File '/var/lib/mysql/master.info' not found (Errcode: 13 or similar. You should use chmod 777 /var/lib/mysql/master.info .

Then the error dissapear. If you are more serious , you should give the correct priveligies to mysql.

 

From: at: 2013-03-20 23:00:05

Hi guys

im new to this , is there a setup like this that works with ubuntu 12.04 lts.

i will be thankfull for life.

 

From: Anon at: 2013-09-22 12:04:58

I had problems following this set of instructions organising the base setup and MYSQL config. As I see it it only sets up replication one way. 

 I followed the following instructions to setup master-master and then carried on : 

 http://www.howtoforge.com/mysql5_master_master_replication_debian_etch

From: at: 2012-06-06 19:29:50

  • Create a user calle unison on server2
  • Make a private key on server1 and add it to the authorized list for unison on server2

 

On server2:

  • Add unison to the sudoers with `unison ALL = NOPASSWD: /usr/bin/unison-wrap`
  • mv /usr/bin/unison /usr/bin/unison-wrap
  • vi /usr/bin/unison

#!/bin/bash
/usr/bin/sudo /usr/bin/unison-wrap $*

  • chmod +x /usr/bin/unison

What happens now is that the user unison has no rights really but can get full root rights BUT ONLY FOR unison. Ofcouse you could potentially use unison to inject the full system. But unison itself account has no password and the private key is on server1. So as long as that private key is not been compromised you should be golden. If some one want i can write a full tutorial on setting up unison like this.

From: ColdDoT at: 2012-06-05 19:29:24

Good info
Only thing i find insecure is that you use root accounts for sync...
perhaps make a different user for that?

From: Anonymous at: 2012-12-02 15:19:21

thank you for this tutorial, it would be very nice when it works but after 6 tries with fresh installation of slave i give it up,

i think it is not working when the master server still is running  (3.0.4.6)

the SHOW SLAVE STATUS \G gives error, which can be solved with

replicate-ignore-table=dbispconfig.sys_datalog
replicate-ignore-table=dbispconfig.monitor_data 

in /etc/mysql/my.cnf

but after all, i see no choice in the "server is mirror of" LIST  in ispconfig

the databases on the slaves are all without any tables

the mirroring of www and vmail with unison, dont work

i tried very hard and concentrated and 1:1 like in this tutorial but now i am frustrated and give up

From: Anonymous at: 2013-01-09 15:43:59

ISPConfig create a new system user for new client. The new user, is used to applied permission to access publish directory.

How I can sync the files (/etc/passwd, /etc/group and /etc/shadow)?

 Will I use rsync or unison to this...

From: Giulio PR at: 2014-06-14 01:46:49

 I think so.

Also as I'm mostly interested in apache2, what about /etc/apache2? What's the point in having the mysql synched if the slave server doesn't know anything about the newly created site?

From: admin at: 2014-06-14 19:32:26

Everything related to the Website, database, mailuser and other configuration is synced by ispconfig automatically. No Need to install any other Software then the sftware described in the guide to get a fully replicated cluster.

From: admin at: 2014-06-14 19:30:50

Thats all synced by ispconfig automatically.

From: at: 2014-02-11 22:52:34

Just a quick comment on using crontab to launch unison, we are using it to sync emails between servers and started with a large var/vmail folder (20GB). During the initial sync unison was launched numerous times as a cron job and I believe each instance tried to sync the whole var/vmail folder structure which caused everything to grind to a halt and was eventually fixed by a reboot.
 
Anyway to avoid multiple instances of unison running again in the future I simply wrote the following bash script to check if unison was running and if it was simply. I then called this script from crontab rather than unison directly. Hope it helps someone.
 
if [ "$(pidof unison)" ]
then
echo "Unison Already Running"
else
echo "Launching Unison"
/usr/bin/unison
echo "Unison Finished"
fi

From: Richard Ablewhite at: 2014-06-04 02:53:49

On page 3 the guide adds unison into cron to run every 5 minutes. 

This is potentially dangerous as if the task takes more than 5 mins to complete then multiple copies of unison run simultaneously and will consume large amounts of bandwidth and memory. This is particularly dangerous as unison will then run multiple instances on both cluster nodes, I've seen this bring down clusters.

A quick fix is to add the following to cron instead, ensuring unison does start if the process is already running:

*/5 * * * * pgrep unison || unison

From: Benjamin at: 2013-05-17 15:06:12

I don't understand the last step.

For which reason we would use it ?

The SCP command copy the config of master to slave, in order to slave server use the database of master... but what is the advantage, because databases of both server will be synchronized.

And when the master server will failed, its database will not be able to used by slave server... that's not a problem ? 

I have used the port 8080 for both servers, I hope I can use my servers without that..

 Thank you for response..

 Benjamin

From: at: 2013-08-11 13:31:17

in the file you can read: $conf['db_host'] = 'localhost'; so even if you copy the file, each ispconfig server will connect to it's own database. if you don't use the same database, you'll always have 2 different setup. at this point, I think the dbispconfig2 databases become useless and could be deleted

From: Anonymous at: 2012-02-18 19:03:48

Easy to understand written toutorial - but I miss some points you mentioned in the introduction:

 

This tutorial describes the installation of a clustered web, email, database and DNS server to be used for redundancyhigh availability and load balancing on Debian 6 with the ISPConfig 3...

 

What I miss are postfix (queue) redundancy, amavis (temp + quarantine)redundancy as well as handling logfiles (if complete logfiles to be archived for some month -> Vorratsdatenspeicherung). Just copying /vmail from server 1 to server 2 isn't redundancy, the loss of mails is possible.

How to switch between services (or servers) if one goes down or isn't reachable and how is load balancing solved?

just my 2 cents
Alois

From: nitesh at: 2014-08-28 14:03:08

Hello,

 I also read that tutorial and this is too good. But i just want to ask if my master server goes down then how can  i run services on server 2 so my webistes will not go down.

 Please update on this.

From: at: 2012-03-16 18:57:48

 Hello, What user and password i need to ISPConfig control panel login ?

From: at: 2012-03-27 06:06:43

The default ISPConfig login is:

Username: admin
Password: admin

From: at: 2012-04-12 08:06:47

How IspConfig 3 manage the load balancing apache clusters sessions?

From: qqkk at: 2012-04-29 15:15:17

Then open System > Server Config and enable the checkbox "Connect Linux userid to webid" on the "Web" tab:

this config for server1 or server2??

From: at: 2012-06-27 10:48:47

I've done on both servers and works correctly

From: Shelby99 at: 2012-05-11 15:49:13

Hi

I can't login on default admin admin account. Every time i try on both servers i get this error:

ERROR

Username or Password wrong.1

Password lost?
 

 Anybody know what to do?

From: Ariel at: 2012-10-18 17:25:01

Same incident here.

 I've used these queries to the DB:

 mysql> select username, passwort, md5('admin')  from sys_user\G

*************************** 1. row ***************************

    username: admin

    passwort: 21232f297a57a5a743894a0e4a801fc3

md5('admin'): 21232f297a57a5a743894a0e4a801fc3

1 row in set (0.00 sec)

So, the password for 'admin' user is 'admin' but the interface does not allow me to log on.

From: at: 2012-11-01 03:19:23

Get the password again:

Code:
grep -i db_password /usr/local/ispconfig/interface/lib/config.inc.php
Set the password:
Code:
mysql -u root -p
mysql> update mysql.user set password=PASSWORD("<PASSWORD>") where User='ispconfig';
mysql> flush privileges;
mysql> quit

From: Anonymous at: 2012-06-19 13:28:14

Hello! First of thank your very much for this nice tut. I also solved the problem regarding to the login problem for the ISPconfig web interface. 

Only one thing I left: The configuration at the end "Connect Linux userid to webid". Do I have to set this configuration for both servers?

 Thank you, mic.

From: berry at: 2013-02-17 19:55:11

hello, thank you very much unbelievable

From: at: 2013-04-11 10:03:58

Same question: How IspConfig 3 manage the load balancing and HA?

From: Djerk at: 2015-03-25 14:59:28

For those using unison between differing OS releases. You can update unison by adding a repository to the older OS to bring both versions in sync.

Now for two questions:

1) unison fails to sync two folder. Something about not having permission. I looked in the destination folder and there are a number of hidden unison files there that I can't remove even as root. Will have to keep digging to find an answer for that

2) I don't use * in the IP field (eith v4 or v6). is this a prerequisite for multiserver setups? Or can we somehow link the IPs from the various servers to specific accounts?

From: Djerk at: 2015-03-26 18:49:17

Unison sync sorted, turns out I needed to learn about the immutable attribute. Lesson learned...

One thing I've noticed is that website quota usage isn't displayed anymore. The page is just empty. Is this a known bug or due to the master being Ubuntu 10.04 LTS and the slave being 14.04 LTS?