GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Instalace webového, e-mailového a databázového klastru MySQL na Debian 6.0 s ISPConfig 3

Instalace webového, e-mailového a databázového klastru MySQL na Debian 6.0 s ISPConfig 3

Tento tutoriál popisuje instalaci klastrovaného webového, e-mailového, databázového a DNS serveru, který má být použit pro redundanci, vysokou dostupnost a vyrovnávání zátěže na Debianu 6 s ovládacím panelem ISPConfig 3. Replikace MySQL Master/Master bude použita k replikaci klientských databází MySQL mezi servery a Unison bude použita k synchronizaci složek /var/www (webové stránky) a /var/vmail (data e-mailových účtů).

1 Nastavení dvou základních systémů

V tomto nastavení bude jeden hlavní server (na kterém běží rozhraní ovládacího panelu ISPConfig) a jeden podřízený server, který zrcadlí webové (apache), e-mailové (postfix a dovecot) a databázové (MySQL) služby hlavního serveru.

K instalaci clusterového nastavení potřebujeme dva servery s minimální instalací Debianu 6.0. Základní nastavení je popsáno v následujícím tutoriálu v krocích 1 - 8:

https://www.howtoforge.com/perfect-server-debian-squeeze-with-bind-and-dovecot-ispconfig-3

Nainstalujte pouze kroky 1 až 8 dokonalého výukového programu serveru a ne ostatní kroky, protože se liší pro clusterové nastavení!

V mém příkladu používám následující názvy hostitelů a IP adresy pro dva servery:

Hlavní server

Název hostitele:server1.example.tld
IP-adresa:192.168.0.105

Podřízený server

Název hostitele:server2.example.tld
IP-adresa:192.168.0.106

Kdekoli se tyto názvy hostitelů nebo adresy IP vyskytují v dalších krocích instalace, budete je muset změnit tak, aby odpovídaly IP a názvům hostitelů vašich serverů.

2 Instalace dvou serverů

Následující kroky je třeba provést na hlavním a podřízeném serveru. Pokud je konkrétní krok pouze pro master nebo slave, pak jsem do popisu přidal poznámku červeně.

vi /etc/hosts
127.0.0.1       localhost
192.168.0.105   server1.example.tld
192.168.0.106   server2.example.tld

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Nastavte název hostitele serveru:

echo server1.example.tld> /etc/hostname
/etc/init.d/hostname.sh start

Použijte server1.example.tld na prvním serveru a server2.example.tld na druhém serveru.

Upravte soubor sources.list...

vi /etc/apt/sources.list 

... a zajistěte, aby váš /etc/apt/sources.list obsahoval úložiště squeeze-updates (to zajistí, že budete vždy dostávat nejnovější aktualizace pro antivirový skener ClamAV – tento projekt vydává vydání velmi často a někdy staré verze přestanou fungovat ).

[...]
deb http://ftp.de.debian.org/debian/ squeeze-updates main
[...]

Spustit

apt-get update
upgrade apt-get

k instalaci nejnovějších aktualizací (pokud nějaké existují).

Je vhodné synchronizovat systémové hodiny s NTP (n síť t ime p rotocol) server přes internet. Jednoduše spusťte

apt-get -y install ntp ntpdate

a váš systémový čas bude vždy synchronizován.

Na serveru 1:

Nyní vytvoříme pár soukromý/veřejný klíč na server1.example.tld:

ssh-keygen -t dsa

[email protected]:~# ssh-keygen -t dsa
Generování páru klíčů veřejného/soukromého dsa.
Zadejte soubor, do kterého se má klíč uložit (/root/.ssh/id_dsa):<- - ENTER
Vytvořený adresář '/root/.ssh'.
Zadejte přístupové heslo (prázdné pro žádné heslo):<-- ENTER
Znovu zadejte stejné přístupové heslo:<-- ENTER
Vaše identifikace byla uložena do /root/.ssh/id_dsa.
Váš veřejný klíč byl uložen do /root/.ssh/id_dsa.pub.
Otisk klíče je:
1b:95:bc:4a:f4:9f:d8:ea:24:31:0f:c9:72:d5:a7:80 [email protected]
Náhodný obrázek klíče je:
+- -[DSA 1024]----+
| |
| o o |
| E * . . |
| o =o o |
| . Tak . |
| + O + . |
| + + + |
| o |
| .o |
+-----------------+
[email protected]:~#

Je důležité, abyste nezadávali přístupovou frázi, jinak nebude zrcadlení fungovat bez lidské interakce, takže jednoduše stiskněte ENTER!

Dále zkopírujeme náš veřejný klíč na server2.example.tld:

ssh-copy-id -i $HOME/.ssh/id_dsa.pub [email protected]

[email protected]:~# ssh-copy-id -i $HOME/.ssh/id_dsa.pub [email protected]
Autenticita hostitele '192.168.0.101 (192.168.0.101)' nemůže být stanoven.
Otisk klíče RSA je 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.
Jste si jistý chcete pokračovat v připojení (ano/ne)? <-- ano (toto se zobrazí pouze v případě, že se k serveru2 připojujete poprvé)
Upozornění:Trvale přidáno '192.168.0.101' (RSA) do seznamu známých hostitelů.
example@ Heslo unixlinux.online:<-- heslo root serveru2
Nyní se zkuste přihlásit do počítače pomocí "ssh '[email protected]'" a přihlásit se:

 .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Nyní zkontrolujte na serveru2, zda byl veřejný klíč serveru1 správně přenesen:

server2:

cat $HOME/.ssh/authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBAPhiAexgEBexnw0rFG8lXwAuIsca/V+lhmv5lhF3BqUfAbL7e2sWlQlGhxZ8I2UnzZK8Ypffq6Ks+lp46yOs7MMXLqb7JBP9gkgqxyEWqOoUSt5hTE9ghupcCvE7rRMhefY5shLUnRkVH6hnCWe6yXSnH+Z8lHbcfp864GHkLDK1AAAAFQDddQckbfRG4C6LOQXTzRBpIiXzoQAAAIEAleevPHwi+a3fTDM2+Vm6EVqR5DkSLwDM7KVVNtFSkAY4GVCfhLFREsfuMkcBD9Bv2DrKF2Ay3OOh39269Z1rgYVk+/MFC6sYgB6apirMlHj3l4RR1g09LaM1OpRz7pc/GqIGsDt74D1ES2j0zrq5kslnX8wEWSHapPR0tziin6UAAACBAJHxgr+GKxAdWpxV5MkF+FTaKcxA2tWHJegjGFrYGU8BpzZ4VDFMiObuzBjZ+LrUs57BiwTGB/MQl9FKQEyEV4J+AgZCBxvg6n57YlVn6OEA0ukeJa29aFOcc0inEFfNhw2jAXt5LRyvuHD/C2gG78lwb6CxV02Z3sbTBdc43J6y [email protected]

Nainstalujte postfix, dovecot a mysql jediným příkazem:

apt-get -y install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d sudo

Na žádost instalačního programu zadejte nové heslo pro uživatele root MySQL. Měli byste zvolit stejné heslo pro oba servery. Poté odpovězte na následující otázky, jak je popsáno níže:

Obecný typ konfigurace? <-- Internetová stránka
E-mailové jméno? <-- server1.mydomain.tld
Vyžadován certifikát SSL <-- OK

Použijte server1.example.tld na prvním serveru a server2.example.tld na druhém serveru.

Chceme, aby MySQL naslouchalo na všech rozhraních, nejen na localhost, proto upravíme /etc/mysql/my.cnf a zakomentujeme řádek bind-address =127.0.0.1:

vi /etc/mysql/my.cnf
[...]  

# Instead of skip-networking the default is now to listen only on  
# localhost which is more compatible and is not less secure.  
#bind-address           = 127.0.0.1  

[...]

Poté restartujte MySQL:

/etc/init.d/mysql restart

Nyní připravujeme servery MySQL pro replikaci mysql master/master.

Na serveru 1:

Přihlaste se do MySQL v shellu pomocí...

 mysql -u root -p

... a zadejte kořenové heslo MySQL, které jste zvolili během instalace mysql. Poté spusťte tento příkaz v shellu MySQL:

GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIKOVANÉ PODLE 'slave_user_password';
FLUSH PRIVILEGES;
quit;

Nahraďte 'slave_user_password' s bezpečným heslem, které chcete použít pro připojení slave k hlavnímu serveru. Nahraďte tento zástupný symbol v dalších krocích heslem, které jste zvolili, ať už se zástupný symbol vyskytuje.

Nyní nakonfigurujeme naše 2 MySQL uzly:

Na serveru 1:

vi /etc/mysql/my.cnf

Vyhledejte sekci, která začíná [mysqld], a vložte do ní následující možnosti (okomentujte všechny existující konfliktní možnosti):

[...]
[mysqld]
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
 
master-host = 192.168.0.106
master-user = slaveuser
master-password = slave_user_password
master-connect-retry = 60   
 
expire_logs_days        = 10
max_binlog_size         = 500M
log_bin                        = /var/log/mysql/mysql-bin.log  
[...]

Poté zastavte MySQL:

/etc/init.d/mysql stop

Nyní udělejte téměř totéž na server2...

Na serveru 2:

vi /etc/mysql/my.cnf

Vyhledejte sekci, která začíná [mysqld], a vložte do ní následující možnosti (okomentujte všechny existující konfliktní možnosti):

[...]
[mysqld]
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
   
master-host = 192.168.0.105
master-user = slaveuser
master-password = slave_user_password
master-connect-retry = 60
 
expire_logs_days        = 10
max_binlog_size         = 500M
log_bin                        = /var/log/mysql/mysql-bin.log  
[...]

Poté zastavte MySQL:

/etc/init.d/mysql stop

Nyní musíme synchronizovat dva servery mysql. Provedeme to zkopírováním datového adresáře mysql z master do slave a také konfiguračního souboru debianu, který obsahuje uživatele debian-sys-maint. To lze provést, protože jsme na obou serverech dříve zastavili mysql.

Na serveru 1:

scp -pr /var/lib/mysql/* [email protected]:/var/lib/mysql/
scp -pr /etc/mysql/debian.cnf [email protected]:/etc/mysql/ debian.cnf

Nyní znovu spustíme MySQL na hlavním serveru:

/etc/init.d/mysql start

Přihlaste se do prostředí MySQL jako uživatel root...

mysql -u root -p

... a spusťte tento příkaz v prostředí MySQL...

 SHOW MASTER STATUS; 

... k získání hlavního stavu MySQL:

mysql> ZOBRAZIT STAV HLAVNÍHO STAVU;
+------------------+----------+---------- -----+------------------+
| Soubor | Pozice | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+------------- -+------------------+
| mysql-bin.000002 | 106 | | |
+------------------+----------+-------------- +------------------+
1 řádek v sadě (0,00 s)

Informace, které potřebujeme pro další krok, je soubor binlogu mysql-bin.000002 a pozice 106. Potřebujeme stejné podrobnosti pro server2 níže.

Nyní spusťte tento příkaz v shellu MySQL na hlavním zařízení, abyste jej připojili k podřízenému:

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='192.168.0.106', MASTER_USER='slaveuser', MASTER_PASSWORD='slave_user_password', MASTER_LOG_FILE='mysql-bin.000_LOG_POSAVE', /10 MASTER;

Poté zkontrolujte stav slave:

SHOW SLAVE STATUS \G

Je důležité, aby oba Slave_IO_Running a Slave_SQL_Running měly ve výstupu hodnotu Ano.

Na serveru 2:

Přihlaste se do prostředí MySQL jako uživatel root...

mysql -u root -p

... a spusťte tento příkaz v prostředí MySQL:

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='192.168.0.105', MASTER_USER='slaveuser', MASTER_PASSWORD='slave_user_password', MASTER_LOG_FILE='mysql-bin.000_LOG_POSAVE', /10 MASTER;

Poté zkontrolujte stav slave:

SHOW SLAVE STATUS \G

Je důležité, aby Slave_IO_Running a Slave_SQL_Running měly ve výstupu hodnotu Ano

Konfigurace replikace mysql master/master je nyní dokončena a pokračujeme v instalaci dalších softwarových balíčků.

Instalace webového, e-mailového a databázového klastru MySQL na Debian 6.0 s ISPConfig 3 – strana 2

Další kroky je třeba provést na serveru 1 a serveru 2.

Chcete-li nainstalovat amavisd-new, SpamAssassin a ClamAV, spustíme:

 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

Nastavení ISPConfig 3 používá amavisd, který interně načítá knihovnu filtrů SpamAssassin, takže můžeme zastavit SpamAssassin, abychom uvolnili RAM:

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

Poté nainstalujte Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear a mcrypt lze nainstalovat následovně:

 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

Uvidíte následující otázku:

Webový server se překonfiguruje automaticky:<-- apache2
Nakonfigurujte databázi pro phpmyadmin pomocí dbconfig-common? <-- Ne

Poté spusťte následující příkaz pro povolení modulů Apache suexec, rewrite, ssl, actions a include:

a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest

PureFTPd a kvótu lze nainstalovat pomocí následujícího příkazu:

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

Upravte soubor /etc/default/pure-ftpd-common...

vi /etc/default/pure-ftpd-common

... a ujistěte se, že je režim spuštění nastaven na samostatný a nastavte VIRTUALCHROOT=true:

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

Upravte soubor /etc/inetd.conf, abyste zabránili inetd v pokusu o spuštění ftp:

vi /etc/inetd.conf

Pokud existuje řádek začínající ftp stream tcp, zakomentujte jej (pokud takový soubor neexistuje, pak je to v pořádku a nemusíte upravovat /etc/inetd.conf):

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

Pokud jste museli upravit /etc/inetd.conf, restartujte nyní inetd:

/etc/init.d/openbsd-inetd restart

Nyní nakonfigurujeme PureFTPd tak, aby umožňoval FTP a TLS relace. FTP je velmi nezabezpečený protokol, protože všechna hesla a všechna data jsou přenášena jako prostý text. Pomocí TLS lze celou komunikaci šifrovat, čímž je FTP mnohem bezpečnější.

Pokud chcete povolit relace FTP a TLS, spusťte:

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

Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/ssl/private/, proto nejprve vytvořím tento adresář:

mkdir -p /etc/ssl/private/

Poté můžeme vygenerovat certifikát SSL následovně:

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

Název země (2 písmenný kód) [AU]:<-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celý název) [Některý stát]:<-- Zadejte svůj stát nebo název provincie.
Název lokality (např. město) []:<-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty Ltd]:<-- Zadejte název organizace (např. název vaší společnosti).
Název organizační jednotky (např. sekce) []:<-- Zadejte název organizační jednotky (např. „IT oddělení“).
Běžný název (např. VAŠE jméno) []:<-- Zadejte plně kvalifikovaný název domény systému (např. "server1.example.com").
E-mailová adresa []:<-- Zadejte svou e-mailovou adresu.

Změňte oprávnění certifikátu SSL:

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

Poté restartujte PureFTPd:

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

Upravit /etc/fstab. Můj vypadá takto (do oddílu s bodem připojení / jsem přidal ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0):

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

Chcete-li kvótu povolit, spusťte tyto příkazy:

 mount -o remount /

kvóta -avugm
kvóta -avug

Nainstalujte server DNS BIND:

apt-get -y install bind9 dnsutils

Nainstalujte vlogger, webalizer a awstats:

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

Poté otevřete /etc/cron.d/awstats...

vi /etc/cron.d/awstats

... a zakomentujte obě úlohy cron v tomto souboru:

#*/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 

Nainstalujte Jailkit:Jailkit je potřeba pouze v případě, že chcete chrootovat uživatele SSH. Lze jej nainstalovat následovně (důležité:Jailkit musí být nainstalován před ISPConfig – nelze jej nainstalovat později!):

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*

Instalovat fail2ban:Toto je volitelné, ale doporučené, protože monitor ISPConfig se pokouší zobrazit protokol:

apt-get install fail2ban

Chcete-li, aby fail2ban monitoroval PureFTPd a Dovecot, vytvořte soubor /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

Poté vytvořte následující dva soubory filtru:

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 =

Poté restartujte fail2ban:

/etc/init.d/fail2ban restart

Chcete-li nainstalovat webového poštovního klienta SquirrelMail, spusťte:

apt-get install squirrelmail

Poté vytvořte následující symbolický odkaz...

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

... a nakonfigurujte SquirrelMail:

squirrelmail-configure

Musíme SquirrelMail sdělit, že používáme Dovecot-IMAP/-POP3:

Konfigurace SquirrelMail : Přečtěte si: config.php (1.4.0)
--------------------------------- ------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- D


Konfigurace SquirrelMail : Přečtěte si: config.php
---------------------------- ------------------------------
Zatímco budujeme SquirrelMail , objevili jsme některé 
předvolby které fungují lépe s některými servery, které nefungují tak
dobře s jinými. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme , že budete stále musíte vše procházet a ujistit se 
je správně. To nemění všechno. Existuje 
pouze několik nastavení , která to se změní.

Vyberte svůj IMAP server:
    bincimap    = Binc IMAP server
    
    br / kurýr      = Kurier      = Kurier      = Kurier  > Cyrus =Cyrus IMAP Server
Dovecot =Dovecot Secure IMAP Server
Exchange =Microsoft Exchange Server
HmailServer =HmailServer
Macosx =Mac OS X MailServer
Mercury32 =Merkur /32
    uw          = Server IMAP Univerzita Washingtonu
    gmail        = Přístup IMAP k účtům Google mail (Gmail) neměňte a nic nedělejte 
      
     = <    <    <   >                             -- dovecot


Konfigurace SquirrelMail : Přečtěte si: config.php
------------------------ ----------------------------------
Zatímco budujeme SquirrelMail , některé jsme objevili
předvolby, které fungují lépe s některými servery , které nefungují tak
dobře s ostatními. Pokud vyberete svůj IMAP server, tato možnost 
nastaví některá předdefinovaná nastavení pro tento server.

Upozorňujeme , že budete stále musíte vše procházet a ujistit se 
je správně. To nemění všechno. Existuje 
pouze několik nastavení , která to se změní.

Vyberte svůj IMAP server:
    bincimap    = Binc IMAP server
    
    br / kurýr      = Kurier      = Kurier      = Kurier  > Cyrus =Cyrus IMAP Server
Dovecot =Dovecot Secure IMAP Server
Exchange =Microsoft Exchange Server
HmailServer =HmailServer
Macosx =Mac OS X MailServer
Mercury32 =Merkur /32
    uw          = Server IMAP Washingtonské univerzity
    gmail        = Přístup IMAP k poštovním účtům Google (Gmail) neměňte a nic nedělejte 
    nic nedělejte 
    nic 
    nic ukončit >  >  

              imap_server_type = dovecot
         default_folder_prefix = 
                  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

Stisknutím enter pokračujte... S <-- stiskněte ENTER


Přečtěte si: config.php (1.4.0)
------------------------------------ ---------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- S


Konfigurace SquirrelMail : Přečtěte si: config.php (1.4.0)
---------------------- -----------------------------------
Hlavní nabídka --
1. Předvolby organizace
2. Nastavení serveru
3. Výchozí složky
4. Obecné možnosti
5. Témata
6. Adresáře
7. Zpráva dne (MOTD)
8. Pluginy
9. Databáze
10. Jazyky

D. Nastavte předdefinovaná nastavení pro konkrétní IMAP servery

C   Zapněte barvu 
S   Uložit data
Q   Ukončit

Příkaz >> <-- Q

Dále povolíme globální Alias ​​/webmail pro Squirrelmail:

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

Nyní otevřete /etc/apache2/conf.d/squirrelmail.conf...

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

... a přidejte následující řádky do kontejneru , který zajišťuje, že mod_php se používá pro přístup ke SquirrelMail, bez ohledu na to, jaký režim PHP zvolíte pro svůj web v 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>
[...]

Vytvořte adresář /var/lib/squirrelmail/tmp...

mkdir /var/lib/squirrelmail/tmp

... a převést jej do vlastnictví uživatele www-data:

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

Znovu načtěte Apache:

/etc/init.d/apache2 reload

To už je ono – /etc/apache2/conf.d/squirrelmail.conf definuje alias nazvaný /squirrelmail, který ukazuje na instalační adresář SquirrelMail /usr/share/squirrelmail.

Nyní můžete přistupovat ke SquirrelMail ze svých webových stránek následovně:

http://www.example.com/squirrelmail

Můžete k němu také přistupovat z ovládacího panelu ISPConfig vhost následovně (nepotřebuje žádnou konfiguraci v ISPConfig):

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

Dále nainstalujeme Unison. Unison se používá k synchronizaci adresářů /var/www a /var/vmail mezi master a slave

apt-get install unison

Nyní nainstalujeme soubor unisono konfigurace na první server.

Na serveru 1:

Vytvořte nový soubor /root/.unison/default.prf na serveru1...

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

... a přidejte následující obsah:

# 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

Chceme synchronizaci automatizovat, proto pro ni vytvoříme cron job na server1.example.tld:

crontab -e
*/5 * * * * /usr/bin/unison &> /dev/null

Instalace webového, e-mailového a databázového klastru MySQL na Debian 6.0 s ISPConfig 3 – strana 3

3 Instalace ISPConfig na první (hlavní) server

V tomto kroku nainstalujeme ISPConfig na hlavní server. Chcete-li získat adresu URL ke stažení nejnovější stabilní verze ISPConfig 3, navštivte webovou stránku ISPConfig:http://www.ispconfig.org/ispconfig-3/download/

Nyní musíme přidat dva nové kořenové uživatelské záznamy mysql do hlavní databáze, abychom umožnili root přístup z názvu hostitele a IP adresy podřízeného serveru.

Na serveru 1:

Přihlaste se do databáze MySQL jako uživatel root...

mysql -u root -p

... a proveďte tyto mysql dotazy:

CREATE USER 'root'@'192.168.0.106' IDENTIFIKOVANÉ PODLE 'myrootpassword';
UDĚLEJTE VŠECHNA OPRÁVNĚNÍ NA * . * TO 'root'@'192.168.0.106' IDENTIFIKOVANÉ PODLE 'myrootpassword' S MOŽNOSTÍ UDĚLENÍ MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 MAX_USER_CONNECTIONS

VYTVOŘIT UŽIVATELE 'root'@'server2.example.tld' IDENTIFIKOVANÉ PODLE 'myrootpassword';
UDĚLEJTE VŠECHNA PRIVILEGIA NA * . * TO 'root'@'server2.example.tld' IDENTIFIKOVANÉ PODLE 'myrootpassword' S MOŽNOSTÍ UDĚLENÍ MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_VILEUSER_CONNECTIONS /
P>FLUES;
0FLUES;<

Ve výše uvedených SQL příkazech nahraďte 192.168.0.106 IP adresou druhého serveru, server2.example.tld nahraďte názvem hostitele druhého serveru a 'myrootpassword' požadovaným heslem root.

Now you shpuld be back on the shell on server1.example.tld and download the latest ISPConfig 3 stable release:

cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

Start the install script:

php -q install.php

Select language (en,de) [en]:<-- en
Installation mode (standard,expert) [standard]:<-- standard
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.tld]:<-- server1.example.tld
MySQL server hostname [localhost]:<-- localhost
MySQL root username [root]:<-- root
MySQL root password []:<-- Enter your mysql root password here
MySQL database to create [dbispconfig]:<-- dbispconfig1 (the local ispconfig database name of the master and slave must be different, as both servers share the same data directory)
MySQL charset [utf8]:<-- utf8

Country Name (2 letter code) [AU]:<-- DE (Enter the ISO country code where you live here)
State or Province Name (full name) [Some-State]:<-- Niedersachsen (Enter the state where you live here)
Locality Name (eg, city) []:<-- Lueneburg (Enter the city here)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Installing ISPConfig
ISPConfig Port [8080]:

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:

Generating RSA private key, 4096 bit long modulus
........................++
................++
e is 65537 (0x10001)
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]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Clean up the install directories:

rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3-stable.tar.gz

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

4 Installing ISPConfig 3 On The Second Server

In this step we will install ISPConfig on the slave server (server2.example.tld). This time we use the expert mode of the ISPConfig installer to add this node to the master ispconfig server and database. To get the download URL of the latest ISPConfig 3 stable release, please visit the ISPConfig website:http://www.ispconfig.org/ispconfig-3/download/

On server 2:

Download the latest ISPConfig 3 stable release...

cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

... and start the install script:

php -q install.php

Select language (en,de) [en]:<-- en
Installation mode (standard,expert) [standard]:<-- expert
Full qualified hostname (FQDN) of the server, eg server2.domain.tld [server2.example.tld]:<-- server2.example.tld
MySQL server hostname [localhost]:<-- localhost
MySQL root username [root]:<-- root
MySQL root password []:<-- Enter your mysql root password here
MySQL database to create [dbispconfig]:<-- dbispconfig2 (the local ispconfig database name of the master and slave must be different, as both servers share the same data directory)
MySQL charset [utf8]:<-- utf8

The next two questions are about the internal ISPConfig database user and password.
It is recommended to accept the defaults which are 'ispconfig' as username and a random password.
If you use a different password, use only numbers and chars for the password.

ISPConfig mysql database username [ispconfig]:<-- ispconfig2
ISPConfig mysql database password [54c243fd3f9ca68de7b08527c81dd5ef]:<-- (press return to accept the default)

Shall this server join an existing ISPConfig multiserver setup (y,n) [n]:<-- y
MySQL master server hostname []:<-- server1.example.tld
MySQL master server root username [root]:<-- root
MySQL master server root password []:<-- Enter the root password of the master server here
MySQL master server database name [dbispconfig]:<-- dbispconfig1
Configure Mail (y,n) [y]:<-- y

Country Name (2 letter code) [AU]:<-- DE (Enter the ISO country code where you live here)
State or Province Name (full name) [Some-State]:<-- Niedersachsen (Enter the state where you live here)
Locality Name (eg, city) []:<-- Lueneburg (Enter the city here)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Configure Jailkit (y,n) [y]:<-- y
Configure FTP Server (y,n) [y]:<-- y
Configure DNS Server (y,n) [y]:<-- y
Configure Apache Server (y,n) [y]:<-- y
Configure Firewall Server (y,n) [y]:<--y
Install ISPConfig Web-Interface (y,n) [y]:<--y
Installing ISPConfig
ISPConfig Port [8080]:

Enable SSL for the ISPConfig web interface (y,n) [y]:<-- y

Generating RSA private key, 4096 bit long modulus
.................++
.............................................................................................................++
e is 65537 (0x10001)
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]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Clean up the install directories:

rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz

In a last configuration step, we want to connect the ISPConfig interface of the slave directly to the master database. This step is only required if you want to access ISPConfig on port 8080 on the master and on the slave server. Log into the master server as root user on the shell...

On server 1:

... and execute this command:

scp -p /usr/local/ispconfig/interface/lib/config.inc.php [email protected]:/usr/local/ispconfig/interface/lib/config.inc.php

This command has to be excuted after each ISPConfig update again after you updated ISPConfig on the master and on the slave with the normal ISPConfig update command (ispconfig_update.sh).

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

5 Configure Replication In ISPConfig

Log into ISPConfig on the master server with a webbrowser:

http://192.168.0.105:8080

Click on System> Server Services> server2.example.tld:

Select "server1.example.tld" in the "is mirror of" field and click on Save.

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

6 Additional Notes

When you want to activate a firewall on the master or slave server, ensure that you open port 3306 for MySQL on both servers.

  • ISPConfig Website:http://www.ispconfig.org/
  • ISPConfig Forum:https://www.howtoforge.com/forums/
  • ISPConfig Bugtracker:http://bugtracker.ispconfig.org/

Panels
  1. Instalace webového serveru ve FreeBSD 6.0 s Apache 2.2, MySQL 5.0 a PHP 5 – část 5

  2. Instalace webového serveru ve FreeBSD 6.0 s Apache 2.2, MySQL 5.0 a PHP 5 – část 4

  3. Instalace webového serveru ve FreeBSD 6.0 s Apache 2.2, MySQL 5.0 a PHP 5 – část 3

  1. Nainstalujte WordPress se vzdálenou databází na Debian

  2. Instalace webového serveru ve FreeBSD 6.0 s Apache 2.2, MySQL 5.0 a PHP 5 – část 2

  3. Práce s databázemi cPanel MySQL

  1. Jak nainstalovat e-mailový server s ISPConfig na Debian 10

  2. Instalace webového serveru ve FreeBSD 6.0 s Apache 2.2, MySQL 5.0 a PHP 5 – část 1

  3. Instalace Wordpressu na server se spuštěným ISPconfig 2.x