GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Memasang Cluster Basis Data Web, Email &MySQL Di Debian 6.0 Dengan ISPConfig 3

Menginstal Cluster Basis Data Web, Email &MySQL Pada Debian 6.0 Dengan ISPConfig 3

Tutorial ini menjelaskan penginstalan cluster web, email, database, dan server DNS yang akan digunakan untuk redundansi, ketersediaan tinggi, dan penyeimbangan beban pada Debian 6 dengan panel kontrol ISPConfig 3. Replikasi MySQL Master/Master akan digunakan untuk mereplikasi database klien MySQL antara server dan Unison akan digunakan untuk Menyinkronkan folder /var/www (situs web) dan /var/vmail (data akun email).

1 Menyiapkan Dua Sistem Basis

Dalam pengaturan ini akan ada satu server master (yang menjalankan antarmuka panel kontrol ISPConfig) dan satu server budak yang mencerminkan layanan web (apache), email (postfix dan dovecot), dan database (MySQL) dari server master.

Untuk menginstal setup cluster, kita membutuhkan dua server dengan minimal install Debian 6.0. Pengaturan dasar dijelaskan dalam tutorial berikut pada langkah 1 - 8:

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

Instal hanya langkah 1 - 8 dari tutorial server yang sempurna dan bukan langkah lainnya karena berbeda untuk penyiapan berkelompok!

Dalam contoh saya, saya menggunakan nama host dan alamat IP berikut untuk dua server:

Server Utama

Hostname:server1.example.tld
IP-address:192.168.0.105

Server budak

Hostname:server2.example.tld
IP-address:192.168.0.106

Di mana pun nama host atau alamat IP ini muncul pada langkah penginstalan berikutnya, Anda harus mengubahnya agar sesuai dengan IP dan nama host server Anda.

2 Memasang Dua Server

Langkah-langkah berikut harus dijalankan pada master dan pada server budak. Jika langkah tertentu hanya untuk master atau slave, maka saya telah menambahkan catatan di deskripsi dengan warna merah.

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

Setel nama host server:

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

Gunakan server1.example.tld di server pertama dan server2.example.tld di server kedua.

Edit file sources.list...

vi /etc/apt/sources.list 

... dan memastikan bahwa /etc/apt/sources.list Anda berisi repositori squeeze-updates (ini memastikan Anda selalu mendapatkan pembaruan terbaru untuk pemindai virus ClamAV - proyek ini sering menerbitkan rilis, dan terkadang versi lama berhenti berfungsi ).

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

Jalankan

apt-get update
apt-get upgrade

untuk menginstal pembaruan terbaru (jika ada).

Sebaiknya sinkronkan jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui Internet. Cukup jalankan

apt-get -y install ntp ntpdate

dan waktu sistem Anda akan selalu sinkron.

Di server 1:

Sekarang kita membuat pasangan kunci privat/publik di server1.example.tld:

ssh-keygen -t dsa

[email protected]:~# ssh-keygen -t dsa
Membuat pasangan kunci dsa publik/pribadi.
Masukkan file untuk menyimpan kunci (/root/.ssh/id_dsa):<- - ENTER
Buat direktori '/root/.ssh'.
Masukkan frasa sandi (kosongkan tanpa frasa sandi):<-- ENTER
Masukkan kembali frasa sandi yang sama:<-- ENTER
Identifikasi Anda telah disimpan di /root/.ssh/id_dsa.
Kunci publik Anda telah disimpan di /root/.ssh/id_dsa.pub.
Sidik jari kuncinya adalah:
1b:95:bc:4a:f4:9f:d8:ea:24:31:0f:c9:72:d5:a7:80 [email protected]
Gambar randomart kuncinya adalah:
+- -[ DSA 1024]----+
| |
| o o |
| E * . . |
| o =o o |
| . Jadi . |
| + O + . |
| + + + |
| o . |
| .o |
+-----------------+
[email protected]:~#

Penting agar Anda tidak memasukkan frasa sandi jika tidak, pencerminan tidak akan berfungsi tanpa interaksi manusia, jadi cukup tekan ENTER!

Selanjutnya, kita salin kunci publik kita ke 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]
Keaslian host '192.168.0.101 (192.168.0.101)' tidak dapat ditetapkan.
Sidik jari kunci RSA adalah 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.
Apakah Anda yakin Anda ingin melanjutkan koneksi (ya/tidak)? <-- ya (Anda akan melihat ini hanya jika ini adalah pertama kalinya Anda terhubung ke server2)
Peringatan:Menambahkan '192.168.0.101' (RSA) secara permanen ke daftar host yang dikenal.
contoh@ kata sandi unixlinux.online:<-- kata sandi root server2
Sekarang coba masuk ke mesin, dengan "ssh '[email protected]'", dan check in:

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

Sekarang periksa server2 apakah kunci publik server1 telah ditransfer dengan benar:

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]

Instal postfix, dovecot, dan mysql dengan satu perintah:

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

Masukkan kata sandi baru untuk pengguna root MySQL saat diminta oleh penginstal. Anda harus memilih kata sandi yang sama untuk kedua server. Kemudian jawablah pertanyaan berikutnya seperti yang dijelaskan di bawah ini:

Jenis konfigurasi umum? <-- Situs Internet
Nama email? <-- server1.mydomain.tld
Diperlukan sertifikat SSL <-- Oke

Gunakan server1.example.tld di server pertama dan server2.example.tld di server kedua.

Kami ingin MySQL mendengarkan di semua antarmuka, bukan hanya localhost, oleh karena itu kami mengedit /etc/mysql/my.cnf dan mengomentari baris 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  

[...]

Kemudian restart MySQL:

/etc/init.d/mysql restart

Sekarang kita siapkan server MySQL untuk replikasi master/master mysql.

Di server 1:

Masuk ke MySQL pada shell dengan...

 mysql -u root -p

... dan masukkan kata sandi root MySQL yang telah Anda pilih saat menginstal mysql. Kemudian jalankan perintah ini pada shell MySQL:

GRANT REPLICATION SLAVE ON *.* KEPADA 'slaveuser'@'%' DIIDENTIFIKASI DENGAN 'slave_user_password';
HAK ISTIMEWA FLUSH;
keluar;

Ganti 'slave_user_password' dengan kata sandi aman yang ingin Anda gunakan agar budak terhubung ke server master. Ganti placeholder ini di langkah berikutnya dengan kata sandi yang telah Anda pilih di mana pun placeholder itu muncul.

Sekarang mari kita konfigurasikan 2 node MySQL kita:

Di server 1:

vi /etc/mysql/my.cnf

Telusuri bagian yang dimulai dengan [mysqld], dan masukkan opsi berikut ke dalamnya (komentari semua konflik yang ada pilihan):

[...]
[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  
[...]

Kemudian hentikan MySQL:

/etc/init.d/mysql stop

Sekarang lakukan hal yang hampir sama di server2...

Di server 2:

vi /etc/mysql/my.cnf

Telusuri bagian yang dimulai dengan [mysqld], dan masukkan opsi berikut ke dalamnya (komentari semua konflik yang ada pilihan):

[...]
[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  
[...]

Kemudian hentikan MySQL:

/etc/init.d/mysql stop

Sekarang kita harus menyinkronkan dua server mysql. Kami melakukan ini dengan menyalin direktori data mysql dari master ke slave dan juga file konfigurasi debian yang berisi pengguna debian-sys-maint. Ini dapat dilakukan saat kami menghentikan mysql sebelumnya di kedua server.

Di server 1:

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

Sekarang kita mulai lagi MySQL di server master:

/etc/init.d/mysql start

Masuk ke shell MySQL sebagai pengguna root...

mysql -u root -p

... dan jalankan perintah ini di shell MySQL...

 SHOW MASTER STATUS; 

... untuk mendapatkan status master MySQL:

mysql> TAMPILKAN STATUS MASTER;
+------------------+----------+--------- -----+------------------+
| Berkas | Posisi | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+------------- -+------------------+
| mysql-bin.000002 | 106 | | |
+--------+----------+-------------- +------------------+
1 baris dalam set (0,00 detik)

Informasi yang kita perlukan untuk langkah selanjutnya adalah file binlog mysql-bin.000002 dan posisi binlog 106. Kita membutuhkan detail yang sama untuk server2 nanti di bawah.

Sekarang jalankan perintah ini di shell MySQL pada master untuk menghubungkannya ke slave:

STOP SLAVE;
UBAH MASTER KE MASTER_HOST='192.168.0.106', MASTER_USER='slaveuser', MASTER_PASSWORD='slave_user_password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;
MULAI BUDAK;

Kemudian periksa status budak:

SHOW SLAVE STATUS \G

Penting bahwa Slave_IO_Running dan Slave_SQL_Running memiliki nilai Ya di output.

Di server 2:

Masuk ke shell MySQL sebagai pengguna root...

mysql -u root -p

... dan jalankan perintah ini di shell MySQL:

STOP SLAVE;
UBAH MASTER KE MASTER_HOST='192.168.0.105', MASTER_USER='slaveuser', MASTER_PASSWORD='slave_user_password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;
MULAI BUDAK;

Kemudian periksa status budak:

SHOW SLAVE STATUS \G

Penting agar Slave_IO_Running dan Slave_SQL_Running memiliki nilai Ya di output

Konfigurasi replikasi master/master mysql telah selesai sekarang dan kami melanjutkan untuk menginstal paket perangkat lunak lainnya.

Menginstal Cluster Basis Data Web, Email &MySQL Pada Debian 6.0 Dengan ISPConfig 3 - Halaman 2

Langkah selanjutnya harus dijalankan di server 1 dan server 2.

Untuk menginstal amavisd-new, SpamAssassin, dan ClamAV, kami menjalankan:

 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

Penyiapan ISPConfig 3 menggunakan amavisd yang memuat pustaka filter SpamAssassin secara internal, jadi kami dapat menghentikan SpamAssassin untuk mengosongkan sebagian RAM:

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

Kemudian instal Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, dan mcrypt dapat diinstal sebagai berikut:

 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

Anda akan melihat pertanyaan berikut:

Server web untuk mengkonfigurasi ulang secara otomatis:<-- apache2
Konfigurasi database untuk phpmyadmin dengan dbconfig-common? <-- Tidak

Kemudian jalankan perintah berikut untuk mengaktifkan modul Apache suexec, rewrite, ssl, actions, dan include:

a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest

PureFTPd dan kuota dapat diinstal dengan perintah berikut:

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

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

vi /etc/default/pure-ftpd-common

... dan pastikan mode start diatur ke standalone dan set VIRTUALCHROOT=true:

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

Edit file /etc/inetd.conf untuk mencegah inetd mencoba memulai ftp:

vi /etc/inetd.conf

Jika ada baris yang diawali dengan ftp stream tcp, beri komentar (jika tidak ada file seperti itu, tidak apa-apa, dan Anda tidak perlu mengubah /etc/inetd.conf):

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

Jika Anda harus mengubah /etc/inetd.conf, mulai ulang inetd sekarang:

/etc/init.d/openbsd-inetd restart

Sekarang kita mengkonfigurasi PureFTPd untuk mengizinkan sesi FTP dan TLS. FTP adalah protokol yang sangat tidak aman karena semua kata sandi dan semua data ditransfer dalam teks yang jelas. Dengan menggunakan TLS, seluruh komunikasi dapat dienkripsi, sehingga membuat FTP jauh lebih aman.

Jika Anda ingin mengizinkan sesi FTP dan TLS, jalankan:

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

Untuk menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di /etc/ssl/private/, oleh karena itu saya membuat direktori itu terlebih dahulu:

mkdir -p /etc/ssl/private/

Setelah itu, kita dapat membuat sertifikat SSL sebagai berikut:

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

Nama Negara (kode 2 huruf) [AU]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Masukkan Negara Bagian Anda atau Nama Provinsi.
Nama Lokalitas (mis., kota) []:<-- Masukkan Kota Anda.
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan Nama Organisasi Anda (mis., nama perusahaan Anda).
Nama Unit Organisasi (mis., seksi) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis. nama ANDA) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (misalnya "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.

Ubah izin sertifikat SSL:

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

Kemudian restart PureFTPd:

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

Sunting /etc/fstab. Milik saya terlihat seperti ini (saya menambahkan ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 ke partisi dengan titik mount /):

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

Untuk mengaktifkan kuota, jalankan perintah berikut:

 mount -o remount /

quotacheck -avugm
quotaon -avug

Instal Server DNS BIND:

apt-get -y install bind9 dnsutils

Instal vlogger, webalizer, dan awstats:

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

Buka /etc/cron.d/awstats setelahnya...

vi /etc/cron.d/awstats

... dan beri komentar pada kedua tugas cron di file itu:

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

Instal Jailkit:Jailkit diperlukan hanya jika Anda ingin chroot pengguna SSH. Itu dapat diinstal sebagai berikut (penting:Jailkit harus diinstal sebelum ISPConfig - tidak dapat diinstal setelahnya!):

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*

Instal fail2ban:Ini opsional tetapi disarankan, karena monitor ISPConfig mencoba menampilkan log:

apt-get install fail2ban

Untuk membuat monitor fail2ban PureFTPd dan Dovecot, buat 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

Kemudian buat dua file filter berikut:

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 =

Mulai ulang fail2ban setelahnya:

/etc/init.d/fail2ban restart

Untuk menginstal klien webmail SquirrelMail, jalankan:

apt-get install squirrelmail

Kemudian buat symlink berikut...

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

... dan konfigurasikan SquirrelMail:

squirrelmail-configure

Kita harus memberi tahu SquirrelMail bahwa kita menggunakan Dovecot-IMAP/-POP3:

Konfigurasi SquirrelMail : Baca: config.php (1.4.0)
--------------------------------- ------------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Tema
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Bahasa

D. Setel setelan yang telah ditentukan sebelumnya untuk server IMAP tertentu

C   Aktifkan warna
S   Simpan data
Q   Keluar

Perintah >> <-- D


Konfigurasi SquirrelMail : Baca: config.php
--------------------------- ------------------------------
Sementara kami telah membangun SquirrelMail, kami telah menemukan beberapa
preferensi yang berfungsi lebih baik dengan beberapa server yang tidak berfungsi dengan baik
dengan server lain. Jika Anda memilih server IMAP Anda, opsi ini akan
menyetel beberapa setelan yang telah ditentukan sebelumnya untuk server tersebut.

Harap diperhatikan bahwa Anda masih harus melakukan dan memastikan
semuanya benar. Ini tidak mengubah semuanya. 
Hanya ada beberapa setelan yang akan diubah.

Harap pilih server IMAP Anda:
    bincimap    = Server IMAP Binc
    kurir     = Server Kurir /IMAP
>    cyrus       = Server IMAP Cyrus
    dovecot     = Server IMAP Dovecot Secure
    pertukaran    = Server IMAP Microsoft Exchange
    hmailserver=  < Server Mailmer /32
    uw         = Server IMAP Universitas Washington
    gmail      = Akses IMAP ke akun Google mail (Gmail) 

   berhenti =     > -- dovecot


Konfigurasi SquirrelMail : Baca: config.php
----------------------- ----------------------------------
Saat kami telah membangun SquirrelMail, kami telah menemukan beberapa
preferensi yang berfungsi lebih baik dengan beberapa server yang tidak berfungsi dengan baik
dengan yang lain. Jika Anda memilih server IMAP Anda, opsi ini akan
menyetel beberapa setelan yang telah ditentukan sebelumnya untuk server tersebut.

Harap diperhatikan bahwa Anda masih harus melakukan dan memastikan
semuanya benar. Ini tidak mengubah semuanya. 
Hanya ada beberapa setelan yang akan diubah.

Harap pilih server IMAP Anda:
    bincimap    = Server IMAP Binc
    kurir     = Server Kurir /IMAP
>    cyrus       = Server IMAP Cyrus
    dovecot     = Server IMAP Dovecot Secure
    pertukaran    = Server IMAP Microsoft Exchange
    hmailserver=  < Server Mailmer /32
    uw         = Server IMAP Universitas Washington 
    gmail      = Akses IMAP ke akun Google mail (Gmail) 

   berhenti >   jangan >

imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
sent_folder =terkirim
draft_folder =draft
show_prefix_option =false           default_sub_of_inbox = false
show_contain_subfolders_option =false
           optional_delimiter = detect
               delete_folder = false

Tekan enter untuk melanjutkan... <-- tekan ENTER


Squirrel Baca: config.php (1.4.0)
------------------------------------ ---------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Tema
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Bahasa

D. Setel setelan yang telah ditentukan sebelumnya untuk server IMAP tertentu

C   Aktifkan warna
S   Simpan data
Q   Keluar

Perintah >> <-- S


Konfigurasi SquirrelMail : Baca: config.php (1.4.0)
---------------------- -----------------------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Tema
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Bahasa

D. Setel setelan yang telah ditentukan sebelumnya untuk server IMAP tertentu

C   Aktifkan warna
S   Simpan data
Q   Keluar

Perintah >> <-- Q

Selanjutnya kita mengaktifkan Alias ​​​​global /webmail untuk Squirrelmail:

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

Sekarang buka /etc/apache2/conf.d/squirrelmail.conf...

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

... dan tambahkan baris berikut ke wadah yang memastikan bahwa mod_php digunakan untuk mengakses SquirrelMail, apa pun mode PHP yang Anda pilih untuk situs web Anda di 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>
[...]

Buat direktori /var/lib/squirrelmail/tmp...

mkdir /var/lib/squirrelmail/tmp

... dan menjadikannya milik pengguna www-data:

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

Muat ulang Apache lagi:

/etc/init.d/apache2 reload

Itu saja - /etc/Apache2/conf.d/squirrelmail.conf mendefinisikan alias yang disebut /squirrelmail yang menunjuk ke direktori instalasi SquirrelMail /usr/share/squirrelmail.

Anda sekarang dapat mengakses SquirrelMail dari situs web Anda sebagai berikut:

http://www.example.com/squirrelmail

Anda juga dapat mengaksesnya dari vhost panel kontrol ISPConfig sebagai berikut (ini tidak memerlukan konfigurasi apa pun di ISPConfig):

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

Selanjutnya kita instal Unison. Unison digunakan untuk menyinkronkan direktori /var/www dan /var/vmail antara master dan slave

apt-get install unison

Sekarang kita menginstal file konfigurasi serentak di server pertama.

Di server 1:

Buat file baru /root/.unison/default.prf di server1...

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

... dan tambahkan konten berikut:

# 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

Kami ingin mengotomatiskan sinkronisasi, itulah sebabnya kami membuat tugas cron untuknya di server1.example.tld:

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

Menginstal Cluster Basis Data Web, Email &MySQL Pada Debian 6.0 Dengan ISPConfig 3 - Halaman 3

3 Menginstal ISPConfig Di Server (Master) Pertama

Pada langkah ini kita akan menginstal ISPConfig di server master. Untuk mendapatkan URL unduhan rilis stabil ISPConfig 3 terbaru, silakan kunjungi situs web ISPConfig:http://www.ispconfig.org/ispconfig-3/download/

Sekarang kita harus menambahkan dua catatan pengguna root mysql baru di database master untuk memungkinkan akses root dari nama host server budak dan alamat IP.

Di server1:

Masuk ke database MySQL sebagai pengguna root...

mysql -u root -p

... dan jalankan kueri mysql ini:

BUAT PENGGUNA 'root'@'192.168.0.106' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'192.168.0.106' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

BUAT PENGGUNA 'root'@'server2.example.tld' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'server2.example.tld' DIIDENTIFIKASI OLEH 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
FLUSH;
FLUSH;

Pada perintah SQL di atas, ganti 192.168.0.106 dengan alamat IP server kedua, ganti server2.example.tld dengan nama host server kedua dan 'myrootpassword' dengan kata sandi root yang diinginkan.

Sekarang Anda harus kembali ke shell di server1.example.tld dan unduh rilis stabil ISPConfig 3 terbaru:

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

Mulai skrip instalasi:

php -q install.php

Pilih bahasa (en,de) [en]:<-- en
Mode penginstalan (standar,pakar) [standar]:<-- standar
Nama host yang memenuhi syarat penuh (FQDN) dari server, misalnya server1 .domain.tld [server1.example.tld]:<-- server1.example.tld
Nama host server MySQL [localhost]:<-- localhost
Nama pengguna root MySQL [root]:<-- root
Kata sandi root MySQL []:<-- Masukkan kata sandi root mysql Anda di sini
Database MySQL untuk membuat [dbispconfig]:<-- dbispconfig1 (nama database ispconfig lokal master dan slave harus berbeda, karena kedua server berbagi direktori data yang sama)
MySQL charset [utf8]:<-- utf8

Nama Negara (kode 2 huruf) [AU]:<-- DE (Masukkan kode negara ISO tempat Anda tinggal di sini)
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Niedersachsen (Masukkan negara tempat Anda tinggal di sini)
Nama Lokalitas (misalnya, kota) []:<-- Lueneburg (Masukkan kota di sini)
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:
Nama Unit Organisasi (misalnya, bagian) []:
Nama Umum (misalnya, nama ANDA) []:
Alamat Email []:

Memasang ISPConfig
Port ISPConfig [8080]:

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

Membuat kunci privat RSA, modulus panjang 4096 bit
........................++
....... .........++
e adalah 65537 (0x10001)
Anda akan diminta untuk memasukkan informasi yang akan dimasukkan
ke dalam permintaan sertifikat Anda.
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN.
Ada beberapa bidang tetapi Anda dapat mengosongkannya
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', kolom akan dikosongkan.
-----
Nama Negara (kode 2 huruf) [AU]:
Nama Negara Bagian atau Provinsi (lengkap nama) [Beberapa Negara Bagian]:
Nama Lokalitas (misalnya, kota) []:
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:
Nama Unit Organisasi (misalnya, bagian) []:
Nama Umum (misalnya, nama ANDA) []:
Alamat Email []:

Harap masukkan atribut 'ekstra' berikut
untuk dikirim bersama permintaan sertifikat Anda
Sandi tantangan []:
Nama perusahaan opsional []:

Bersihkan direktori instal:

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

Menginstal Cluster Basis Data Web, Email &MySQL Pada Debian 6.0 Dengan ISPConfig 3 - Halaman 4

4 Menginstal ISPConfig 3 Di Server Kedua

Pada langkah ini kita akan menginstal ISPConfig pada server slave (server2.example.tld). Kali ini kami menggunakan mode ahli dari penginstal ISPConfig untuk menambahkan node ini ke server dan database master ispconfig. Untuk mendapatkan URL unduhan rilis stabil ISPConfig 3 terbaru, silakan kunjungi situs web ISPConfig:http://www.ispconfig.org/ispconfig-3/download/

Di server 2:

Unduh rilis stabil ISPConfig 3 terbaru...

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

... dan mulai skrip instalasi:

php -q install.php

Pilih bahasa (en,de) [en]:<-- en
Mode penginstalan (standar,pakar) [standar]:<-- pakar
Nama host yang memenuhi syarat penuh (FQDN) dari server, misalnya server2 .domain.tld [server2.example.tld]:<-- server2.example.tld
Nama host server MySQL [localhost]:<-- localhost
Nama pengguna root MySQL [root]:<-- root
Kata sandi root MySQL []:<-- Masukkan kata sandi root mysql Anda di sini
Database MySQL untuk membuat [dbispconfig]:<-- dbispconfig2 (nama database ispconfig lokal master dan slave harus berbeda, karena kedua server berbagi direktori data yang sama)
MySQL charset [utf8]:<-- utf8

Dua pertanyaan berikutnya adalah tentang pengguna dan sandi database ISPConfig internal.
Itu disarankan untuk menerima default yaitu 'ispconfig' sebagai nama pengguna dan sandi acak.
Jika Anda menggunakan sandi yang berbeda, gunakan hanya angka dan karakter untuk sandi.

ISPConfig nama pengguna database mysql [ispconfig]:<-- ispconfig2
ISPConfig kata sandi database mysql [54c243fd3f9ca68de7b08527c81dd5ef]:<-- (tekan kembali untuk menerima default)

Apakah server ini akan bergabung dengan ISPConfig yang ada pengaturan multiserver (y,n) [n]:<-- y
Nama host server master MySQL []:<-- server1.example.tld
Nama pengguna root server master MySQL [root]:<-- root
Kata sandi root server master MySQL []:<-- Masukkan kata sandi root server master di sini
Nama database server master MySQL [dbispconfig]:<-- dbispconfig1
Konfigurasi Email (y ,n) [y]:<-- y

Nama Negara (kode 2 huruf) [AU]:<-- DE (Masukkan kode negara ISO tempat Anda tinggal di sini)
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Niedersachsen (Masukkan negara tempat Anda tinggal di sini)
Nama Lokalitas (misalnya, kota) []:<-- Lueneburg (Masukkan kota di sini)
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:
Nama Unit Organisasi (misalnya, bagian) []:
Nama Umum (misalnya, nama ANDA) []:
Alamat Email []:

Konfigurasi Jailkit (y,n) [y]:<-- y
Konfigurasi Server FTP (y,n) [y]:<-- y
Konfigurasi Server DNS (y,n) [y] :<-- y
Konfigurasi Server Apache (y,n) [y]:<-- y
Konfigurasi Server Firewall (y,n) [y]:<--y
Instal Antarmuka Web ISPConfig (y,n) [y]:<--y
Memasang ISPConfig
Port ISPConfig [8080]:

Aktifkan SSL untuk antarmuka web ISPConfig (y,n) [y]:<-- y

Membuat kunci privat RSA, modulus panjang 4096 bit
.................++
.............. ........................................................ .................................................++
e adalah 65537 (0x10001)
Anda akan diminta untuk memasukkan informasi yang akan dimasukkan
ke dalam permintaan sertifikat Anda.
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN.
Ada beberapa bidang tetapi Anda dapat mengosongkannya
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', bidang tersebut akan dibiarkan kosong.
-----
Nama Negara (kode 2 huruf) [AU]:
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara Bagian]:
Nama Daerah (misalnya, kota) []:
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:
Nama Unit Organisasi (misalnya, bagian) []:
Nama Umum (misalnya, nama ANDA) []:
Alamat Email []:

Harap masukkan atribut 'ekstra' berikut
untuk dikirim bersama permintaan sertifikat Anda
Sandi tantangan []:
Nama perusahaan opsional []:

Bersihkan direktori instal:

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

Pada langkah konfigurasi terakhir, kita ingin menghubungkan antarmuka ISPConfig dari slave secara langsung ke database master. Langkah ini hanya diperlukan jika Anda ingin mengakses ISPConfig pada port 8080 pada master dan pada server slave. Masuk ke server master sebagai pengguna root di shell...

Di server 1:

... dan jalankan perintah ini:

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

Perintah ini harus dijalankan setelah setiap pembaruan ISPConfig lagi setelah Anda memperbarui ISPConfig pada master dan slave dengan perintah pembaruan ISPConfig normal (ispconfig_update.sh).

Menginstal Cluster Basis Data Web, Email &MySQL Pada Debian 6.0 Dengan ISPConfig 3 - Halaman 5

5 Konfigurasi Replikasi Di ISPConfig

Masuk ke ISPConfig di server master dengan browser web:

http://192.168.0.105:8080

Klik Sistem> Layanan Server> server2.example.tld:

Pilih "server1.example.tld" di bidang "adalah cermin" dan klik Simpan.

Kemudian buka System> Server Config dan aktifkan checkbox "Connect Linux userid to webid" pada tab "Web":

6 Catatan Tambahan

Saat Anda ingin mengaktifkan firewall di server master atau slave, pastikan Anda membuka port 3306 untuk MySQL di kedua server.

  • Situs Web ISPConfig:http://www.ispconfig.org/
  • Forum ISPConfig:https://www.howtoforge.com/forums/
  • Pelacak Bug ISPConfig:http://bugtracker.ispconfig.org/

Panels
  1. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 5

  2. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 4

  3. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 3

  1. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 2

  2. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 1

  3. Menginstal Wordpress Di Server yang Menjalankan ISPconfig 2.x

  1. Cara Menginstal Server Email dengan ISPConfig di Debian 10

  2. Instal WordPress dengan database jarak jauh di Debian

  3. Bekerja dengan Database MySQL cPanel