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

Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND, Dovecot &Nginx [ISPConfig 3]

Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND, Dovecot &Nginx [ISPConfig 3 ]

Diedit dan disusun oleh Daniel Harbottle

Tutorial ini menunjukkan cara menyiapkan server Debian Squeeze (Debian 6.0) untuk instalasi ISPConfig 3, dan cara menginstal ISPConfig 3. ISPConfig 3 adalah panel kontrol webhosting yang memungkinkan Anda mengkonfigurasi layanan berikut melalui browser web:nginx atau Server web Apache, server email Postfix, MySQL, server nama BIND, PureFTPd, SpamAssassin, ClamAV, dan banyak lagi.

Tutorial ini didasarkan pada tutorial luar biasa "Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND &Dovecot [ISPConfig 3]" dan "Server Sempurna - Ubuntu 11.10 Dengan Nginx [ISPConfig 3]" dengan beberapa penyesuaian. Idenya adalah untuk menggunakan server web nginx yang cepat dan hemat memori dan Dovecot yang juga dikatakan lebih hemat memori. Saya tidak memberikan jaminan bahwa itu akan berhasil untuk Anda meskipun telah diuji pada VM lokal dan VPS. Anda harus menggunakan repositori Dotdeb untuk nginx.

Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.

Pada sekitar 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien), menjelaskan cara menginstal dan memperbarui ISPConfig 3, menyertakan referensi untuk semua formulir dan bidang formulir di ISPConfig bersama dengan contoh input yang valid, dan memberikan tutorial untuk tugas paling umum di ISPConfig 3. Ini juga menjelaskan cara membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah di bagian akhir.

Aplikasi Monitor ISPConfig Untuk Android

Dengan Aplikasi Monitor ISPConfig, Anda dapat memeriksa status server Anda dan mengetahui apakah semua layanan berjalan seperti yang diharapkan. Anda dapat memeriksa port TCP dan UDP dan melakukan ping ke server Anda. Selain itu, Anda dapat menggunakan aplikasi ini untuk meminta detail dari server yang telah menginstal ISPConfig (harap diperhatikan bahwa versi ISPConfig 3 yang diinstal minimum dengan dukungan untuk Aplikasi ISPConfig Monitor adalah 3.0.3.3! ); detail ini mencakup semua yang Anda ketahui dari modul Monitor di ISPConfig Control Panel (misalnya layanan, log email dan sistem, antrian email, info CPU dan memori, penggunaan disk, kuota, detail OS, log RKHunter, dll.), dan tentu saja , karena ISPConfig berkemampuan multiserver, Anda dapat memeriksa semua server yang dikontrol dari server master ISPConfig Anda.

Untuk mengunduh dan petunjuk penggunaan, silakan kunjungi http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Persyaratan

Anda memerlukan bare metal atau mesin virtual atau VPS dengan setidaknya 8GB ruang disk 1GB RAM dan koneksi internet yang cukup cepat untuk menarik semua paket dari repositori Debian.

Pada saat penulisan versi terbaru dari Debian adalah 6.0.4. Anda dapat mengunduh dan membakar ISO atau memasangnya dengan GUI atau utilitas baris perintah manajemen mesin virtual pilihan Anda.

Gambar AMD64 ISO CD1 dapat ditemukan di:http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso

Sebagian besar komputer saat ini mampu 64-bit tetapi Anda selalu dapat menggunakan gambar i386 yang ditemukan di sini:http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4- i386-CD-1.iso

Anda juga dapat menggunakan CD netinstall yang seharusnya tidak membuat perbedaan besar kecuali semua paket yang Anda instal diunduh dari internet selama penyiapan.

2 Catatan Awal

Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100 dan gateway 192.168.0.1. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

3 Sistem Dasar

Masukkan CD instalasi jaringan Debian Squeeze Anda ke dalam sistem Anda dan boot darinya. Pilih Instal (ini akan memulai penginstal teks - jika Anda lebih suka penginstal grafis, pilih Instal grafis):

Pilih bahasa Anda:

Kemudian pilih lokasi Anda:

Jika Anda telah memilih kombinasi bahasa dan lokasi yang tidak biasa (seperti bahasa Inggris sebagai bahasa dan Jerman sebagai lokasi, seperti dalam kasus saya), penginstal mungkin memberi tahu Anda bahwa tidak ada lokal yang ditentukan untuk kombinasi ini; dalam hal ini Anda harus memilih lokal secara manual. Saya memilih en_US.UTF-8 di sini:

Pilih tata letak keyboard:

Penginstal memeriksa CD instalasi, perangkat keras Anda, dan mengkonfigurasi jaringan dengan DHCP jika ada server DHCP di jaringan:

Masukkan nama host yang ingin Anda atur. Ini harus merupakan kombinasi dari nama host dan nama domain arbitrer, mis. server saya.domainsaya.com. Ini juga disinggung nanti dalam tutorial. Dalam contoh ini, sistemnya disebut server1.example.com, jadi masukkan server1.example.com:

Masukkan nama domain Anda. Dalam contoh ini, ini adalah example.com:

Setelah itu, berikan kata sandi kepada pengguna root:

Konfirmasi kata sandi itu untuk menghindari kesalahan ketik:

Buat akun pengguna biasa, misalnya pengguna Administrator dengan nama pengguna administrator (jangan gunakan nama pengguna admin karena ini adalah nama yang dicadangkan di Debian Squeeze):

Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND, Dovecot &Nginx [ISPConfig 3] - Halaman 2

Sekarang Anda harus mempartisi hard disk Anda. Demi kesederhanaan saya akan membuat satu partisi besar (dengan titik mount /) dan sedikit partisi swap jadi saya pilih Dipandu - gunakan seluruh disk (tentu saja, partisi sepenuhnya terserah Anda - jika Anda suka, Anda dapat membuat lebih dari hanya satu partisi besar, dan Anda juga dapat menggunakan LVM):

Pilih disk yang ingin Anda partisi:

Kemudian pilih skema partisi. Seperti yang disebutkan sebelumnya, saya memilih Semua file dalam satu partisi (disarankan untuk pengguna baru) demi kesederhanaan - terserah keinginan Anda apa yang Anda pilih di sini:

Setelah selesai, pilih Selesai mempartisi dan tulis perubahan ke disk:

Pilih Ya saat Anda diminta Tulis perubahan ke disk?:

Setelah itu partisi baru Anda dibuat dan diformat:

Sekarang sistem dasar sudah terpasang:

Selanjutnya Anda harus mengkonfigurasi apt. Karena Anda mungkin tidak ingin menggunakan Debian Squeeze CD1 (atau netinstall) sepanjang waktu yang hanya berisi kumpulan paket terbatas, Anda harus menggunakan mirror jaringan. Pilih negara tempat mirror jaringan yang ingin Anda gunakan berada (biasanya ini adalah negara tempat sistem Debian Squeeze atau VPS Anda berada):

Kemudian pilih cermin yang ingin Anda gunakan (mis. ftp.de.debian.org):

Kecuali Anda menggunakan proxy HTTP, biarkan bidang berikut kosong dan tekan Lanjutkan:

Apt sekarang memperbarui database paketnya:

Anda dapat melewati survei penggunaan paket dengan memilih Tidak:

Kami membutuhkan web server, DNS server, mail server, dan database MySQL, namun jangan memilih salah satu dari mereka sekarang karena lebih baik untuk mengontrol sebanyak mungkin apa yang diinstal dan tidak diinstal pada sistem. Paket-paket yang diperlukan akan diinstal secara manual nanti. Oleh karena itu kita tinggal memilih Standard system utility dan SSH server agar koneksi SSH dapat dilakukan ke sistem dengan terminal atau SSH client seperti Putty setelah instalasi selesai dan tekan Continue:

Paket yang dipilih dari setiap kategori pada langkah sebelumnya diunduh dan diinstal pada sistem:

Saat Anda diminta Instal boot loader GRUB ke master boot record?, pilih Ya:

Instalasi sistem dasar sekarang selesai. Hapus CD1 Debian Squeeze (atau netinstall) dari drive CD dan tekan Continue untuk me-reboot sistem:

Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND, Dovecot &Nginx [ISPConfig 3] - Halaman 3

4 Instal Server SSH

Jika Anda tidak menginstal server SSH selama instalasi sistem dasar, Anda dapat melakukannya sekarang:

apt-get install ssh openssh-server

Catatan:Perintah dalam tutorial ini mengasumsikan bahwa Anda login sebagai root. Anda mungkin juga ingin menghapus baris CD-ROM di /etc/apt/sources.list:

vi /etc/apt/sources.list

dan tekan d dua kali berturut-turut dengan cepat untuk menghapus satu baris sampai semua entri CD-ROM terhapus. Jika Anda menghapus satu baris terlalu banyak masukkan :q! untuk berhenti tanpa menyimpan dan mencoba lagi.

Anda seharusnya dapat menggunakan terminal atau klien SSH seperti Putty dan terhubung dari workstation Anda ke server Debian Squeeze Anda dan ikuti langkah selanjutnya dari tutorial ini.

Jika Anda menggunakan vi sebagai editor teks dalam terminal, Anda harus menginstal paket berikut. Program vi default pada Debian dan Ubuntu memiliki beberapa bug serius yang terkadang membuat pengeditan menjadi tidak mungkin, jadi untuk memperbaikinya kami menginstal vim-nox:

apt-get install vim-nox

(Anda dapat melewati langkah itu dan menginstal editor teks lain seperti joe atau nano jika Anda lebih suka vi.)

6 Konfigurasi Jaringan

Karena penginstal Debian Squeeze telah mengonfigurasi sistem kami untuk mendapatkan pengaturan jaringannya melalui DHCP, Anda harus mengubah konfigurasi itu sekarang karena server harus memiliki alamat IP statis. Edit /etc/network/interfaces dengan editor teks dan sesuaikan dengan kebutuhan Anda (dalam contoh ini, konfigurasikan alamat IP 192.168.0.100). Harap dicatat bahwa allow-hotplug eth0 harus diganti dengan auto eth0 jika tidak, memulai ulang antarmuka jaringan tidak akan berfungsi, dan akan memerlukan reboot sistem. Untuk mengedit dengan vi masukkan:

vi /etc/network/interfaces
# File ini menjelaskan antarmuka jaringan yang tersedia di sistem Anda# dan cara mengaktifkannya. Untuk informasi lebih lanjut, lihat antarmuka (5).# Antarmuka jaringan loopbackauto loiface lo inet loopback# Antarmuka jaringan utama#allow-hotplug eth0#iface eth0 inet dhcpauto eth0iface eth0 inet alamat statis 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 siaran 192.168.0.255 gerbang 192.168.0.1
/etc/init.d/networking restart

Kemudian edit /etc/hosts. Seharusnya terlihat seperti ini:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1# Baris berikut diinginkan untuk host yang mendukung IPv6::1 ip6 -localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters

Sekarang jalankan:

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

atau

vi /etc/hostname
/etc/init.d/hostname.sh start

dan edit nama host seperti itu.

Setelah itu, jalankan

nama host
nama host -f

Setelah kedua perintah server1.example.com harus muncul! Jika Anda telah menyetel nama host dan nama domain selama proses penginstalan, kemungkinan itu sudah benar meskipun alamat IP dan nama domain yang memenuhi syarat (FQDN) harus dimasukkan ke dalam file /etc/hosts. Dalam instalasi lokal Anda dapat menggunakan .local sebagai domain tingkat atas (TLD) tetapi dalam skenario ini Anda memerlukan server DNS yang dikonfigurasi dengan benar untuk menyelesaikan alamat IP lokal.

7 Tambahkan Repositori Dotdeb Dan Perbarui Sistem Debian Anda

Langkah ini sangat penting untuk membuat nginx bekerja dengan ISPConfig 3 dan sistem Debian 6 Anda. Tambahkan repositori Dotdeb dengan mengedit file /etc/apt/sources.list dan menyisipkan 2 baris dan komentar opsional dan unduh dan tambahkan kunci GPG:

vi /etc/apt/sources.list
[...]# Dotdeb repositorydeb http://packages.dotdeb.org pemerasan alldeb-src http://packages.dotdeb.org pemerasan semua[...]

Kemudian ambil kunci GnuPG yang sesuai:

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key tambahkan -

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

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

Jalankan:

apt-get update

untuk memperbarui database repositori paket apt dan jika ada pemutakhiran yang tersedia, pemutakhiran tersebut akan tersedia untuk diinstal ketika Anda:

apt-get upgrade

8 Ubah Shell Default

/bin/sh adalah symlink ke /bin/dash, namun /bin/bash diperlukan bukan /bin/dash. Karena itu lakukan ini:

dpkg-konfigurasi ulang tanda hubung

Gunakan tanda hubung sebagai shell sistem default (/bin/sh)? <-- Tidak

9 Sinkronisasi Jam Sistem

Sebaiknya sinkronisasi jam sistem dengan server NTP (protokol waktu jaringan) melalui Internet. Cukup jalankan:

apt-get install ntp ntpdate

untuk menjaga waktu sistem Anda tetap sinkron.

Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND, Dovecot &Nginx [ISPConfig 3] - Halaman 4

10 Instal Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Anda dapat menginstal Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, rkhunter, dan binutils dengan satu perintah:

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

Anda akan ditanya pertanyaan berikut:

Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com
Kata sandi baru untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Ulangi kata sandi untuk pengguna "root" MySQL:<-- yourrootsqlpassword

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
[...]# Alih-alih melewatkan jaringan, defaultnya sekarang hanya mendengarkan di# localhost yang lebih kompatibel dan tidak kalah aman. #bind-address =127.0.0.1[...]

Kemudian restart MySQL:

/etc/init.d/mysql restart

Sekarang periksa apakah jaringan diaktifkan. Jalankan

netstat -ketuk | grep mysql

Outputnya akan terlihat seperti ini:

[email protected]:~# netstat -tap | grep mysql
tcp       0      0 *:mysql               *:*                  DENGARKAN     10617/mysqld
example@unixlinux

11 Instal Amavisd-new, SpamAssassin, Dan Clamav

Untuk menginstal amavisd-new, SpamAssassin, dan ClamAV, jalankan:

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-s perl libnet-ident-perl zip libnet-dns-perl

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

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

12 Instal Nginx, PHP5 (PHP-FPM), Dan Fcgiwrap

Nginx tersedia sebagai paket dari repositori Dotdeb (paket pada repo nginx resmi tidak bekerja dengan ISPConfig 3 pada saat penulisan) jadi untuk menginstalnya jalankan perintah berikut:

apt-get install nginx

Apache tidak boleh diinstal pada tahap ini meskipun ditarik sebagai ketergantungan untuk phpMyAdmin nanti dalam tutorial. Hapus Apache dengan:

apt-get purge apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils

dan paket terkait lainnya. Anda juga dapat menjalankan:

apt-get autoremove

untuk memastikan paket yang tidak perlu dibersihkan.

Untuk membuat PHP5 bekerja di nginx melalui PHP-FPM (FastCGI Process Manager) sebagai alternatif implementasi PHP FastCGI dengan beberapa fitur tambahan yang melayani situs web dari berbagai ukuran, terutama lalu lintas yang lebih padat, instal sebagai berikut:

apt-get install php5-fpm

PHP-FPM adalah proses daemon, dengan skrip init /etc/init.d/php5-fpm, yang menjalankan server FastCGI pada port 9000.

Untuk menambahkan dukungan MySQL ke PHP, kita dapat menginstal paket php5-mysql. Anda mungkin memerlukan beberapa modul PHP5 tambahan juga untuk mendukung fitur yang disempurnakan dari aplikasi web Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:

pencarian apt-cache php5

Jika Anda tidak peduli dengan ruang disk atau apakah perlu diinstal atau tidak, Anda dapat menginstal semuanya:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5 -sqlite php5-rapi php5-xmlrpc php5-xsl

atau hapus yang Anda tahu tidak Anda butuhkan.

APC adalah cacher opcode PHP sumber terbuka dan gratis untuk menyimpan dan mengoptimalkan kode perantara PHP. Ini mirip dengan cacher opcode PHP lainnya, seperti eAccelerator dan XCache. Sangat disarankan untuk menginstal salah satu dari ini untuk mempercepat halaman PHP Anda.

APC dapat diinstal sebagai berikut:

apt-get install php-apc

Sekarang restart PHP-FPM:

/etc/init.d/php5-fpm mulai ulang

Fcgiwrap adalah pembungkus CGI yang juga berfungsi untuk skrip CGI yang kompleks dan dapat digunakan untuk lingkungan hosting bersama karena memungkinkan setiap vhost untuk menggunakan direktori cgi-bin-nya sendiri. Untuk dukungan CGI di nginx Anda harus menginstal paket Fcgiwrap sebagai berikut:

apt-get install fcgiwrap

Setelah instalasi, daemon fcgiwrap seharusnya sudah dimulai; soketnya adalah /var/run/fcgiwrap.socket. Jika tidak berjalan, Anda dapat menggunakan skrip /etc/init.d/fcgiwrap untuk memulainya.

Itu dia! Sekarang ketika Anda membuat nginx vhost, ISPConfig 3 akan menangani konfigurasi vhost yang benar.

13 Instal phpMyAdmin Dan Konfigurasi HTTPS Untuk Vhost

Untuk menginstal phpMyAdmin jalankan perintah berikut:

apt-get install phpmyadmin

Anda akan diminta dengan pertanyaan berikut:

Server web untuk mengkonfigurasi ulang secara otomatis:<-- pilih tidak ada (karena hanya Apache2 dan lighttpd yang tersedia sebagai opsi)
Konfigurasi database untuk phpmyadmin dengan dbconfig-common? <-- Tidak

Jika Anda memilih 'Ya' maka Anda akan mendapatkan kesalahan yang dapat dibaca di tautan ini:http://serverfault.com/questions/341116/setting-up-phpmyadmin-got-a-mysql-syntax-error

Karena Apache2 diinstal sebagai bagian dari ketergantungan phpMyAdmin, hentikan sekarang dengan:

/etc/init.d/apache2 stop

dan hapus tautan startup sistem Apache:

insserv -r apache2

Mulai nginx setelahnya:

/etc/init.d/nginx start

Anda sekarang dapat menemukan phpMyAdmin di direktori /usr/share/phpmyadmin/.

Setelah Anda menginstal ISPConfig 3, Anda dapat mengakses phpMyAdmin sebagai berikut:

Aplikasi ISPConfig 3 vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi phpMyAdmin, jadi Anda dapat menggunakan http://server1.example.com:8081/phpmyadmin atau http://server1.example.com:8081/phpMyAdmin untuk mengakses phpMyAdmin .

Jika Anda ingin menggunakan alias /phpmyadmin atau /phpMyAdmin yang dapat Anda gunakan dari situs web Anda, ini sedikit lebih rumit daripada untuk Apache 2 karena nginx tidak memiliki alias global (alias yang dapat ditentukan untuk semua vhost). Oleh karena itu Anda harus menentukan alias untuk setiap vhost sehingga Anda dapat mengakses dengan phpMyAdmin pada URI yang Anda tentukan.

Untuk melakukannya, rekatkan yang berikut ini ke dalam bidang Arahan nginx pada tab Opsi setiap situs web di ISPConfig3 (setelah Anda menginstalnya nanti di tutorial):

 lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; sertakan /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }

Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS aktif, ke konfigurasi phpMyAdmin Anda seperti ini:

 lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS aktif; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; sertakan /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }

Cukup meragukan apakah Anda ingin mentransfer data dan kata sandi dalam bentuk cleartext ke phpMyAdmin atau aplikasi lain yang ingin Anda jaga keamanannya. Jadi untuk menggunakan http dan https untuk vhost Anda, Anda harus menambahkan bagian berikut ke bagian http {} di /etc/nginx/nginx.conf, sebelum baris penyertaan apa pun, ini menentukan apakah pengunjung menggunakan http atau https dan menyetel $fastcgi_https variabel. Gunakan ini dalam konfigurasi phpMyAdmin Anda yang sesuai:

vi /etc/nginx/nginx.conf
[...]http {[...] ## Mendeteksi saat HTTPS digunakan map $scheme $fastcgi_https { default mati; https pada; }[...]}[...]

Jangan lupa untuk memuat ulang nginx setelahnya:

/etc/init.d/nginx memuat ulang

Kemudian pergi ke bidang nginx Directives lagi, dan alih-alih fastcgi_param HTTPS aktif, Anda menambahkan baris fastcgi_param HTTPS $fastcgi_https, sehingga Anda dapat menggunakan phpMyAdmin untuk permintaan http dan https:

 lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; sertakan /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }

14 Instal Mailman

Sejak versi 3.0.4, ISPConfig juga memungkinkan Anda untuk mengelola (membuat/memodifikasi/menghapus) milis Mailman. Jika Anda ingin menggunakan fitur ini, instal Mailman sebagai berikut:

apt-get install mailman

Sebelum kita dapat memulai Mailman, milis pertama yang disebut mailman harus dibuat:

mailman daftar baru

[email protected]:~# newlist mailman
Masukkan email orang yang menjalankan daftar: <-- alamat email admin, mis. [email protected]
Kata sandi mailman awal: <-- admin password for the mailman list
Untuk menyelesaikan pembuatan milis, Anda harus mengedit /etc/aliases atau
file yang setara dengan menambahkan baris berikut:

## mailman mailing list
mailman:            "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:       "|/ var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/ mailman/mail/mailman confirm mailman"
mailman-join:        "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:       "|/var/lib/mailman/mail/ mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:     "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Tekan enter untuk memberitahukan mailman owner... <-- ENTER

[email protected]:~#

Buka /etc/aliases setelahnya:

vi /etc/aliases

dan tambahkan baris berikut:

[...]mailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:"|/var/ lib/mailman/mail/mailman admin tukang pos"mailman-bounces:"|/var/lib/mailman/mail/mailman memantul tukang pos"mailman-confirm:"|/var/lib/mailman/mail/mailman konfirmasi tukang pos"mailman- join:"|/var/lib/mailman/mail/mailman join mailman"mailman-leave:"|/var/lib/mailman/mail/mailman tinggalkan mailman"mailman-owner:"|/var/lib/mailman/mail /mailman owner mailman"mailman-request:"|/var/lib/mailman/mail/mailman request mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman berlangganan tukang pos"mailman-unsubscribe:"|/ var/lib/mailman/mail/mailman berhenti berlangganan tukang pos"

Jalankan alias baru dan mulai ulang Postfix:

newaliases
/etc/init.d/postfix restart

Kemudian jalankan daemon Mailman:

/etc/init.d/mailman start

Setelah Anda menginstal ISPConfig 3, Anda dapat mengakses Mailman sebagai berikut:

Aplikasi ISPConfig vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi Mailman, sehingga Anda dapat menggunakan http://server1.example.com:8081/cgi-bin/mailman/admin/ atau http://server1.example .com:8081/cgi-bin/mailman/listinfo/ untuk mengakses Mailman.

Jika Anda ingin menggunakan Mailman dari situs web individual Anda, konfigurasinya sedikit lebih rumit daripada Apache karena nginx tidak memiliki alias global (mendefinisikan alias yang selanjutnya berfungsi untuk semua host, misalnya domain.tld/definedalias). Oleh karena itu, Anda harus menentukan alias untuk setiap vhost tempat Anda ingin mengakses Mailman.

Untuk melakukan ini, rekatkan yang berikut ini ke bidang Arahan nginx setelah ISPConfig diinstal pada tab Opsi di setiap situs web:

 lokasi /cgi-bin/mailman { root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; sertakan /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors aktif; fastcgi_pass unix:/var/run/fcgiwrap.socket; } lokasi /images/mailman { alias /usr/share/images/mailman; } lokasi /pipermail { alias /var/lib/mailman/archives/public; indeks otomatis aktif; }

Ini mendefinisikan alias /cgi-bin/mailman/ untuk vhost Anda, yang berarti Anda dapat mengakses antarmuka admin Mailman untuk daftar di http:///cgi-bin/mailman/admin/, dan halaman web untuk pengguna milis dapat ditemukan di http:///cgi-bin/mailman/listinfo/.

Di bawah http:///pipermail Anda dapat menemukan arsip milis.

The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot &Nginx [ISPConfig 3] - Page 5

15 Install PureFTPd And Quota

PureFTPd and quota can be installed with the following command:

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

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

vi /etc/default/pure-ftpd-common

Start mode is most likely already set to standalone and but make sure VIRTUALCHROOT=true is also defined like this:

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

It is likely that all lines are commented out, but it is worth checking /etc/inetd.conf for a line beginning with ftp stream tcp and comment it out. If the file or line do not exist then there is no need to edit or create it. This prevents inetd from trying to start ftp:

vi /etc/inetd.conf

Comment it out like this:

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

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

/etc/init.d/openbsd-inetd restart

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

If you would like to allow FTP and TLS sessions run:

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

In order to use TLS you must create an SSL certificate. Create the directory and generate the SSL certificate in /etc/ssl/private/ using the following commands:

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

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

Then change the permissions of the SSL certificate and restart PureFTPd:

chmod 600 /etc/ssl/private/pure-ftpd.pem
/etc/init.d/pure-ftpd-mysql restart

Edit /etc/fstab by adding ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 to the partition with the mount point /, can also be done on /var if you have a separate /var partition:

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).##     
 proc /proc proc defaults 0 0# / was on /dev/sda1 during installationUUID=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 installationUUID=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

On a separate /var partition you can use usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 under options like this:

[...]# / was on /dev/sda1 during installationUUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 / ext3 errors=remount-ro 0 1[...]# /var was on /dev/sda3 during installationUUID=be189fc3-b1b0-4e41-822c-6f81aa504bc1 /var ext3 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2[...]

Please note that the UUIDs, paritions and file system types are likely differ on your system so do not change the to the ones in the example configuration.

To enable quota, run these commands:

mount -o remount /
quotacheck -avugm
quotaon -avug

If you enabled quota on /var then you might get a similar response on your terminal:

quotacheck:Scanning /dev/sda3 [/var] done
quotacheck:Cannot stat old user quota file:No such file or directory
quotacheck:Cannot stat old group quota file:No such file or directory
quotacheck:Cannot stat old user quota file:No such file or directory
quotacheck:Cannot stat old group quota file:No such file or directory
quotacheck:Checked 335 directories and 3233 files
quotacheck:Old file not found.
quotacheck:Old file not found.
[email protected]:~# quotaon -avug
/dev/sda3 [/var]:group quotas turned on
/dev/sda3 [/var]:user quotas turned on

16 Install BIND DNS Server

BIND can be installed as follows:

apt-get install bind9 dnsutils

17 Install Vlogger, Webalizer, And AWstats

Vlogger, webalizer, and AWstats can be installed as follows:

apt-get install vlogger webalizer awstats geoip-database

Open /etc/cron.d/awstats to edit it...

vi /etc/cron.d/awstats

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

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

18 Install Jailkit

Jailkit is needed only if you want to chroot SSH users. Jailkit must be installed before ISPConfig 3, it cannot be installed afterwards! It can be installed as follows:

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./debian/rules binary
cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*

The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot &Nginx [ISPConfig 3] - Page 6

19 Install fail2ban

This is optional but also recommended, because the ISPConfig monitor tries to show the contents of the log file:

apt-get install fail2ban

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

vi /etc/fail2ban/jail.local

... and insert:

[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5

Then create the two filter files:

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

Insert:

[Definition]failregex =.*pure-ftpd:\(.*@\) \[WARNING\] Authentication failed for user.*ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf

Insert:

[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\S*),.*ignoreregex =

Then restart fail2ban:

/etc/init.d/fail2ban restart

20 Install SquirrelMail (Optional)

This step is entirely optional. If you would like to install Roundcube instead then skip this step and refer to https://www.howtoforge.com/how-to-install-roundcube-0.7-for-ispconfig-3-on-debian-squeeze. You can do so after installing ISPConfig 3. To install the SquirrelMail webmail client just run:

apt-get install squirrelmail

... and configure SquirrelMail:

squirrelmail-configure

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

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

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- D


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

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

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

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


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

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

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

    quit        = Do not change anything
Command >> dovecot

              imap_server_type = dovecot
         default_folder_prefix = 
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
          default_sub_of_inbox = false
show_contain_subfolders_option = false
            optional_delimiter = detect
                 delete_folder = false

Press any key to continue... <-- press a key


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

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- S


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

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- Q

Now you can find SquirrelMail in the /usr/share/squirrelmail/ directory.

After you have installed ISPConfig 3, you can access SquirrelMail as follows:

The ISPConfig apps vhost on port 8081 for nginx comes with a SquirrelMail configuration, so you can use http://server1.example.com:8081/squirrelmail or http://server1.example.com:8081/webmail to access SquirrelMail.

If you want to use a /webmail or /squirrelmail alias that you can use from your web sites, this is a bit more complicated than for Apache because nginx does not support global aliases. Therefore you have to define the aliases for each vhost from which you want to access SquirrelMail.

To do this, paste the following into the nginx Directives field on the Options tab of the web site in ISPConfig:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

If you use https instead of http for your vhost, you should add the line fastcgi_param HTTPS on; to your SquirrelMail configuration like this:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

If you use both http and https for your vhost you should have added the relevant section into /etc/nginx/nginx.conf while setting up phpMyAdmin earlier in the tutorial.

Go to the nginx Directives field again, and instead of fastcgi_param HTTPS on; you add the line fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:

 location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot &Nginx [ISPConfig 3] - Page 7

21 Install ISPConfig 3

Before you start the ISPConfig installation ensure that Apache is stopped because phpMyAdmin will have installed Apache as a dependency. Should Apache2 already be installed on the system stop it now:

/etc/init.d/apache2 stop

and remove Apache's system startup links if you have not already done so in a previous step:

insserv -r apache2

Make sure that nginx is running:

/etc/init.d/nginx restart

If you have both Apache and nginx installed, the installer asks you which one you want to use:Apache and nginx detected. Select server to use for ISPConfig:(apache,nginx) [apache]:

Type nginx. If only Apache or nginx are installed, this is automatically detected by the installer, and no question is asked.

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

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

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.

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


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


>> Initial configuration

Operating System: Debian or compatible, unknown version.

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


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

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

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

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

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

MySQL charset [utf8]: <-- ENTER

Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: <-- nginx

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

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

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 q uite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2463
 * Stopping Postfix Mail Transport Agent postfix
   ...done.
 * Starting Postfix Mail Transport Agent postfix
   ...done.
 * Stopping SASL Authentication Daemon saslauthd
   ...done.
 * Starting SASL Authentication Daemon saslauthd
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
Bytecode: Security mode set to "TrustSigned".
   ...done.
 * Stopping Courier authentication services authdaemond
   ...done.
 * Starting Courier authentication services authdaemond
   ...done.
 * Stopping Courier IMAP server imapd
   ...done.
 * Starting Courier IMAP server imapd
   ...done.
 * Stopping Courier IMAP-SSL server imapd-ssl
   ...done.
 * Starting Courier IMAP-SSL se rver imapd-ssl
   ...done.
 * Stopping Courier POP3 server...
   ...done.
 * Starting Courier POP3 server...
   ...done.
 * Stopping Courier POP3-SSL server...
   ...done.
 * Starting Courier POP3-SSL server...
   ...done.
 * Restarting Mailman master qrunner mailmanctl
 * Waiting...
   ...fail!
The master qrunner lock could not be acquired because it appears as if another
master qrunner is already running.

   ...done.
 * Reloading PHP5 FastCGI Process Manager php5-fpm
   ...done.
Reloading nginx configuration: nginx.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -D -H -b -A -E -u 1000 -Y 1 -B
Installation completed.
You have mail in /var/mail/root
[email protected]:/tmp/ispconfig3_install/install#

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

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

You can then access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password and possibly edit the admin username after your first login):

If your browser indicates a 502 Bad Gateway error, just restart PHP-FPM and try the URL again:

/etc/init.d/php5-fpm restart

It can take a couple of minutes for the control panel to be accessible. The system should be ready to be used except if you have an error in your mail.log then read the note below.

21.1 ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.

On about 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.

21.2 ISPConfig Monitor App For Android

With the ISPConfig Monitor App, you can check your server status and find out if all services are running as expected. You can check TCP and UDP ports and ping your servers. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 3.0.3.3! ); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.

For download and usage instructions, please visit http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

22 Additional Notes

22.1 It is likely that emails are not sent or received so to correct this follow the steps below.

Postfix/Dovecot - warning SASL:Connect to private/auth failed:No such file or directory

Error:Postfix/Dovecot - warning:SASL:Connect to private/auth failed:No such file or directory

Similar error messages will appear in your mail log (cat /var/log/mail.log):

Aug 23 15:55:01 server1 postfix/smtpd[15194]:warning:SASL:Connect to private/auth failed:No such file or directory
Aug 23 15:55:01 server1 postfix/smtpd[15194]:fatal:no SASL authentication mechanisms
Aug 23 15:55:02 server1 postfix/master[3979]:warning:process /usr/libexec/postfix/smtpd pid 15194 exit status 1
Aug 23 15:55:02 server1 postfix/master[3979]:warning:/usr/libexec/postfix/smtpd:bad command startup -- throttling

Solution (this config should already exist after this tutorial):

Open your dovecot.conf /etc/dovecot/dovecot.conf, and make sure you have the following lines in it:

vi /etc/dovecot/dovecot.conf
[...]client { path =/var/spool/postfix/private/auth mode =0660 user =postfix group =postfix}[...]

Restart Dovecot.

Then check if /var/spool/postfix/private/auth got created:

ls -l /var/spool/postfix/private/auth

Also make sure you add the following line into your /etc/postfix/main.cf file, sensibly on the line next to readme_directory =/usr/share/doc/postfix and restart postfix.

[...]queue_directory =/var/spool/postfix[...]
/etc/init.d/postfix restart

22.1 OpenVZ

If the Debian server that you have just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system, assuming that the ID of the OpenVZ container is 101, replace it with the correct VPSID on your system:

VPSID=101
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
  vzctl set $VPSID --capability ${CAP}:on --save
done

  • Debian:http://www.debian.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. Server Sempurna - Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

  2. Server Sempurna - Ubuntu 15.04 (nginx, BIND, Dovecot, dan ISPConfig 3)

  3. Server Sempurna - Ubuntu 12.10 (nginx, BIND, Dovecot, ISPConfig 3)

  1. Server Sempurna - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)

  2. Server Sempurna - Debian 9 (Nginx, BIND, Dovecot, ISPConfig 3.1)

  3. Server Sempurna - Debian 10 (Nginx, BIND, Dovecot, ISPConfig 3.2)

  1. Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Nginx [ISPConfig 3]

  2. Server Sempurna - Ubuntu 11.10 Dengan Nginx [ISPConfig 3]

  3. Server Sempurna - Debian Squeeze (Debian 6.0) Dengan BIND &Dovecot [ISPConfig 3]