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

Server Sempurna - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3)

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          0 . 3310 0.0.0.0:* Dengarkan 10357 /clamd
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/.

  • 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".


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

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

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

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

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

  3. Server Sempurna - Fedora 15 x86_64 [ISPConfig 3]

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

  2. Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Apache2 [ISPConfig 3]

  3. Server Sempurna - CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3)