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

Server Sempurna - Ubuntu 14.10 dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig

Server Sempurna - Ubuntu 14.10 dengan Apache, PHP, MySQL, PureFTPD, BIND , Postfix, Dovecot, dan ISPConfig

Tutorial ini menunjukkan cara menginstal server Ubuntu 14.10 (Utopic  Unicorn) (dengan Apache2, BIND, Dovecot) untuk instalasi ISPConfig 3, dan cara menginstal ISPConfig 3. ISPConfig 3 adalah panel kontrol webhosting yang memungkinkan Anda mengonfigurasi hal berikut layanan melalui web browser:Apache atau nginx web server, Postfix mail server, Courier atau Dovecot IMAP/POP3 server, MySQL, BIND atau MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, dan banyak lagi. Penyiapan ini mencakup penginstalan Apache (bukan nginx), BIND (bukan MyDNS), dan Dovecot (bukan Courier).

Panduan ISPConfig 3

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

Pada lebih dari 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.

1. Catatan Awal

Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100 dan gateway 192.168.0.1. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu. Sebelum melangkah lebih jauh, Anda harus memiliki instalasi dasar minimal Ubuntu 14.10 seperti yang dijelaskan dalam tutorial.

2. Edit /etc/apt/sources.list Dan Perbarui Instalasi Linux Anda

Edit /etc/apt/sources.list. Beri komentar atau hapus CD instalasi dari file dan pastikan bahwa repositori universe dan multiverse diaktifkan. Seharusnya terlihat seperti ini:

nano /etc/apt/sources.list
# # deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Rilis amd64 (20141022.2)]/ utopic main terbatas#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Rilis amd64 (20141022.2)]/ utopic main terbatas# Lihat http://help.ubuntu.com/community/UpgradeCatatan tentang cara memutakhirkan ke# versi distribusi yang lebih baru. .archive.ubuntu.com/ubuntu/ utopic main terbatas## Pembaruan perbaikan bug utama dihasilkan setelah rilis final## distribution.deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates main limiteddeb- src http://de.archive.ubuntu.com/ubuntu/ utopic-updates main terbatas## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim Ubuntu##. Juga, harap perhatikan bahwa perangkat lunak di universe TIDAK AKAN menerima ulasan ## atau pembaruan apa pun dari tim keamanan Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic universedeb-src http://de.archive. ubuntu.com/ubuntu/ utopic universedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim ## Ubuntu, dan mungkin tidak di bawah lisensi gratis. Harap puaskan diri Anda tentang ## hak Anda untuk menggunakan perangkat lunak. Juga, harap perhatikan bahwa perangkat lunak di ## multiverse TIDAK AKAN menerima ulasan atau pembaruan apa pun dari tim keamanan Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ utopic multiversedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse## N.B. perangkat lunak dari repositori ini mungkin belum diuji## secara ekstensif seperti yang terdapat dalam rilis utama, meskipun menyertakan## versi terbaru dari beberapa aplikasi yang mungkin menyediakan fitur yang berguna.## Juga, harap dicatat bahwa perangkat lunak di backport TIDAK AKAN menerima setiap ulasan## atau pembaruan dari tim keamanan Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic-backports alam semesta terbatas utama multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports utama semesta terbatas multiversedeb http://security.ubuntu.com/ubuntu utopic-security main limiteddeb-src http://security.ubuntu.com/ubuntu utopic-security main limiteddeb http://security.ubuntu.com /ubuntu utopic-security universedeb-src http://security.ubuntu.com/ubuntu utopic-security universedeb http://security.ubuntu.com/ubuntu utopic-security multiversedeb-src http://security.ubuntu.com/ ubuntu utopic-security multiverse## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari perwakilan 'partner' Canonical## ository.## Perangkat lunak ini bukan bagian dari Ubuntu, tetapi ditawarkan oleh Canonical dan## vendor masing-masing sebagai layanan untuk pengguna Ubuntu.# deb http://archive.canonical.com/ubuntu utopic partner# deb-src http ://archive.canonical.com/ubuntu utopic partner## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari repositori 'ekstra' Ubuntu##.## Perangkat lunak ini bukan bagian dari Ubuntu, tetapi ditawarkan oleh pihak ketiga## pengembang yang ingin mengirimkan perangkat lunak terbaru mereka.# deb http://extras.ubuntu.com/ubuntu utopic main# deb-src http://extras.ubuntu.com/ubuntu utopic main

Kemudian jalankan

apt-get update

untuk memperbarui database paket apt dan

apt-get upgrade

untuk menginstal pembaruan terbaru (jika ada). Jika Anda melihat kernel baru terinstal sebagai bagian dari pembaruan, Anda harus mem-boot ulang sistem setelahnya:

boot ulang

3. Ubah Shell Default

/bin/sh adalah symlink ke /bin/dash, namun kita membutuhkan /bin/bash, bukan /bin/dash. Oleh karena itu kami melakukan ini:

dpkg-konfigurasi ulang tanda hubung

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

Jika Anda tidak melakukannya, penginstalan ISPConfig akan gagal.

4. Nonaktifkan AppArmor

AppArmor adalah ekstensi keamanan (mirip dengan SELinux) yang seharusnya memberikan keamanan yang diperluas. Menurut pendapat saya, Anda tidak memerlukannya untuk mengkonfigurasi sistem yang aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (pikirkan setelah Anda melakukan pemecahan masalah selama seminggu karena beberapa layanan tidak berfungsi seperti yang diharapkan, dan kemudian Anda mengetahui bahwa semuanya baik-baik saja, hanya AppArmor yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

Kita dapat menonaktifkannya seperti ini:

penghentian apparmor layanan 
update-rc.d -f apparmor hapus
apt-get hapus apparmor apparmor-utils

5. Sinkronkan Jam Sistem

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

apt-get install ntp ntpdate

dan waktu sistem Anda akan selalu sinkron.

6. Instal Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Untuk menginstal postfix, kita harus menghentikan dan menghapus sendmail 

layanan sendmail berhenti; update-rc.d -f sendmail hapus

Sekarang kita dapat menginstal Postfix, Dovecot, MySQL, rkhunter, dan binutils dengan satu perintah:

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

Anda akan ditanya pertanyaan berikut:

Kata sandi baru untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Ulangi kata sandi untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Buat sertifikat SSL yang ditandatangani sendiri?:<-- Ya
Nama host:<-- server1.example.com
Hanya lokal:<-- OK
Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<- - server1.example.com

Selanjutnya buka TLS/SSL dan port pengiriman di Postfix:

nano /etc/postfix/master.cf

Batalkan komentar bagian kiriman dan smtps sebagai berikut - tambahkan baris -o smtpd_client_restrictions=permit_sasl_authenticated,tolak kedua bagian dan tinggalkan semuanya setelahnya dikomentari:

[...]pengajuan inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions kuat> # -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATINGsmtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATING[...]

Mulai ulang Postfix setelahnya:

service postfix restart

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:

nano /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 kita restart MySQL:

layanan 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      24603/mysqld    
contoh online@:~#linux

7. Instal Amavisd-new, SpamAssassin, Dan Clamav

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-s 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:

penghentian spamassassin layanan 
update-rc.d -f penghapusan spamassassin

Untuk Menjalankan clamav gunakan

freshclam
layanan clamav-daemon dimulai

Server Sempurna - Ubuntu 14.10 dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig - Halaman 2

8. Instal Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, Dan mcrypt

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

apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php5-common 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-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-sqlite -rapi php5-xmlrpc php5-xsl memcached

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 (plus dav, dav_fs, dan auth_digest jika Anda ingin menggunakan WebDAV):

a2enmod suexec menulis ulang tindakan ssl termasuk cgi
a2enmod dav_fs dav auth_digest

Selanjutnya buka /etc/apache2/mods-available/suphp.conf...

nano /etc/apache2/mods-available/suphp.conf

... dan beri komentar pada bagian dan tambahkan baris AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - jika tidak semua file PHP akan dijalankan oleh SuPHP:

 #  # Aplikasi SetHandler/x-httpd-suphp   suPHP_AddHandler application/x-httpd-suphp  suPHP_Engine on  # Secara default, nonaktifkan suPHP untuk aplikasi web paket debian karena file # dimiliki oleh root dan tidak dapat dijalankan oleh suPHP karena min_uid.  suPHP_Engine off # # Gunakan file konfigurasi php tertentu (dir yang berisi file php.ini)# suPHP_ConfigPath /etc/php5/cgi/suphp/# ​​# Memberi tahu mod_suphp untuk TIDAK menangani permintaan dengan tipe .# suPHP_RemoveHandler 

Mulai ulang Apache setelahnya:

layanan apache2 restart

Jika Anda ingin meng-host file Ruby dengan ekstensi .rb di situs web Anda yang dibuat melalui ISPConfig, Anda harus mengomentari baris application/x-ruby rb di /etc/mime.types:

nano /etc/mime.types
[...]# aplikasi/x-ruby rb[...]

(Ini hanya diperlukan untuk file .rb; file Ruby dengan ekstensi .rbx bekerja di luar kotak.)

Mulai ulang Apache setelahnya:

layanan apache2 restart

8.1 Xcache

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

Xcache dapat diinstal sebagai berikut:

apt-get install php5-xcache

Sekarang restart Apache:

layanan apache2 restart

8.2 PHP-FPM

Dimulai dengan ISPConfig 3.0.5, ada mode PHP tambahan yang dapat Anda pilih untuk digunakan dengan Apache:PHP-FPM.

Untuk menggunakan PHP-FPM dengan Apache, kita memerlukan modul mod_fastcgi Apache (jangan mencampuradukkannya dengan mod_fcgid - keduanya sangat mirip, tetapi Anda tidak dapat menggunakan PHP-FPM dengan mod_fcgid). Kita dapat menginstal PHP-FPM dan mod_fastcgi sebagai berikut:

apt-get install libapache2-mod-fastcgi php5-fpm

Pastikan Anda mengaktifkan modul dan memulai ulang Apache:

a2enmod actions fastcgi alias 
service apache2 restart

8.3 Versi PHP Tambahan

Dimulai dengan ISPConfig 3.0.5, dimungkinkan untuk memiliki beberapa versi PHP pada satu server (dapat dipilih melalui ISPConfig) yang dapat dijalankan melalui FastCGI dan PHP-FPM. Untuk mempelajari cara membuat versi PHP tambahan (PHP-FPM dan FastCGI) dan cara mengkonfigurasi ISPConfig, silakan lihat tutorial ini:Cara Menggunakan Beberapa Versi PHP (PHP-FPM &FastCGI) Dengan ISPConfig 3 (Ubuntu 12.10) (berfungsi untuk Ubuntu 14.10 juga).

9. 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

Pilih setidaknya satu bahasa, mis.:

Bahasa yang didukung:<-- en (Bahasa Inggris)
Daftar situs tidak ada <-- Oke

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]
Sandi mailman awal: <-- admin password for the mailman list
Untuk menyelesaikan pembuatan milis, Anda harus mengedit file /etc/aliases (atau
setara) Anda dengan menambahkan baris berikut, dan mungkin menjalankan program
`newaliases':

## 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 -keluar:        "|/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 subscribe mailma n"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Tekan enter untuk memberi tahu pemilik mailman... <-- ENTER

[email protected]:~#

Buka /etc/aliases setelahnya...

nano /etc/aliases

... dan tambahkan baris berikut:

[...]## mailman mailing listmailman:"|/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 bergabung dengan tukang pos"mailman-leave:"|/var/lib/mailman/mail/mailman meninggalkan tukang pos"mailman-owner:"|/var/lib/mailman/mail/mailman pemilik tukang pos"mailman-permintaan:"|/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

nama baru

setelah itu dan mulai ulang Postfix:

service postfix restart

Terakhir kita harus mengaktifkan konfigurasi Mailman Apache:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

Ini mendefinisikan alias /cgi-bin/mailman/ untuk semua vhost Apache, 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.

Mulai ulang Apache setelahnya:

layanan apache2 restart

Kemudian jalankan daemon Mailman:

layanan tukang pos mulai

10. Instal PureFTPd Dan Kuota

PureFTPd dan kuota dapat diinstal dengan perintah berikut:

apt-get install pure-ftpd-common pure-ftpd-mysql quotatooltool

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

nano /etc/default/pure-ftpd-common

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

[...]STANDALONE_OR_INETD=mandiri [...]VIRTUALCHROOT=benar [...]

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) [Beberapa Negara Bagian]:<-- Masukkan Nama Negara Bagian atau Provinsi Anda.
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., bagian) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis., Nama ANDA) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (mis. "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.

Ubah izin sertifikat SSL:

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

Kemudian restart PureFTPd:

layanan pure-ftpd-mysql restart
[email protected]:~# service pure-ftpd-mysql restart
Restart server ftp:Menjalankan:/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd /db/mysql.conf -l pam -8 UTF-8 -u 1000 -E -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -B
[email protected]:~#

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

nano /etc/fstab
# /etc/fstab:informasi sistem file statis.## Gunakan 'blkid' untuk mencetak pengenal unik universal untuk perangkat#; ini dapat digunakan dengan UUID=sebagai cara yang lebih kuat untuk memberi nama perangkat# yang berfungsi bahkan jika disk ditambahkan dan dihapus. Lihat fstab (5).##     
 /dev/mapper/server1--vg-root / ext4 error=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot aktif /dev/sda1 selama instalasiUUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2/dev/mapper/server1--vg-swap_1 none swap sw 0 0

Untuk mengaktifkan kuota, jalankan perintah berikut:

mount -o remount /
quotacheck -avugm 
quotaon -avug

11. Instal Server DNS BIND

BIND dapat diinstal sebagai berikut:

apt-get install bind9 dnsutils

12. Instal Vlogger, Webalizer, dan AWstats

Vlogger, webalizer, dan AWstats dapat diinstal sebagai berikut:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

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

nano /etc/cron.d/awstats

... dan komentari semua yang ada di file itu:

 MAILTO=root# */10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Buat laporan statis:# 10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh

13. Instal Jailkit

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

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit- 2.17
./debian/rules biner

Anda sekarang dapat menginstal paket Jailkit .deb sebagai berikut:

cd .. 
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*

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:

nano /etc/fail2ban/jail.local
[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[postfix-sasl]enabled =trueport =smtpfilter =postfix-sasllogpath =/var/log/mail.logmaxretry =3 

Kemudian buat dua file filter berikut:

nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd:\(.*@\) \[PERINGATAN\] Otentikasi gagal untuk pengguna.*ignoreregex =
nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definisi]failregex =(?:pop3-login|imap-login):.*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(mencoba menggunakan nonaktif|Terputus \(auth gagal| Login dibatalkan \(\d+ upaya autentikasi).*rip=(?P\S*),.*ignoreregex =

Tambahkan baris abaikanregex yang hilang di file postfix-sasl:

echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.conf

Mulai ulang fail2ban setelahnya:

layanan fail2ban restart

Server Sempurna - Ubuntu 14.10 dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig - Halaman 3

15 Instal SquirrelMail

Untuk menginstal klien webmail SquirrelMail, jalankan

apt-get install squirrelmail

Kemudian 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 (MOTD)
8. Plugin
9. Basis Data
10. Bahasa

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

C   Mengaktifkan warna
S   Simpan data
Q   Keluar

Command >> <-- 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 yang lain. Jika Anda memilih server IMAP, opsi ini akan
menyetel beberapa setelan yang telah ditentukan sebelumnya untuk server tersebut.

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

Silakan pilih server IMAP Anda:
    bincimap    = Server IMAP Binc
    kurir    = Server IMAP kurir
   cyrus      = Server  = Cyrus  IMAP Dovecot server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx     = Mailserver Mac OS X Mailserver
    mercury32      University />    gmail       = Akses IMAP ke akun Google mail (Gmail) 

    berhenti       = Jangan mengubah apa pun
Command >> <-- dovecot


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

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

Silakan pilih server IMAP Anda:
    bincimap    = Server IMAP Binc
    kurir    = Server IMAP kurir
   cyrus      = Server  = Cyrus  IMAP Dovecot server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx     = Mailserver Mac OS X Mailserver
    mercury32      University />    gmail       = IMAP akses ke akun Google mail (Gmail) 

    keluar       = Jangan mengubah apa pun
Command >> dovecot

       = _server default_folder_prefix =
trash_folder =trash
sent_folder =dikirim
draft_folder =drafts
show_prefix_option =false
default_sub_of_inbox =false
show_contain_subfolders_opted>           opsional_del imiter = detect
               delete_folder = false

Tekan tombol apa saja untuk melanjutkan... <-- tekan tombol


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 (MOTD)
8. Plugin
9. Basis Data
10. Bahasa

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

C   Mengaktifkan warna
S   Simpan data
Q   Keluar

Command >> <-- 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 (MOTD)
8. Plugin
9. Basis Data
10. Bahasa

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

C   Mengaktifkan warna
S   Simpan data
Q   Keluar

Command >> <-- Q

Sekarang kita akan mengkonfigurasi SquirrelMail sehingga Anda dapat menggunakannya dari dalam situs web Anda (dibuat melalui ISPConfig) dengan menggunakan alias /squirrelmail atau /webmail. Jadi jika situs web Anda adalah www.example.com, Anda akan dapat mengakses SquirrelMail menggunakan www.example.com/squirrelmail atau www.example.com/webmail.

Konfigurasi Apache SquirrelMail ada di file /etc/squirrelmail/apache.conf, tetapi file ini tidak dimuat oleh Apache karena tidak ada di direktori /etc/apache2/conf.d/. Oleh karena itu kami membuat symlink bernama squirrelmail.conf di direktori /etc/apache2/conf.d/ yang mengarah ke /etc/squirrelmail/apache.conf dan memuat ulang Apache setelahnya:

cd /etc/apache2/conf-available/ 
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reload

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

 nano /etc/apache2/conf-available/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:

[...] Pilihan FollowSymLinks  AddType application/x-httpd-php .php php_flag magic_quotes_gpc Mati php_flag track_vars Aktif php_admin_flag allow_url_fopen Mati php_value include 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 _ .c> DirectoryIndex index.php  # access to configtest is limited by default to prevent information leak 
 order deny,allow deny from all allow from 127.0.0.1 [ ...]

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

mkdir /var/lib/squirrelmail/tmp

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

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

Next we need to enable the squirrelmail with apache2.

a2enconf squirrelmail

Reload Apache again:

service apache2 reload

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

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

http://192.168.0.100/squirrelmail 
http://www.example.com/squirrelmail

You can also access it from the ISPConfig control panel vhost (after you have installed ISPConfig, see the next chapter) as follows (this doesn't need any configuration in ISPConfig):

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

If you'd like to use the alias /webmail instead of /squirrelmail, simply open /etc/apache2/conf.d/squirrelmail.conf...

nano /etc/apache2/conf-available/squirrelmail.conf

... and add the line Alias /webmail /usr/share/squirrelmail:

Alias /squirrelmail /usr/share/squirrelmailAlias /webmail /usr/share/squirrelmail [...]

Then reload Apache:

service apache2 reload

Now you can access Squirrelmail as follows:

http:// 192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (after you have installed ISPConfig, see the next chapter)

 

If you'd like to define a vhost like webmail.example.com where your users can access SquirrelMail, you'd have to add the following vhost configuration to /etc/apache2/conf.d/squirrelmail.conf:

nano /etc/apache2/conf.d/squirrelmail.conf
[...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com

Of course, there must be a DNS record for webmail.example.com that points to the IP address that you use in the vhost configuration. Also make sure that the vhost webmail.example.com does not exist in ISPConfig (otherwise both vhosts will interfere with each other!).

Now reload Apache...

service apache2 reload

... and you can access SquirrelMail under http://webmail.example.com

16. Install ISPConfig 3

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:14.10 UNKNOWN

    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 []: <-- yourroot sqlpassword

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

MySQL charset [utf8]: <-- ENTER

Generating a 4096 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 (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
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 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 (e.g. server FQDN or 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 2817
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
 * Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: und efined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr /sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
   ...done.
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot 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 dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3962
 * Restarting web server apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
 ... waiting    ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[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]:.

Afterwards you can 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 after your first login):







The system is now ready to be used.

16.1 ISPConfig 3 Manual

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

On more than 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.

17. Additional Notes

17.1 OpenVZ

If the Ubuntu server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm 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

18. Tautan

  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

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

  2. Server Sempurna - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3)

  3. Server Sempurna - Ubuntu 16.10 (Yakkety Yak) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  1. Server Sempurna - Ubuntu 17.04 (Zesty Zapus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  2. Server Sempurna - Ubuntu 17.10 (Artful Aardvark) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)

  1. Server Sempurna - Ubuntu 16.04 (Xenial Xerus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  2. Server Sempurna - Ubuntu 18.04 (Bionic Beaver) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)