Server Sempurna - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3)
Tutorial ini menunjukkan bagaimana mempersiapkan OpenSUSE 12.2 64bit (x86_64) server dengan nginx untuk instalasi ISPConfig 3, dan cara menginstal ISPConfig 3. Sejak versi 3.0.4, ISPConfig hadir dengan dukungan penuh untuk server web nginx selain Apache, dan tutorial ini mencakup pengaturan server yang menggunakan nginx bukannya Apache. ISPConfig 3 adalah panel kontrol webhosting yang memungkinkan Anda untuk mengonfigurasi layanan berikut melalui browser web:server web nginx dan Apache, server email Postfix, MySQL, Dovecot POP3/IMAP, server nama BIND atau MyDNS, PureFTPd, SpamAssassin, ClamAV, dan banyak lagi lagi.
Jika Anda ingin menggunakan nginx sebagai ganti Apache dengan ISPConfig, harap perhatikan bahwa versi nginx Anda setidaknya harus 0.8.21, dan Anda juga harus menginstal PHP-FPM. Untuk dukungan CGI/Perl, Anda harus menggunakan fcgiwrap. Ini semua tercakup oleh tutorial ini.
Saya akan menggunakan perangkat lunak berikut:
- Server Web:nginx dengan PHP 5
- Server Basis Data:MySQL
- Server Email:Postfix dengan pengguna virtual
- Server DNS:BIND
- Server FTP:pureftpd
- POP3/IMAP:Dovecot
- Webalizer dan AWStats untuk statistik situs web
Pada akhirnya Anda harus memiliki sistem yang bekerja dengan andal dan mudah dikelola dengan panel kontrol ISPConfig 3. Panduan berikut adalah untuk OpenSUSE versi 64bit.
Saya ingin mengatakan terlebih dahulu bahwa ini bukan satu-satunya cara untuk mengatur sistem seperti itu. Ada banyak cara untuk mencapai tujuan ini tetapi ini adalah cara yang saya ambil. Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
Pemberitahuan:Panduan ini untuk ISPConfig 3.0.4 atau yang lebih baru. Ini tidak cocok untuk ISPConfig 2.x!
Panduan ISPConfig 3
Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.
Pada sekitar 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien), menjelaskan cara menginstal dan memperbarui ISPConfig 3, menyertakan referensi untuk semua formulir dan bidang formulir di ISPConfig bersama dengan contoh input yang valid, dan memberikan tutorial untuk tugas paling umum di ISPConfig 3. Ini juga menjelaskan cara membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah di bagian akhir.
Aplikasi Monitor ISPConfig Untuk Android
Dengan Aplikasi Monitor ISPConfig, Anda dapat memeriksa status server Anda dan mengetahui apakah semua layanan berjalan seperti yang diharapkan. Anda dapat memeriksa port TCP dan UDP dan melakukan ping ke server Anda. Selain itu, Anda dapat menggunakan aplikasi ini untuk meminta detail dari server yang telah menginstal ISPConfig (harap diperhatikan bahwa versi ISPConfig 3 yang diinstal minimum dengan dukungan untuk Aplikasi ISPConfig Monitor adalah 3.0.3.3! ); detail ini mencakup semua yang Anda ketahui dari modul Monitor di ISPConfig Control Panel (misalnya layanan, log email dan sistem, antrian email, info CPU dan memori, penggunaan disk, kuota, detail OS, log RKHunter, dll.), dan tentu saja , karena ISPConfig berkemampuan multiserver, Anda dapat memeriksa semua server yang dikendalikan dari server master ISPConfig Anda.
Untuk mengunduh dan petunjuk penggunaan, silakan kunjungi http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
1 Persyaratan
Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut:
- DVD OpenSUSE 12.2 . Anda dapat mengunduhnya di sini:http://download.opensuse.org/distribution/12.2/iso/openSUSE-12.2-DVD-x86_64.iso
- Koneksi internet yang cepat...
2 Catatan Awal
Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100 dan gateway 192.168.0.1. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
3 Sistem Dasar
Boot dari DVD OpenSUSE 12.2 Anda dan pilih Instalasi:
Pilih bahasa Anda, tata letak keyboard, dan terima persyaratan lisensi:
Penginstal menganalisis perangkat keras Anda dan membuat cache repositori perangkat lunak:
Pilih Instalasi Baru:
Pilih wilayah dan zona waktu:
Kami memilih Lainnya> Pilihan Server Minimal (Mode Teks) di sini karena kami ingin menginstal server tanpa desktop X-Window. Sistem X-Window tidak diperlukan untuk menjalankan server dan akan memperlambat sistem. Kami akan melakukan semua tugas administrasi di shell atau melalui koneksi SSH, mis. melalui Putty dari desktop jarak jauh.
Klik Edit Partition Setup... untuk mengubah partisi yang diusulkan. Karena ini adalah pengaturan server, kita memerlukan partisi /srv yang besar daripada partisi /home:
Server Sempurna - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Halaman 2
4 Konfigurasi Pengaturan Jaringan
Kami menggunakan Yast, alat manajemen sistem OpenSuSE untuk mengkonfigurasi ulang pengaturan kartu jaringan. Setelah boot pertama, sistem dikonfigurasi untuk mendapatkan alamat IP dengan DHCP. Untuk server kami akan mengalihkannya ke alamat IP statis.
Jalankan
yast2
Pilih Perangkat Jaringan> Pengaturan Jaringan:
Pilih kartu jaringan Anda lalu Edit:
Pilih Alamat IP yang ditetapkan secara statis dan masukkan alamat IP, subnet mask dan nama host dan simpan perubahan dengan memilih Berikutnya:
Sekarang pilih Hostname/DNS dan masukkan nama host (mis. server1.example.com) dan server nama (mis. 8.8.8.8 dan 8.8.4.4):
Sekarang pilih Perutean dan masukkan gateway default dan tekan OK:
Untuk mengkonfigurasi firewall (jika Anda tidak mengonfigurasinya selama instalasi dasar), pilih Keamanan dan Pengguna> Firewall di Yast:
Saya ingin menginstal ISPConfig di akhir tutorial ini yang dilengkapi dengan firewallnya sendiri. Itu sebabnya saya menonaktifkan firewall OpenSUSE default sekarang. Tentu saja, Anda bebas untuk membiarkannya dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall OpenSUSE).
Pilih Disable Firewall Automatic Starting and Stop Firewall Now, lalu tekan Next:
Tekan Selesai dan tinggalkan Yast:
Setelah itu, Anda harus memeriksa dengan
ifconfig
jika konfigurasi jaringan Anda benar. Jika tidak (misalnya, jika eth0 tidak ada), reboot sistem...
reboot
... dan periksa konfigurasi jaringan Anda lagi setelahnya - sekarang seharusnya sudah benar.
5 Instal Pembaruan
Sekarang kami menginstal pembaruan terbaru dari repositori openSUSE. Jalankan
zypper update
Dan kemudian reboot server karena kemungkinan besar Anda juga menginstal beberapa pembaruan kernel:
reboot
6 Instal Beberapa Paket Dasar
Jalankan
zypper install findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo perl-TimeDate
7 Kuota Terjurnal
Untuk memasang kuota, jalankan
zypper install quota
Edit /etc/fstab agar terlihat seperti ini (saya menambahkan ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 ke mountpoints / dan /srv):
vi /etc/fstab
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap swap defaults 0 0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part2 / ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 /srv ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 |
Kemudian jalankan:
mount -o remount /
mount -o remount /srv
quotacheck -avugm
quotaon -avug
Jangan khawatir jika Anda melihat pesan kesalahan ini - ini normal saat Anda menjalankan quotacheck untuk pertama kalinya:
server1:~ # quotacheck -avugm
quotacheck:Pemindaian /dev/sda2 [/] selesai
quotacheck:Tidak dapat stat file kuota pengguna lama:Tidak ada file atau direktori seperti itu
quotacheck:Tidak dapat stat grup lama file kuota:Tidak ada file atau direktori seperti itu
pemeriksaan kuota:Tidak dapat stat file kuota pengguna lama:Tidak ada file atau direktori tersebut
cek kuota:Tidak dapat stat file kuota grup lama:Tidak ada file atau direktori tersebut
pemeriksaan kuota:Memeriksa 3872 direktori dan 32991 file
cek kuota:File lama tidak ditemukan.
cek kuota:File lama tidak ditemukan.
pemeriksaan kuota:Memindai /dev/sda3 [/srv] selesai
pemeriksaan kuota:Tidak dapat stat file kuota pengguna lama:Tidak ada file atau direktori tersebut
cek kuota:Tidak dapat stat file kuota grup lama:Tidak ada file atau direktori tersebut
pemeriksaan kuota:Tidak dapat stat file kuota pengguna lama:Tidak ada file atau direktori tersebut
quotacheck:Tidak dapat stat file kuota grup lama:Tidak ada file atau direktori tersebut
quotacheck:Memeriksa 6 direktori dan 0 file
quotacheck:File lama tidak ditemukan.
quotacheck:File lama tidak ditemukan.
ser ver1:~ #
Server Sempurna - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Halaman 4
8 Instal Postfix, Dovecot, MySQL
Jalankan
zypper install postfix postfix-mysql mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python
Jika Anda mendapatkan pesan berikut, silakan pilih untuk menghapus exim:
Masalah: postfix-2.8.11-2.6.1.x86_64 konflik dengan exim disediakan oleh exim-4.77-2.1.3.x86_64
Solusi 1: Tindakan berikut akan dilakukan:
jangan instal postfix-2.8 .11-2.6.1.x86_64
jangan instal postfix-mysql-2.8.11-2.6.1.x86_64
Solusi 2: deinstalasi exim-4.77-2.1.3.x86_64
Pilih dari solusi di atas dengan angka atau lewati, coba lagi atau batalkan [1/2/s/r/c] (c): <-- 2
Anda mungkin juga harus menghapus instalan pattern-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64:
Masalah: patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64 konflik dengan python disediakan oleh python-2.7.3-3.6.1.x86_64
Solusi 1: penghapusan patterns-openSUSE-minimal_base-conflicts- 12.2-5.5.1.x86_64
Solusi 2: jangan instal python-2.7.3-3.6.1.x86_64
Pilih dari solusi di atas berdasarkan angka atau lewati, coba lagi atau batalkan [1 /2/s/r/c] (c): <-- 1
Buat symlink berikut:
ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot
Pada titik ini saya harus mem-boot ulang karena jika tidak, MySQL menolak untuk memulai dengan kesalahan:
Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details.
reboot
Mulai MySQL, Postfix, dan Dovecot dan aktifkan layanan untuk dimulai saat boot.
systemctl aktifkan mysql.service
systemctl start mysql.service
systemctl aktifkan postfix.service
systemctl start postfix.service
systemctl aktifkan dovecot.service
systemctl start dovecot.service
Sekarang saya menginstal paket getmail:
zypper install getmail
Untuk mengamankan instalasi MySQL, jalankan:
mysql_secure_installation
Sekarang Anda akan ditanya beberapa pertanyaan:
server1:~ # mysql_secure_installation
CATATAN:MENJALANKAN SEMUA BAGIAN DARI SCRIPT INI DIREKOMENDASIKAN UNTUK SEMUA MySQL
SERVER IN PRODUKSI GUNAKAN! HARAP BACA SETIAP LANGKAH DENGAN SEKSAMA!
Untuk masuk ke MySQL guna mengamankannya, kami memerlukan kata sandi
saat ini untuk pengguna root. Jika Anda baru menginstal MySQL, dan
belum menyetel sandi root, sandi akan kosong,
jadi Anda cukup tekan enter di sini.
Enter sandi saat ini untuk root (masukkan untuk tidak ada):<-- ENTER
Oke, sandi berhasil digunakan, pindah...
Menyetel sandi root memastikan bahwa tidak ada yang dapat masuk ke MySQL
root pengguna tanpa otorisasi yang benar.
Tetapkan sandi root? [Y/n] <-- Y
Sandi baru: <-- yourrootsqlpassword
Masukkan kembali sandi baru: <-- yourrootsqlpassword
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa. .
... Berhasil!
Secara default, penginstalan MySQL memiliki pengguna anonim yang memungkinkan siapa saja
masuk ke MySQL tanpa harus memiliki akun pengguna dibuat untuk
mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat pemasangan
menjadi sedikit lebih lancar. Anda harus menghapusnya sebelum berpindah ke
lingkungan produksi.
Hapus pengguna anonim? [Y/n] <-- Y
... Berhasil!
Biasanya, root hanya diizinkan untuk terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.
Larang login root dari jarak jauh? [Y/n] <-- Y
... Berhasil!
Secara default, MySQL dilengkapi dengan database bernama 'test' yang dapat diakses oleh siapa saja
. Ini juga ditujukan hanya untuk pengujian, dan harus dihapus
sebelum dipindahkan ke lingkungan produksi.
Hapus database pengujian dan akses ke sana? [Y/n] <-- Y
- Menghapus basis data pengujian...
... Berhasil!
- Menghapus hak istimewa pada basis data pengujian...
... Berhasil !
Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan segera berlaku.
Muat ulang tabel hak istimewa sekarang? [Y/n] <-- Y
... Berhasil!
Membersihkan...
Selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan MySQL
Anda seharusnya kini aman.
Terima kasih telah menggunakan MySQL!
server1:~ #
Sekarang pengaturan MySQL Anda harus diamankan.
9 Amavisd-new, Spamassassin Dan Clamav
Instal antivirus Amavisd-new, Spamassassin dan Clamav. Jalankan
zypper install amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql
Buka /etc/amavisd.conf...
vi /etc/amavisd.conf
... dan tambahkan baris $myhostname dengan nama host Anda yang benar di bawah baris $mydomain:
[...] $mydomain = 'example.com'; # a convenient default for other settings $myhostname = "server1.$mydomain"; [...] |
Kemudian buat symlink dari /var/run/clamav/clamd ke /var/lib/clamav/clamd-socket:
mkdir -p /var/run/clamav
ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd
OpenSUSE 12.2 memiliki direktori /run untuk menyimpan data runtime. /run sekarang menjadi tmpfs, dan /var/run sekarang diikat ke /run dari tmpfs, dan karenanya dikosongkan saat reboot.
Artinya setelah reboot, direktori /var/run/clamav yang baru saja kita buat tidak akan ada lagi, dan oleh karena itu clamd akan gagal untuk memulai. Oleh karena itu kami membuat file /etc/tmpfiles.d/clamav.conf sekarang yang akan membuat direktori ini pada startup sistem (lihat http://0pointer.de/public/systemd-man/tmpfiles.d.html untuk lebih jelasnya):
vi /etc/tmpfiles.d/clamav.conf
D /var/run/clamav 0755 root root - |
Sebelum memulai amavisd dan clamd, kita harus mengedit skrip init /etc/init.d/amavis - Saya tidak dapat memulai, menghentikan, dan memulai ulang amavisd dengan skrip init default:
vi /etc/init.d/amavis
Komentari baris berikut di bagian awal dan akhir:
[...] start) # ZMI 20100428 check for stale pid file #if test -f $AMAVIS_PID ; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1 ; then # # pid file is stale, remove it # echo -n "(stale amavisd pid file $AMAVIS_PID found, removing. Did amavisd crash?)" # rm -f $AMAVIS_PID # fi #fi echo -n "Starting virus-scanner (amavisd-new): " $AMAVISD_BIN start #if ! checkproc amavisd; then # rc_failed 7 #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Starting amavis-milter:" # startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1 # rc_status -v #fi ;; stop) echo -n "Shutting down virus-scanner (amavisd-new): " #if checkproc amavisd; then # rc_reset $AMAVISD_BIN stop #else # rc_reset #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Shutting down amavis-milter: " # killproc -TERM $AMAVIS_MILTER_BIN # rc_status -v #fi ;; [...] |
Karena kita telah mengubah skrip init, kita harus menjalankan
systemctl --system daemon-reload
sekarang.
Untuk mengaktifkan layanan, jalankan:
systemctl aktifkan amavis.service
systemctl aktifkan clamd.service
systemctl start amavis.service
systemctl start clamd.service
10 Instal Nginx, PHP5 (PHP-FPM), Dan Fcgiwrap
Nginx tersedia sebagai paket untuk OpenSUSE yang dapat kita instal sebagai berikut:
zypper install nginx-1.0
Jika Apache2 sudah terinstal di sistem, hentikan sekarang...
systemctl stop apache2.service
... dan hapus tautan startup sistem Apache:
systemctl disable apache2.service
Kemudian kami membuat tautan startup sistem untuk nginx dan memulainya:
systemctl aktifkan nginx.service
systemctl start nginx.service
(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.)
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.
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:
zypper install php5-fpm
Sebelum kita memulai PHP-FPM, rename /etc/php5/fpm/php-fpm.conf.default menjadi /etc/php5/fpm/php-fpm.conf:
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf
Ubah izin direktori sesi PHP:
chmod 1733 /var/lib/php5
Kemudian buka /etc/php5/fpm/php-fpm.conf...
vi /etc/php5/fpm/php-fpm.conf
... dan ubah error_log menjadi /var/log/php-fpm.log:
[...] error_log = /var/log/php-fpm.log [...] |
Tidak ada file php.ini untuk PHP-FPM pada OpenSUSE 12.2, oleh karena itu kita salin CLI php.ini:
cp /etc/php5/cli/php.ini /etc/php5/fpm/
Selanjutnya buka /etc/php5/fpm/php.ini...
vi /etc/php5/fpm/php.ini
... dan atur cgi.fix_pathinfo ke 0:
[...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=0 [...] |
Selanjutnya buat tautan startup sistem untuk php-fpm dan mulai ulang:
systemctl aktifkan php-fpm.service
systemctl restart php-fpm.service
PHP-FPM adalah proses daemon yang menjalankan server FastCGI pada port 9000, seperti yang Anda lihat pada output
netstat -tapn
server1:~ # netstat -tapn
Sambungan Internet aktif (server dan terbentuk)
Proto Recv-Q Send-Q Local Address Alamat Asing State
TCP 0 0 0.0.0.0:143 0.0.0.0:* Dengarkan 9869 /DOVECOT
TCP 0 0 0.0.0:80 0.0.0.0:* 10521 /nginx
TCP 0 0 0.0.0.0:22 0.0.0.0:* Dengarkan 1275 /SSHD
TCP 0 0 127.0.0.1:25 0.0.0.0:* Dengarkan 9816 /Master
TCP 0 0 127.0.0.1:9000 0.0.0.0:* Dengarkan 10695 /php-fpm.conf)
TCP 0 0 127.0.0.1:10024 0.0.0.0:* Dengarkan 10337 /AMAVISD (Mast
TCP 0 0 0.0.0.0:3306 0.0.0.0:* DENGARKAN 9694/mysqld
tcp 0 0 192.168.0.100:22 192.168.0.199:4630 Didirikan 1332/0
TCP 0 0 :::22 :::*Dengarkan 1275 /Sshd
TCP 0 0 ::1:25 :::* DENGARKAN 9816/master
server1:~ #
Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysql. Sebaiknya instal beberapa modul PHP5 lain serta Anda mungkin memerlukannya untuk aplikasi Anda:
zypper install php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-pear php5-sysvmsg php5-sysvshm
Sekarang restart PHP-FPM:
systemctl restart php-fpm.service
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.
Karena tidak ada paket fcgiwrap untuk OpenSUSE, kita harus membuatnya sendiri. Pertama kita install beberapa prasyarat:
zypper install git patch automake glibc-devel gcc flex compat-readline4 db-devel wget gcc-c++ make vim libtool FastCGI-devel
Buat symlink berikut:
ln -s /usr/include/fastcgi/fastcgi.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgi_config.h /usr/local/include/
ln - s /usr/include/fastcgi/fcgi_stdio.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgiapp.h /usr/local/include/
ln -s / usr/include/fastcgi/fcgimisc.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgio.h /usr/local/include/
ln -s /usr/ include/fastcgi/fcgios.h /usr/local/include/
Sekarang kita dapat membangun fcgiwrap sebagai berikut:
cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
buat
buat pasang
Ini akan menginstal fcgiwrap ke /usr/local/sbin/fcgiwrap.
Selanjutnya kita menginstal paket spawn-fcgi yang memungkinkan kita untuk menjalankan fcgiwrap sebagai daemon:
zypper install spawn-fcgi
Sekarang kita dapat memulai fcgiwrap sebagai berikut:
spawn-fcgi -u wwwrun -g www -s /var/run/fcgiwrap.socket -S -M 0770 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap
Anda sekarang harus menemukan soket fcgiwrap di /var/run/fcgiwrap.socket, yang dimiliki oleh pengguna wwwrun dan grup www. Sekarang kita harus menambahkan pengguna nginx ke grup www:
usermod -A www nginx
Muat ulang nginx setelahnya:
systemctl reload nginx.service
Jika Anda tidak ingin memulai fcgiwrap secara manual setiap kali Anda mem-boot sistem Anda, buka /etc/init.d/boot.local...
vi /etc/init.d/boot.local
... dan tambahkan perintah spawn-fcgi di akhir file - ini akan secara otomatis memulai fcgiwrap di akhir proses boot:
[...] /usr/bin/spawn-fcgi -u wwwrun -g www -s /var/run/fcgiwrap.socket -S -M 0770 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap |
Itu dia! Sekarang ketika Anda membuat nginx vhost, ISPConfig akan menangani konfigurasi vhost yang benar.
10.1 Instal phpMyAdmin
Selanjutnya kita install phpMyAdmin:
zypper install phpMyAdmin
Karena ini menginstal Apache sebagai ketergantungan, hapus tautan startup sistem Apache:
systemctl disable apache2.service
phpMyAdmin sekarang terletak di direktori /srv/www/htdocs/phpMyAdmin, tetapi kami menginginkannya di direktori /usr/share/phpmyadmin/, jadi kami membuat symlink:
ln -s /srv/www/htdocs/phpMyAdmin /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:
location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS di; ke konfigurasi phpMyAdmin Anda seperti ini:
location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
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 { [...] ## Detect when HTTPS is used map $scheme $fastcgi_https { default off; https on; } [...] } [...] |
Jangan lupa untuk memuat ulang nginx setelahnya:
systemctl reload nginx.service
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:
location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
Server Sempurna - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Halaman 5
11 Instal PureFTPd
Instal daemon FTP pure-ftpd. Jalankan:
zypper install pure-ftpd
systemctl aktifkan pure-ftpd.service
systemctl start pure-ftpd.service
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.
OpenSSL dibutuhkan oleh TLS; untuk menginstal OpenSSL, kita cukup menjalankan:
zypper install openssl
Buka /etc/pure-ftpd/pure-ftpd.conf...
vi /etc/pure-ftpd/pure-ftpd.conf
Jika Anda ingin mengizinkan FTP dan Sesi TLS, setel TLS ke 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...] |
Jika Anda ingin menerima sesi TLS saja (tanpa FTP), setel TLS ke 2:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 2 [...] |
Untuk tidak mengizinkan TLS sama sekali (hanya FTP), setel TLS ke 0:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 0 [...] |
Untuk menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di /etc/ssl/private/, oleh karena itu saya membuat direktori itu terlebih dahulu:
mkdir -p /etc/ssl/private/
Setelah itu, kita dapat membuat sertifikat SSL sebagai berikut:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nama Negara (kode 2 huruf) [AU]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Masukkan Negara Bagian Anda atau Nama Provinsi.
Nama Lokalitas (mis., kota) []:<-- Masukkan Kota Anda.
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan Nama Organisasi Anda (mis., nama perusahaan Anda).
Nama Unit Organisasi (mis., seksi) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis. nama ANDA) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (misalnya "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.
Ubah izin sertifikat SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Akhirnya restart PureFTPd:
systemctl restart pure-ftpd.service
Itu dia. Anda sekarang dapat mencoba terhubung menggunakan klien FTP Anda; namun, Anda harus mengonfigurasi klien FTP Anda untuk menggunakan TLS - lihat bab berikutnya tentang cara melakukannya dengan FileZilla.
12 Instal BIND
Server nama BIND dapat diinstal sebagai berikut:
zypper install bind
Buat tautan startup sistem BIND dan mulai:
systemctl aktifkan bernama.layanan
systemctl mulai bernama.layanan
13 Instal Webalizer Dan AWStats
Karena ISPConfig 3 memungkinkan Anda memilih apakah Anda ingin menggunakan Webalizer atau AWStats untuk membuat statistik situs web Anda, kami memasang keduanya:
zypper install webalizer perl-DateManip
zypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_12.2/noarch/awstats-7.0-14.1.noarch.rpm
14 Instal fail2ban
fail2ban dapat diinstal sebagai berikut:
zypper install fail2ban
15 Instal Jailkit
Jailkit dapat diinstal seperti ini:
zypper install http://download.opensuse.org/repositories/security/openSUSE_12.2/x86_64/jailkit-2.13-1.3.x86_64.rpm
16 Menyinkronkan Jam Sistem
Jika Anda ingin agar jam sistem disinkronkan dengan server NTP, lakukan hal berikut:
zypper install xntp
Kemudian tambahkan tautan startup sistem untuk ntp dan mulai ntp:
systemctl aktifkan ntp.service
systemctl start ntp.service
17 Instal rkhunter
rkhunter dapat diinstal sebagai berikut:
zypper install rkhunter
18 Instal SquirrelMail
Untuk menginstal klien webmail SquirrelMail, jalankan:
zypper installhttp://download.opensuse.org/repositories/server:/php:/applications/openSUSE_12.2/noarch/squirrelmail-1.4.22-1.1.noarch.rpm
Kemudian konfigurasikan SquirrelMail:
/srv/www/htdocs/squirrelmail/config/conf.pl
Kita harus memberitahu SquirrelMail bahwa kita menggunakan Dovecot:
Konfigurasi SquirrelMail : Baca: config.php (1.4.0)
--------------------------------- ------------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Antarmuka Pengguna
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Setelan bahasa
11. Penyesuaian
D. Setel setelan yang telah ditentukan sebelumnya untuk server IMAP tertentu
C Aktifkan warna
S Simpan data
Q Keluar
Perintah >> <-- D
Konfigurasi SquirrelMail : Baca: config.php
--------------------------- ------------------------------
Sementara kami telah membangun SquirrelMail, kami telah menemukan beberapa
preferensi yang berfungsi lebih baik dengan beberapa server yang tidak berfungsi dengan baik
dengan server lain. Jika Anda memilih server IMAP Anda, opsi ini akan
menyetel beberapa setelan yang telah ditentukan sebelumnya untuk server tersebut.
Perhatikan bahwa Anda masih harus melakukan dan memastikan
semuanya benar. Ini tidak mengubah semuanya.
Hanya ada beberapa setelan yang akan diubah.
Harap pilih server IMAP Anda:
bincimap = Server IMAP Binc
kurir = Server IMAP
> cyrus = Server IMAP Cyrus
dovecot = Server IMAP Dovecot Secure
pertukaran = Server IMAP Microsoft Exchange
hmailserver= < Server Mailmer /32
uw = Server IMAP Universitas Washington
gmail = Akses IMAP ke akun Google mail (Gmail)
berhenti = > Perintah >> <-- dovecot
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 Anda, opsi ini akan
menyetel beberapa setelan yang telah ditentukan sebelumnya untuk server tersebut.
Harap diperhatikan bahwa Anda masih harus melakukan dan memastikan
semuanya benar. Ini tidak mengubah semuanya.
Hanya ada beberapa setelan yang akan diubah.
Harap pilih server IMAP Anda:
bincimap = Server IMAP Binc
kurir = Server IMAP
> cyrus = Server IMAP Cyrus
dovecot = Server IMAP Dovecot Secure
pertukaran = Server IMAP Microsoft Exchange
hmailserver= < Server Mailmer /32
uw = Server IMAP Universitas Washington
gmail = Akses IMAP ke akun Google mail (Gmail)
berhenti = > Perintah>> dovecot
imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
send_polder =terkirim
draft_folder =drafts
show_prefix_opte = salah
default_sub_of_inbox = salah
show_contain_subfolders_op tion = false
optional_delimiter = detect
delete_folder = false
force_username_lowercase = true
Press>
Konfigurasi SquirrelMail : Baca: config.php (1.4.0)
---------------------------- -----------------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Antarmuka Pengguna
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Setelan bahasa
11. Penyesuaian
D. Setel setelan yang telah ditentukan sebelumnya untuk server IMAP tertentu
C Aktifkan warna
S Simpan data
Q Keluar
Perintah >> <-- S
Konfigurasi SquirrelMail : Baca: config.php (1.4.0)
---------------------- -----------------------------------
Menu Utama --
1. Preferensi Organisasi
2. Setelan Server
3. Folder Default
4. Opsi Umum
5. Antarmuka Pengguna
6. Buku Alamat
7. Pesan Hari ini (MOTD)
8. Plugin
9. Basis data
10. Setelan bahasa
11. Penyesuaian
D. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >> S
Data saved in config.php
Done activating plugins; registration data saved in plugin_hooks.php
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. User Interface
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Language settings
11. Tweaks
D. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >> <-- Q
SquirrelMail is located in the /srv/www/htdocs/squirrelmail directory, but we need it in the /usr/share/squirrelmail/ directory. Therefore we create a symlink:
ln -s /srv/www/htdocs/squirrelmail /usr/share/squirrelmail
In addition to that, we change the owner of the /srv/www/htdocs/squirrelmail/data/ directory to nobody:
chown nobody /srv/www/htdocs/squirrelmail/data/
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.
Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:
location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |
If you use https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS di; to your SquirrelMail configuration like this:
location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS on; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |
If you use both http and https for your vhost, you 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; } [...] } [...] |
Jangan lupa untuk memuat ulang nginx setelahnya:
systemctl reload nginx.service
Lalu pergi ke bidang nginx Directives lagi, dan alih-alih fastcgi_param HTTPS aktif; Anda menambahkan baris fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:
location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- add this line fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /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 on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |
The Perfect Server - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 6
19 ISPConfig 3
Before we install ISPConfig 3, make sure that the /var/vmail/ directory exists:
mkdir /var/vmail/
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...
systemctl stop apache2.service
... and remove Apache's system startup links:
systemctl disable apache2.service
Make sure that nginx is running:
systemctl restart nginx.service
(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.)
Download the current ISPConfig 3 version and install it. The ISPConfig installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 is not necessary anymore.
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]:.
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
Now start the installation process by executing:
php -q install.php
server1:/tmp/ispconfig3_install/install # php -q install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System: openSUSE or compatible, unknown version.
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with
Tap in "quit" (without the quotes) to stop the installer.
Select language (en,de) [en]: <-- ENTER
Installation mode (standard,expert) [standard]: <-- ENTER
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER
MySQL server hostname [localhost]: <-- ENTER
MySQL root username [root]: <-- ENTER
MySQL root password []: <-- yourrootsqlpassword
MySQL database to create [dbispconfig]: <-- ENTER
MySQL charset [utf8]: <-- ENTER
Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: <-- nginx
Generating a 2048 bit RSA private key
...................................................................................+++
...+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Emai l Address []: <-- ENTER
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 (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
Instal lation completed.
server1:/tmp/ispconfig3_install/install #
Clean up the /tmp directory:
cd /tmp
rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3-stable.tar.gz
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):
19.1 ISPConfig 3 Manual
Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.
Pada sekitar 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien), menjelaskan cara menginstal dan memperbarui ISPConfig 3, menyertakan referensi untuk semua formulir dan bidang formulir di ISPConfig bersama dengan contoh input yang valid, dan memberikan tutorial untuk tugas paling umum di ISPConfig 3. Ini juga menjelaskan cara membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah di bagian akhir.
19.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. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 3.0.3.3! ); detail ini mencakup semua yang Anda ketahui dari modul Monitor di ISPConfig Control Panel (misalnya layanan, log email dan sistem, antrian email, info CPU dan memori, penggunaan disk, kuota, detail OS, log RKHunter, dll.), dan tentu saja , karena ISPConfig berkemampuan multiserver, Anda dapat memeriksa semua server yang dikendalikan dari server master ISPConfig Anda.
Untuk mengunduh dan petunjuk penggunaan, silakan kunjungi http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
20 Links
- OpenSUSE:http://www.opensuse.org/
- 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".