Tutorial ini menunjukkan cara menyiapkan server Debian Jessie (dengan Apache2, BIND, Dovecot) untuk instalasi ISPConfig 3.1, dan cara menginstal ISPConfig. Panel kontrol hosting web ISPConfig 3 memungkinkan Anda untuk mengonfigurasi layanan berikut melalui browser web:server web Apache atau nginx, server email Postfix, server Courier atau Dovecot IMAP/POP3, server nama MySQL, BIND atau MyDNS, PureFTPd, SpamAssassin, ClamAV, dan masih banyak lagi. Pengaturan ini mencakup Apache (bukan nginx), BIND, dan Dovecot (bukan Courier).
1 Catatan Awal
Dalam tutorial ini, saya akan menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100 dan gateway 192.168.1.1. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu. Sebelum melanjutkan lebih jauh, Anda harus memiliki instalasi minimal Debian 8. Ini mungkin gambar minimal Debian dari penyedia Hosting Anda atau Anda menggunakan tutorial Server Debian Minimal untuk menyiapkan sistem dasar.
Apa yang baru dalam versi tutorial ini?
- Dukungan untuk fitur baru ISPConfig 3.1.
- Dukungan untuk Let's Encrypt sertifikat SSL.
- Dukungan untuk HHVM (HipHop Virtual Machine) untuk menjalankan skrip PHP.
- Dukungan untuk XMPP (Metronom).
- Dukungan untuk EMail Greylisting dengan Postgrey.
- UFW sebagai Firewall untuk menggantikan Bastille.
- Webmail RoundCube bukan Squirrelmail.
2 Instal server SSH (Opsional)
Jika Anda tidak menginstal server OpenSSH selama instalasi sistem, Anda dapat melakukannya sekarang:
apt-get install ssh openssh-server
Mulai sekarang Anda dapat menggunakan klien SSH seperti Putty dan terhubung dari workstation Anda ke server Debian Jessie Anda dan ikuti langkah selanjutnya dari tutorial ini.
3 Instal editor teks shell (Opsional)
Kami akan menggunakan nano editor teks dalam tutorial ini. Beberapa pengguna lebih suka editor vi klasik, oleh karena itu kami akan menginstal kedua editor di sini. Program vi default memiliki beberapa perilaku aneh di Debian dan Ubuntu; untuk mengatasinya, kita install vim-nox:
apt-get install nano vim-nox
Jika vi adalah editor favorit Anda, ganti nano dengan vi pada perintah berikut untuk mengedit file.
4 Konfigurasikan Nama Inang
Nama host server Anda harus berupa subdomain seperti "server1.example.com". Jangan gunakan nama domain tanpa bagian subdomain seperti "example.com" sebagai nama host karena ini akan menyebabkan masalah dengan pengaturan email Anda nanti. Pertama, Anda harus memeriksa nama host di /etc/hosts dan mengubahnya bila perlu. Baris harus:"Alamat IP - spasi - nama host lengkap termasuk domain - spasi - bagian subdomain". Untuk nama host server1.example.com kami, file akan terlihat seperti ini:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.1.100 server1.example.com server1# Baris berikut diinginkan untuk host yang mendukung IPv6::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6 -allrouter
Kemudian edit file /etc/hostname:
nano /etc/hostname
Ini hanya akan berisi bagian subdomain, dalam kasus kami:
server1
Terakhir, boot ulang server untuk menerapkan perubahan:
boot ulang
Masuk lagi dan periksa apakah nama host sudah benar sekarang dengan perintah berikut:
nama host
nama host -f
Outputnya akan seperti ini:
[email protected]:/tmp# hostname
server1
[email protected]:/tmp# hostname -f
server1.example.com
5 Perbarui Instalasi Debian Anda
Pertama-tama pastikan bahwa /etc/apt/sources.list Anda berisi repositori jessie/updates (ini memastikan Anda selalu mendapatkan pembaruan keamanan terbaru), dan bahwa repositori contrib dan non-free diaktifkan (beberapa paket seperti libapache2- mod-fastcgi tidak ada di repositori utama).
nano /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Resmi amd64 NETINST Binary-1 20150425-12:50]/ jessie main
deb http://ftp.us.debian .org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http:/ /security.debian.org/ jessie/updates kontribusi utama tidak gratis
deb-src http://security.debian.org/ jessie/updates kontribusi utama tidak gratis
Jalankan:
apt-get update
Untuk memperbarui database paket yang tepat
apt-get upgrade
dan untuk menginstal pembaruan terbaru (jika ada).
6 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.
7 Sinkronisasi Jam Sistem
Sebaiknya sinkronisasi jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui Internet. Cukup jalankan
apt-get install ntp
dan waktu sistem Anda akan selalu sinkron.
8 Instal Postfix, Dovecot, MySQL, rkhunter, dan Binutils
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 dovecot-lmtpd sudo
Jika Anda lebih memilih MySQL daripada MariaDB, ganti paket "mariadb-client mariadb-server" pada perintah di atas dengan "mysql-client mysql-server".
Anda akan ditanya pertanyaan berikut:
Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com
Kata sandi baru untuk pengguna "root" MariaDB:<-- yourrootsqlpassword
Ulangi sandi untuk pengguna "root" MariaDB: <-- yourrootsqlpassword
Untuk mengamankan instalasi MariaDB / MySQL dan untuk menonaktifkan database pengujian, jalankan perintah ini:
mysql_secure_installation
Kami tidak perlu mengubah kata sandi root MySQL karena kami baru saja menetapkan yang baru selama instalasi. Jawablah pertanyaan sebagai berikut:
Ubah kata sandi root? [Y/n] <-- t
Hapus pengguna anonim? [Y/n] <-- y
Larang login root dari jarak jauh? [Y/n] <-- y
Hapus database pengujian dan akses ke sana? [Y/n] <-- y
Muat ulang tabel hak istimewa sekarang? [Y/n] <-- y
Selanjutnya, buka TLS/SSL dan port pengiriman di Postfix:
nano /etc/postfix/master.cf
Batalkan komentar pada bagian kiriman dan smtps sebagai berikut dan tambahkan baris jika perlu sehingga bagian file master.cf ini terlihat persis seperti di bawah ini.
[...]pengajuan inet n - - - - smtpd
-o syslog_name=postfix/pengajuan
-o smtpd_tls_security_level=enkripsi
-o smtpd_sasl_auth_enable=ya
- o smtpd_client_restrictions =permit_sasl_authenticated, tolak
# -o smtpd_reject_unlisted_reciPient =no
# -o smtpd_client_restrictions =$perpikon_cestrictions
; br /># -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - -=_ - - -o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o recipt =$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_r estrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,tolak
# -o milter_macro_daemon_name=ORIGINATING[...]Mulai ulang Postfix setelahnya:
layanan postfix dimulai ulangKami ingin MariaDB 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 adalah mendengarkan hanya di# localhost yang lebih kompatibel dan tidak kurang aman.#bind-address =127.0.0.1[...]Kemudian kita restart MySQL:
layanan mysql restartSekarang periksa apakah jaringan diaktifkan. Jalankan
netstat -ketuk | grep mysqlOutputnya akan terlihat seperti ini:
[dilindungi email]:/# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* DENGARKAN 16806/mysqld
9 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 postgreyPenyiapan ISPConfig 3 menggunakan amavisd yang memuat pustaka filter SpamAssassin secara internal, jadi kami dapat menghentikan SpamAssassin untuk mengosongkan sebagian RAM:
layanan penghentian spamassassin
systemctl nonaktifkan spamassassin
9.1 Instal Server Metronom XMPP (opsional)
Langkah ini menginstal Metronome XMPP Server yang menyediakan server chat yang kompatibel dengan protokol XMPP. Langkah ini opsional, jika Anda tidak memerlukan server obrolan, maka Anda dapat melewati langkah ini. Tidak ada fungsi ISPConfig lain yang bergantung pada perangkat lunak ini.
Tambahkan repositori paket Prosody di Debian.
echo "deb http://packages.prosody.im/debian jessie main"> /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/ prosody-debian-packages.key -O - | sudo apt-key add -Perbarui daftar paket:
apt-get updatedan instal paket dengan apt.
apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocksluarocks install lpcTambahkan pengguna shell untuk Metronom.
adduser --no-create-home --disabled-login --gecos metronom 'Metronome'Unduh Metronom ke direktori /opt dan kompilasi.
cd /opt; git clone https://github.com/maranda/metronome.git metronom
cd ./metronom; ./configure --ostype=debian --prefix=/usr
make
make installMetronom sekarang telah diinstal ke /opt/metronom.
10 Instal Apache2, PHP, FCGI, suExec, Pear, phpMyAdmin, dan mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, dan mcrypt dapat diinstal sebagai berikut:
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert 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 libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-psrecode php5-pspell php -sqlite php5-tidy php5-xmlrpc php5-xsl memcached libapache2-mod-passengerAnda akan melihat pertanyaan berikut:
Server web untuk mengkonfigurasi ulang secara otomatis: <- apache2
Konfigurasikan database untuk phpmyadmin dengan dbconfig-common? <- ya
Masukkan kata sandi pengguna administratif? <- yourrootmysqlpassword
Masukkan password aplikasi phpmyadmin? <- Cukup tekan enterKemudian 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 rewrite ssl actions termasuk dav_fs dav auth_digest cgi headersUntuk memastikan bahwa server tidak dapat diserang melalui kerentanan HTTPOXY, kami akan menonaktifkan header HTTP_PROXY di Apache secara global dengan menambahkan file konfigurasi /etc/apache2/conf-available/httpoxy.conf.
sudo nano /etc/apache2/conf-available/httpoxy.confTempel konten berikut ke file:
RequestHeader menghapus Proxy lebih awal Dan aktifkan modul dengan menjalankan:
a2enconf httpoxy
layanan apache2 restart
10.1 Instal HHVM (Mesin Virtual HipHop)
Pada langkah ini kita akan menginstal HHVM dari repositori resmi Debian. Tambahkan repo HHVM dan impor kuncinya.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.listPerbarui daftar paket:
sudo apt-get updatedan instal HHVM:
sudo apt-get install hhvm
10.2 Instal SuPHP (opsional, tetapi tidak disarankan)
CATATAN DIPERBARUI:SuPHP tidak boleh diinstal lagi, lanjutkan ke langkah 11
SuPHP tidak tersedia lagi untuk Debian Jessie. Mode suphp tidak boleh digunakan lagi di ISPConfig karena tersedia mode PHP yang lebih baik seperti php-fpm dan php-fcgi. Jika Anda benar-benar membutuhkan suphp karena alasan lama, ikuti langkah-langkah dalam bab ini untuk mengompilasinya secara manual. Namun kami tidak menyarankan pemasangannya.
apt-get install apache2-dev build-essential autoconf automake libtool flex bison debhelper binutilscd /usr/local/src
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz
wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2cd suphp-0.7.2
autoreconf -if
./configure --prefix=/usr/ --sysconfdir=/etc/suphp/ --with-apr=/usr/bin /apr-1-config --with-Apache-user=www-data --with-setid-mode=owner --with-logfile=/var/log/suphp/suphp.log
make
lakukan pemasanganBuat direktori konfigurasi suphp dan file suphp.conf:
mkdir /var/log/suphp
mkdir /etc/suphp
nano /etc/suphp/suphp.conf[global]
;Jalur ke file log
logfile=/var/log/suphp/suphp.log
;Loglevel
loglevel=info
;Pengguna Apache berjalan sebagai
webserver_user=www-data
;Jalur semua skrip harus berada di
docroot=/var/www
;Jalur ke chroot() ke sebelum menjalankan skrip
;chroot=/mychroot
; Opsi keamanan
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Periksa apakah skrip ada di dalam DOCUMENT_ROOT
check_vhost_docroot =true
;Kirim pesan kesalahan kecil ke browser
errors_to_browser=false
;Variabel lingkungan PATH
env_path=/bin:/usr/bin
;Umask untuk mengatur, tentukan dalam notasi oktal
umask=0022
; UID minimum
min_uid=100
; GID minimum
min_gid=100
[penangan]
;Penangan untuk skrip php
x-httpd-suphp="php:/usr/ bin/php-cgi"
;Penangan untuk skrip CGI
x-suphp-cgi=execute:!self
umask=0022Selanjutnya kita akan menambahkan file konfigurasi untuk memuat modul suphp di apache:
echo "LoadModule suphp_module /usr/lib/Apache2/modules/mod_suphp.so"> /etc/apache2/mods-available/suphp.loadDan kemudian buka /etc/Apache2/mods-available/suphp.conf...
nano /etc/apache2/mods-available/suphp.conf... dan tambahkan konten berikut:
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp suPHP_Engine on # Secara default, nonaktifkan suPHP untuk aplikasi web paket debian sebagai 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 Aktifkan modul suphp di Apache:
a2enmod suphpMulai ulang Apache setelahnya:
layanan apache2 restart
11 Instal Let's Encrypt
ISPConfig 3.1 memiliki dukungan untuk otoritas Sertifikat SSL gratis Let's encrypt. Fungsi Let's Encrypt memungkinkan Anda membuat sertifikat SSL gratis untuk situs web Anda dari dalam ISPConfig.
Sekarang kami akan menambahkan dukungan untuk Let's encrypt.
mkdir /opt/certbot
cd /opt/certbot
wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-autoSekarang jalankan perintah certboot-auto yang akan mengunduh dan menginstal perangkat lunak dan dependensinya.
./certbot-autoPerintah kemudian akan memberi tahu Anda bahwa "tidak ada nama yang ditemukan di file konfigurasi Anda" dan menanyakan apakah itu akan dilanjutkan, silakan pilih "tidak" di sini karena sertifikat akan dibuat oleh ISPConfig.
12 Instal PHP-FPM dan 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.
12.1 PHP-FPM (disarankan)
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-fpmPastikan Anda mengaktifkan modul dan memulai ulang Apache:
a2enmod actions fastcgi alias
service apache2 restart
12.2 Instal XCache
XCache dapat diinstal sebagai berikut:
apt-get install php5-xcacheSekarang restart Apache:
layanan apache2 restart
13 Instal Mailman
ISPConfig memungkinkan Anda untuk mengelola (membuat/memodifikasi/menghapus) milis Mailman. Jika Anda ingin menggunakan fitur ini, instal Mailman sebagai berikut:
apt-get install mailmanPilih setidaknya satu bahasa, mis.:
Bahasa yang didukung: <-- en (Bahasa Inggris)
Daftar situs tidak ada <-- OkeSebelum 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 pengirim awal: <-- sandi admin untuk daftar pengirim surat
Untuk menyelesaikan pembuatan milis, Anda harus mengedit file /etc/alias (atau
setara) dengan menambahkan baris berikut, dan mungkin menjalankan program
`newaliases':
## mailman milis
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- pergi: "|/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 mailman"
mailman-unsu bscribe: "|/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 konfirmasi 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-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:
newaliasdan mulai ulang Postfix:
layanan postfix dimulai ulangTerakhir, kita harus mengaktifkan konfigurasi Mailman Apache:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-enabled/mailman.confIni mendefinisikan alias /cgi-bin/mailman/ untuk semua vhost Apache, yang berarti Anda dapat mengakses antarmuka admin Mailman untuk daftar di http://server1.example.com/cgi-bin/mailman/admin/, dan halaman web untuk pengguna milis dapat ditemukan di http://server1.example.com/cgi-bin/mailman/listinfo/.
Di bawah http://server1.example.com/pipermail Anda dapat menemukan arsip milis.
Mulai ulang Apache setelahnya:
layanan apache2 restartKemudian jalankan daemon Mailman:
layanan mailman dimulai
14 Instal PureFTPd dan Kuota
PureFTPd dan kuota dapat diinstal dengan perintah berikut:
apt-get install pure-ftpd-common pure-ftpd-mysql quotatooltoolEdit 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=true[...]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/TLSUntuk 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.pemNama Negara (kode 2 huruf) [AU]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Masukkan Nama Negara Bagian atau Provinsi Anda.
Nama Lokalitas (misalnya, kota) []:<-- Masukkan Kota Anda.
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan Nama Organisasi Anda (misalnya, nama perusahaan Anda).
Nama Unit Organisasi (misalnya, bagian) []:<-- Masukkan Nama Unit Organisasi Anda (misalnya, "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.pemKemudian restart PureFTPd:
service pure-ftpd-mysql restartSunting /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).
#
#
# / berada di /dev/sda1 selama instalasi
UUID=3dc3b58d-97e5-497b-8254-a913fdfc5408 / ext4 error=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# swap aktif /dev /sda5 selama instalasi
UUID=36bf486e-8f76-492d-89af-5a8eb3ce8a02 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0Untuk mengaktifkan kuota, jalankan perintah berikut:
mount -o remount /quotacheck -avugm
quotaon -avug
15 Instal Server DNS BIND
BIND dapat diinstal sebagai berikut:
apt-get install bind9 dnsutilsJika server Anda adalah mesin virtual, maka sangat disarankan untuk menginstal daemon yang telah dimiliki untuk mendapatkan entropi yang lebih tinggi untuk penandatanganan DNSSEC. Anda dapat menginstal hasged di server non virtual juga, tidak ada salahnya.
apt-get install hagedPenjelasan tentang topik tersebut dapat ditemukan di sini.
16 Instal Webalizer dan AWStats
Webalizer dan AWStats dapat diinstal sebagai berikut:
apt-get install webalizer awstats geoip-database libclass-dbi-mysql-perl libtimedate-perlBuka /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# Menghasilkan statis laporan:#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh
17 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 automake libtool flex bison debhelper binutilscd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit- 2.19
./debian/rules binerAnda sekarang dapat menginstal paket Jailkit .deb sebagai berikut:
cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*
18 Instal fail2ban dan Firewall UFW
Ini opsional tetapi disarankan, karena monitor ISPConfig mencoba menampilkan log:
apt-get install fail2banUntuk 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 =3Kemudian 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 = Kemudian, untuk menambahkan baris abaikanregex di file filter postfix-sasl, jalankan:
echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.confMulai ulang fail2ban setelahnya:
layanan fail2ban restartUntuk menginstal firewall UFW, jalankan perintah apt ini:
apt-get install ufw
19 Instal RoundCube
Roundcube tidak tersedia di repositori utama Debian 8, tetapi kita bisa mendapatkannya melalui backport.
Tambahkan repositori Backports ke file /etc/apt/sources.list:
echo "deb http://ftp.debian.org/debian jessie-backports main">> /etc/apt/sources.listdan jalankan apt-get update.
apt-get updateKemudian instal RoundCube dengan perintah ini:
apt-get install roundcube roundcube-core roundcube-mysql roundcube-pluginsPemasang akan menanyakan pertanyaan berikut:
Konfigurasi database untuk roundcube dengan dbconfig.common? <-- yes
Pilih tipe database:<-- mysql
Password user administrator database:<-- masukkan password root MySQL disini.
Password aplikasi MySQL untuk roundcube:<- - tekan enterKemudian edit file RoundCube /etc/roundcube/config.inc.php dan sesuaikan beberapa setelan:
nano /etc/roundcube/config.inc.phpSetel default_host dan smtp_server ke localhost.
$config['default_host'] ='localhost';
$config['smtp_server'] ='localhost';Kemudian edit file konfigurasi Apache roundcube /etc/apache2/conf-enabled/roundcube.conf:
nano /etc/apache2/conf-enabled/roundcube.confDan tambahkan baris alias untuk alias apache /webmail, Anda dapat menambahkan baris tepat di awal file. CATATAN:Jangan gunakan /mail sebagai alias atau modul email ispconfig akan berhenti bekerja!
Alias /webmail /var/lib/roundcubeKemudian muat ulang Apache:
layanan apache2 reloadSekarang Anda dapat mengakses RoundCube sebagai berikut:
http://192.168.1.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (setelah Anda menginstal ISPConfig, lihat bab selanjutnya)
20 Unduh ISPConfig 3
20.1 Unduh rilis stabil (disarankan)
Untuk menginstal ISPConfig 3 dari versi rilis terbaru, lakukan ini:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/20.2 Unduh versi beta dari rilis 3.1 (disarankan hanya untuk penyiapan pengujian!)
Sampai hari ini (12 April 2016), final ISPConfig 3.1 belum tersedia untuk diunduh. Jika Anda ingin mencoba pra-rilis versi 3.1 mendatang, unduh dengan perintah ini:
cd /tmp
wget -O ISPConfig-3.1-beta.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ISPConfig-3.1-beta.tar.gz
cd ispconfig3-stable-3.1*
cd install
21 Instal ISPConfig
Langkah selanjutnya adalah menjalankan penginstal ISPConfig.
php -q install.phpIni akan memulai penginstal ISPConfig 3. Pemasang akan mengonfigurasi semua layanan seperti Postfix, Dovecot, dll. untuk Anda. Penyiapan manual seperti yang diperlukan untuk ISPConfig 2 (panduan penyiapan sempurna) tidak diperlukan.
CATATAN:Jangan khawatir bahwa penginstal ISPConfig 3 mengidentifikasi Debian Jessie sebagai versi yang tidak dikenal. Ini tidak mengganggu fungsi apa pun dan akan diperbaiki dengan pembaruan ISPConfig berikutnya.
# php -q install.php
------------------------------------------- -------------------------------------
_____ _________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | _\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
-------------------------------------- -------------------------------------------- Pre>
>> Konfigurasi awalSistem Operasi:Debian 8.0 (Jessie) atau kompatibelFollowing 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]:<-- Hit EnterInstallation mode (standard,expert) [standard]: <-- Hit EnterFull qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.canomi.com]: <-- Hit EnterMySQL server hostname [localhost]: <-- Hit EnterMySQL server port [3306]: <-- Hit EnterMySQL root username [root]: <-- Hit EnterMySQL root password []: <-- Enter your MySQL root passwordMySQL database to create [dbispconfig]: <-- Hit EnterMySQL charset [utf8]: <-- Hit EnterConfiguring Postgrey
Configuring Postfix
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 2 letter country code
State or Province Name (full name) [Some-State]:<-- Enter the name of the state
Locality Name (eg, city) []:<-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) []:<-- Enter the server hostname, in my case:server1.example.com
Email Address []: <-- Hit Enter
Configuring Mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring BIND
Configuring Jailkit
Configuring Pureftpd
Configuring Apache
Configuring vlogger
Configuring Metronome XMPP Server
writing new private key to 'localhost.key'
-----
Country Name (2 letter code) [AU]: <-- Enter 2 letter country code
Locality Name (eg, city) []: <-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) [server1.canomi.com]: <-- Enter the server hostname, in my case:server1.example.com
Email Address []: <-- Hit EnterConfiguring Ubuntu Firewall
Configuring Fail2ban
[INFO] service OpenVZ not detected
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]:Admin password [admin]:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- Hit EnterGenerating 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 2 letter country code
State or Province Name (full name) [Some-State]: <-- Enter the name of the state
Locality Name (eg, city) []: <-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) []: <-- Enter the server hostname, in my case:server1.example.com
Email Address []: <-- Hit EnterPlease enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Hit Enter
An optional company name []: <-- Hit Enter
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.The installer automatically configures all underlying services, so no manual configuration is needed.
Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.1.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.
21.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.
22 Additional Notes
22.1 OpenVZ
If the Debian 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
23 Links
- Debian:http://www.debian.org/
- ISPConfig:http://www.ispconfig.org/
Cara Menghemat Lalu Lintas Dengan nginxs HttpGzipModule di Debian Jessie Server Sempurna - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)Debian