GNU/Linux >> Belajar Linux >  >> Ubuntu

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

Saya tidak memerlukan direktori pribadi terenkripsi, jadi saya memilih Tidak di sini:

Harap periksa apakah penginstal mendeteksi zona waktu Anda dengan benar. Jika ya, pilih Ya, jika tidak Tidak:

Sekarang Anda harus mempartisi hard disk Anda. Demi kesederhanaan saya memilih Dipandu - gunakan seluruh disk dan atur LVM - ini akan membuat satu grup volume dengan dua volume logis, satu untuk sistem file / dan satu lagi untuk swap (tentu saja, partisi sepenuhnya terserah Anda - jika Anda tahu apa yang Anda lakukan, Anda juga dapat mengatur partisi Anda secara manual).

Pilih disk yang ingin Anda partisi:

Saat Anda diminta Tulis perubahan ke disk dan konfigurasikan LVM?, pilih Ya:

Jika Anda telah memilih Dipandu - gunakan seluruh disk dan atur LVM, pembuat partisi akan membuat satu grup volume besar yang menggunakan semua ruang disk. Anda sekarang dapat menentukan berapa banyak ruang disk yang harus digunakan oleh volume logis untuk / dan swap. Masuk akal untuk meninggalkan beberapa ruang yang tidak terpakai sehingga nanti Anda dapat memperluas volume logis yang ada atau membuat yang baru - ini memberi Anda lebih banyak fleksibilitas.

Setelah selesai, tekan Ya saat Anda diminta Tulis perubahan ke disk?:

Setelah itu, partisi baru Anda sedang dibuat dan diformat.

Sekarang sistem dasar sedang diinstal:

Selanjutnya manajer paket apt akan dikonfigurasi. Biarkan baris proxy HTTP kosong kecuali Anda menggunakan server proxy untuk menyambung ke Internet:

Saya sedikit kuno dan suka memperbarui server saya secara manual untuk memiliki lebih banyak kontrol, oleh karena itu saya memilih Tidak ada pembaruan otomatis. Tentu saja, terserah Anda apa yang Anda pilih di sini:

Kami membutuhkan DNS, mail, dan server LAMP, namun saya tidak memilih salah satu dari mereka sekarang karena saya ingin memiliki kontrol penuh atas apa yang diinstal pada sistem saya. Kami akan menginstal paket-paket yang dibutuhkan secara manual nanti. Satu-satunya item yang saya pilih di sini adalah server OpenSSH sehingga saya dapat langsung terhubung ke sistem dengan klien SSH seperti Putty setelah instalasi selesai:

Instalasi berlanjut:

Pemuat boot GRUB diinstal:

Pilih Ya ketika Anda ditanya Instal boot loader GRUB ke master boot record?:

Instalasi sistem dasar sekarang selesai. Keluarkan CD instalasi dari drive CD dan tekan Continue untuk mem-boot ulang sistem:

Ke langkah berikutnya...

4 Dapatkan Root Privileges

Setelah reboot, Anda dapat login dengan nama pengguna yang Anda buat sebelumnya (mis. administrator). Karena kita harus menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik

sudo su

(Anda juga dapat mengaktifkan login root dengan menjalankan

sudo passwd root

dan memberikan root kata sandi. Anda kemudian dapat langsung masuk sebagai root, tetapi ini tidak disukai oleh pengembang dan komunitas Ubuntu karena berbagai alasan. Lihat http://ubuntuforums.org/showthread.php?t=765414.)

5 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 Ubuntu 12.10 Anda dan ikuti langkah selanjutnya dari tutorial ini.

6 Instal vim-nox (Opsional)

Saya akan menggunakan vi sebagai editor teks saya dalam tutorial ini. Program vi default memiliki beberapa perilaku aneh di Ubuntu dan Debian; untuk mengatasinya, kita install vim-nox:

apt-get install vim-nox

(Anda tidak perlu melakukan ini jika menggunakan editor teks lain seperti joe atau nano.)

7 Konfigurasi Jaringan

Karena penginstal Ubuntu telah mengonfigurasi sistem kami untuk mendapatkan pengaturan jaringannya melalui DHCP, kami harus mengubahnya sekarang karena server harus memiliki alamat IP statis. Edit /etc/network/interfaces dan sesuaikan dengan kebutuhan Anda (dalam contoh pengaturan ini saya akan menggunakan alamat IP 192.168.0.100 dan server DNS 8.8.8.8 dan 8.8.4.4 - dimulai dengan Ubuntu 12.04, Anda tidak dapat mengedit /etc/resolv.conf secara langsung lagi, tetapi harus menentukan server nama Anda di konfigurasi jaringan Anda - lihat

man resolvconf

untuk lebih jelasnya):

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 utamaauto eth0iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns- server nama 8.8.8.8 8.8.4.4

Kemudian restart jaringan Anda:

/etc/init.d/networking restart

Kemudian edit /etc/hosts. Jadikan 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 restart

Setelah itu, jalankan

nama host
nama host -f

Keduanya harus menampilkan server1.example.com sekarang.

Jika Anda ingin menggunakan alamat IPv6 dengan nginx vhost Anda, lakukan hal berikut sebelum Anda membuat vhost IPv6 di ISPConfig:

Buka /etc/sysctl.conf...

vi /etc/sysctl.conf

... dan tambahkan baris net.ipv6.bindv6only =1:

[...]net.ipv6.bindv6only =1

Jalankan...

sysctl -p

... setelah itu agar perubahan diterapkan.

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

vi /etc/apt/sources.list
## deb cdrom:[Ubuntu-Server 12.10 _Quantal Quetzal_ - Rilis amd64 (20121017.2)]/ quantal main terbatas#deb cdrom:[Ubuntu-Server 12.10 _Quantal Quetzal_ - Rilis amd64 (20121017.2)]/ quantal main terbatas# Lihat http://help.ubuntu.com/community/UpgradeCatatan untuk cara meningkatkan ke# versi distribusi.deb http://de.archive yang lebih baru. ubuntu.com/ubuntu/ kuantal utama terbatasdeb-src http://de.archive.ubuntu.com/ubuntu/ kuantal utama terbatas## Pembaruan perbaikan bug utama yang dihasilkan setelah rilis final ## distribution.deb http:// de.archive.ubuntu.com/ubuntu/ quantal-updates main limiteddeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates main limited## 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/ quantal universedeb-src http://de.archive. ubuntu.com/ubuntu/ quantal universedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-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/ quantal multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ quantal multiversedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-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/ quantal-backports alam semesta terbatas utama multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-backports utama semesta terbatas multiversedeb http://security.ubuntu.com/ubuntu quantal-security main limiteddeb-src http://security.ubuntu.com/ubuntu quantal-security main limiteddeb http://security.ubuntu.com /ubuntu quantal-security universedeb-src http://security.ubuntu.com/ubuntu quantal-security universedeb http://security.ubuntu.com/ubuntu quantal-security multiversedeb-src http://security.ubuntu.com/ ubuntu quantal-security multiverse## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari bagian ## Canonical ner' repositori.## 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 quantal partner# deb- src http://archive.canonical.com/ubuntu quantal 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 quantal main# deb-src http://extras.ubuntu.com/ubuntu quantal 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

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

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

/etc/init.d/apparmor stop
update-rc.d -f apparmor hapus
apt-get hapus apparmor apparmor-utils

11 Menyinkronkan 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.

12 Instal Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Kita dapat menginstal Postfix, Dovecot, MySQL, 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 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
Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com

Selanjutnya buka TLS/SSL dan port pengiriman di Postfix:

vi /etc/postfix/master.cf

Batalkan komentar pada bagian kiriman dan smtps (biarkan -o milter_macro_daemon_name=ORIGINATING karena kami tidak membutuhkannya):

[...]submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes - o smtpd_client_restrictions =permit_sasl_authenticated, menolak # -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, menolak # -o milter_macro_daemon_name =BERASAL [ ...]

Mulai ulang Postfix setelahnya:

/etc/init.d/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:

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 kita 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     21298/mysqld
[email 

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

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

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

Nginx tersedia sebagai paket untuk Ubuntu yang dapat kita instal sebagai berikut:

apt-get install nginx

Jika Apache2 sudah terinstal di sistem, hentikan sekarang...

/etc/init.d/apache2 stop

... dan hapus tautan startup sistem Apache:

update-rc.d -f apache2 hapus

Mulai nginx setelahnya:

/etc/init.d/nginx start

(Jika Apache2 dan nginx terinstal, penginstal ISPConfig 3 akan menanyakan mana yang ingin Anda gunakan - jawab nginx dalam kasus ini. Jika hanya salah satu dari keduanya yang diinstal, ISPConfig akan melakukan konfigurasi yang diperlukan secara otomatis.)

Kita dapat membuat PHP5 bekerja di nginx melalui PHP-FPM (PHP-FPM (FastCGI Process Manager) adalah implementasi PHP FastCGI alternatif dengan beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk) yang kami 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 soket /var/run/php5-fpm.sock.

Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lainnya serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:

pencarian apt-cache php5

Pilih yang Anda butuhkan dan instal seperti ini:

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

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 muat ulang PHP-FPM:

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

Untuk mendapatkan dukungan CGI di nginx, kami menginstal Fcgiwrap.

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.

Instal paket fcgiwrap:

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 akan menangani konfigurasi vhost yang benar.

14.1 Versi PHP Tambahan

Dimulai dengan ISPConfig 3.0.5 yang akan datang, dimungkinkan untuk memiliki beberapa versi PHP pada satu server (dapat dipilih melalui ISPConfig) yang dapat dijalankan melalui FastCGI dan PHP-FPM. Versi PHP yang datang dengan Ubuntu 12.10 adalah 5.4.6, jadi saya akan menunjukkan sekarang bagaimana membangun PHP 5.3.18 sehingga dapat digunakan pada server yang sama saat PHP default Ubuntu diinstal. Saya akan menginstal PHP 5.3.18 di direktori /opt/php-5.3.18.

Unduh dan ekstrak PHP 5.3.18:

mkdir /opt/php-5.3.18
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http:/ /de.php.net/get/php-5.3.18.tar.bz2/from/this/mirror -O php-5.3.18.tar.bz2
tar jxf php-5.3.18.tar.bz2
cd php-5.3.18/

Instal prasyarat untuk membangun PHP5:

apt-get build-dep php5
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev

Konfigurasi build PHP 5.3.18 sebagai berikut (Anda dapat menyesuaikan perintah ./configure dengan kebutuhan Anda, lihat

./configure --help

untuk melihat semua opsi yang tersedia; jika Anda menggunakan perintah ./configure yang berbeda, ada kemungkinan perpustakaan tambahan diperlukan, atau proses pembangunan akan gagal):

./configure \
--prefix=/opt/php-5.3.18 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-fpm \
--enable-mbstring \
--with-libxml-dir=/usr \
- -enable-soap \
--enable-calendar \
--with-curl --with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with- zlib \
--enable-socket \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable- mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
-- with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=www-data \
--with-fpm-group=www- data \
--with-libdir=/lib/x86_64-linux-gnu
make
make install

Salin php.ini dan php-fpm.conf ke lokasi yang benar:

cp /usr/local/src/php5-build/php-5.3.18/php.ini-production /opt/php-5.3.18/lib/php.ini
cp /opt/php-5.3.18/etc/php-fpm.conf.default /opt/php-5.3.18/etc/php-fpm.conf

Buka /opt/php-5.3.18/etc/php-fpm.conf dan sesuaikan pengaturan berikut - di baris listen Anda harus menggunakan port yang tidak digunakan (mis. 8999; port 9000 mungkin sudah digunakan oleh PHP-FPM default Ubuntu ), dan Anda harus menambahkan baris include=/opt/php-5.3.18/etc/pool.d/*.conf di akhir:

vi /opt/php-5.3.18/etc/php-fpm.conf
[...]pid =run/php-fpm.pid[...]user =www-datagroup =www-data[.. .]listen =127.0.0.1:8999[...]include=/opt/php-5.3.18/etc/pool.d/*.conf

Buat direktori kumpulan untuk PHP-FPM:

mkdir /opt/php-5.3.18/etc/pool.d

Selanjutnya buat skrip init untuk PHP-FPM:

vi /etc/init.d/php-5.3.18-fpm
#! /bin/sh### BEGIN INFO INIT# Menyediakan:php-5.3.18-fpm# Required-Start:$all# Required-Stop:$all# Default-Start:2 3 4 5# Default-Stop:0 1 6# Deskripsi Singkat:memulai php-5.3.18-fpm# Deskripsi:memulai daemon Pengelola Proses FastCGI PHP### END INIT INFOphp_fpm_BIN=/opt/php-5.3.18/sbin/php-fpmphp_fpm_CONF=/opt/php -5.3.18/etc/php-fpm.confphp_fpm_PID=/opt/php-5.3.18/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF"wait_for_pid () { try=0 saat pengujian $coba -lt 35; lakukan case "$1" di 'created') if [ -f "$2" ]; lalu coba='' break fi;; 'dihapus') jika [ ! -f "$2" ]; lalu coba='' break fi;; esac echo -n . try=`expr $try + 1` sleep 1 done}case "$1" di awal) echo -n "Memulai php-fpm " $php_fpm_BIN $php_opts if [ "$?" !=0 ]; lalu echo "gagal" exit 1 fi wait_for_pid dibuat $php_fpm_PID if [ -n "$try" ]; lalu echo "gagal" exit 1 else echo "selesai" fi;; stop) echo -n "Dengan anggun mematikan php-fpm " if [ ! -r $php_fpm_PID ]; lalu echo "peringatan, tidak ada file pid yang ditemukan - php-fpm tidak berjalan?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid dihapus $php_fpm_PID if [ -n "$try" ]; lalu echo " gagal. Gunakan force-exit" exit 1 else echo " selesai" echo " selesai" fi;; force-quit) echo -n "Mengakhiri php-fpm " jika [ ! -r $php_fpm_PID ]; lalu echo "peringatan, tidak ada file pid yang ditemukan - php-fpm tidak berjalan?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid dihapus $php_fpm_PID if [ -n "$try" ]; lalu echo "gagal" exit 1 else echo "selesai" fi;; restart) $0 stop $0 start;; reload) echo -n "Muat ulang layanan php-fpm " jika [ ! -r $php_fpm_PID ]; lalu echo "peringatan, tidak ada file pid yang ditemukan - php-fpm tidak berjalan?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done";; *) echo "Penggunaan:$0 {start|stop|force-quit|restart|reload}" exit 1;;esac

Jadikan skrip init dapat dieksekusi dan buat tautan startup sistem:

chmod 755 /etc/init.d/php-5.3.18-fpm
insserv php-5.3.18-fpm

Akhirnya mulai PHP-FPM:

/etc/init.d/php-5.3.18-fpm start

Di ISPConfig 3.0.5, Anda dapat mengonfigurasi versi PHP baru di bawah Sistem> Versi PHP Tambahan. Pada tab Nama, Anda cukup mengisi nama untuk versi PHP (misalnya PHP 5.3.18) - versi PHP ini akan terdaftar di bawah nama ini di pengaturan situs web di ISPConfig:

Jika Anda ingin menggunakan versi PHP ini dengan FastCGI, buka tab FastCGI Settings (tab Pengaturan PHP-FPM dapat dikosongkan) dan isi kolom sebagai berikut:

Jika Anda ingin menggunakan versi PHP ini dengan PHP-FPM, buka tab Pengaturan PHP-FPM (tab Pengaturan FastCGI dapat dikosongkan) dan isi kolom sebagai berikut:

14.2 Instal phpMyAdmin

Instal phpMyAdmin sebagai berikut:

apt-get install phpmyadmin

Anda akan melihat pertanyaan berikut:

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

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

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

Aplikasi ISPConfig 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 /phpmyadmin atau /phpMyAdmin alias yang dapat Anda gunakan dari situs web Anda, ini sedikit lebih rumit daripada untuk Apache karena nginx tidak memiliki alias global (yaitu, alias yang dapat ditentukan untuk semua vhost). Oleh karena itu, Anda harus mendefinisikan alias ini untuk setiap vhost tempat Anda ingin mengakses phpMyAdmin.

Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:

 lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; 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 di; 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 unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS aktif; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; 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 http dan https untuk vhost, Anda perlu menambahkan bagian berikut ke bagian http {} di /etc/nginx/nginx.conf (sebelum baris penyertaan apa pun) yang menentukan apakah pengunjung menggunakan http atau https dan menyetel variabel $fastcgi_https (yang akan kita gunakan dalam konfigurasi phpMyAdmin kita) sesuai dengan itu:

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

Lalu 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 unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $fastcgi_https; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; 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; }

15 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. [dilindungi email]
Kata 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-un berlangganan:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

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

[email protected] :~#

Buka /etc/aliases setelahnya...

vi /etc/aliases

... dan tambahkan baris berikut:

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

newalias

setelah itu dan mulai ulang Postfix:

/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 Anda, ini sedikit lebih rumit daripada Apache karena nginx tidak memiliki alias global (yaitu, alias yang dapat ditentukan untuk semua vhost). Oleh karena itu, Anda harus mendefinisikan alias ini untuk setiap vhost tempat Anda ingin mengakses Mailman.

Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:

 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.

16 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

... and make sure that the start mode is set to standalone and set VIRTUALCHROOT=true:

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

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

If you want to allow FTP and TLS sessions, run

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

In order to use TLS, we must create an SSL certificate. I create it in /etc/ssl/private/, therefore I create that directory first:

mkdir -p /etc/ssl/private/

Afterwards, we can generate the SSL certificate as follows:

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.

Change the permissions of the SSL certificate:

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

Then restart PureFTPd:

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

Edit /etc/fstab. Mine looks like this (I added ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 to the partition with the mount point /):

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 nodev,noexec,nosuid 0 0/dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot was on /dev/sda1 during installationUUID=4b58d345-1c55-4ac5-940e-7245938656a6 /boot ext2 defaults 0 2/dev/mapper/server1-swap_1 none swap sw 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

To enable quota, run these commands:

mount -o remount /
quotacheck -avugm
quotaon -avug

17 Install BIND DNS Server

BIND can be installed as follows:

apt-get install bind9 dnsutils

18 Install Vlogger, Webalizer, And AWstats

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

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

Open /etc/cron.d/awstats afterwards...

vi /etc/cron.d/awstats

... and comment out everything in that file:

#MAILTO=root#*/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

19 Install Jailkit

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

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

You can now install the Jailkit .deb package as follows:

cd ..
dpkg -i jailkit_2.15-1_*.deb
rm -rf jailkit-2.15*

20 Install fail2ban

This is optional but recommended, because the ISPConfig monitor tries to show the log:

apt-get install fail2ban

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

vi /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

Then create the following two filter files:

vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd:\(.*@\) \[WARNING\] Authentication failed for user.*ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition]failregex =(?:pop3-login|imap-login):.*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.*ignoreregex =

Restart fail2ban afterwards:

/etc/init.d/fail2ban restart

21 Install SquirrelMail

To install the SquirrelMail webmail client, run

apt-get install squirrelmail

Then 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 enter to continue... <-- ENTER


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

You can now 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 have global aliases (i.e., aliases that can be defined for all vhosts). Therefore you have to define these 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/; indeks index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } 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/; indeks index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS on; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } 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 need to add the following section to the http {} section in /etc/nginx/nginx.conf (before any include lines) which determines if the visitor uses http or https and sets the $fastcgi_https variable (which we will use in our SquirrelMail configuration) accordingly:

vi /etc/nginx/nginx.conf
[...]http {[...] ## Detect when HTTPS is used map $scheme $fastcgi_https { default off; https on; }[...]}[...]

Don't forget to reload nginx afterwards:

/etc/init.d/nginx reload

Then 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/; indeks index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $fastcgi_https; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; }

22 Install ISPConfig 3

Before you start the ISPConfig installation, make sure that Apache is stopped (if it is installed - it is possible that some of your installed packages have installed Apache as a dependency without you knowing). If Apache2 is already installed on the system, stop it now...

/etc/init.d/apache2 stop

... and remove Apache's system startup links:

update-rc.d -f apache2 remove

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, SASL, Courier, 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
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0


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


>> 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 (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTE R
Configuring Jailkit
Configuring Dovecot
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 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 2524
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
   ...done.
 * Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfi x/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
   ...done.
Stopping amavisd: (not running).
The amavisd daemon is already running, PID: [1108]
Starting amavisd: (failed).
 * 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 3641
 * Restarting Mailman master qrunner mailmanctl
 * Waiting...
   ...done.
   ...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 -E -H -Y 1 -O clf:/var/log/pure-ftpd/transfer.log -8 UTF-8 -b -D -A -u 1000 -B
Installation completed.
You have new 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]:.

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.

22.1 ISPConfig 3 Manual

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.

22.2 ISPConfig Monitor App For 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 Monitor ISPConfig adalah 3.0.3.3! ); detail ini mencakup semua yang Anda ketahui dari modul Monitor di Panel Kontrol ISPConfig (mis. 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/.

23 Additional Notes

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

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

About The Author

Falko Timme is the owner of Timme Hosting (ultra-fast nginx web hosting). He is the lead maintainer of HowtoForge (since 2005) and one of the core developers of ISPConfig (since 2000). He has also contributed to the O'Reilly book "Linux System Administration".


Ubuntu
  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.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)

  1. Server Sempurna - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot dan ISPConfig 3)

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

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

  1. Server Sempurna - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3)

  2. Server Sempurna - Ubuntu 12.04 LTS (nginx, BIND, Dovecot, ISPConfig 3)

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