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
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
[...] 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.
7 Tautan
- Situs Web ISPConfig:http://www.ispconfig.org/
- Forum ISPConfig:https://www.howtoforge.com/forums/
- Pelacak Bug ISPConfig:http://bugtracker.ispconfig.org/