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

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

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

Ini adalah deskripsi rinci tentang cara mengatur OpenSUSE 12.1 64bit (x86_64) server yang menawarkan semua layanan yang dibutuhkan oleh ISP dan hoster:Apache web server (SSL-capable) dengan dukungan PHP, CGI dan SSI, server surat Postfix dengan SMTP-AUTH, TLS dan pengguna surat virtual, server BIND DNS, server FTP Pureftpd, MySQL server, Dovecot POP3/IMAP, Quota, Firewall, Mailman, dll. Sejak versi 3.0.4, ISPConfig hadir dengan dukungan penuh untuk server web nginx selain Apache; tutorial ini mencakup penyiapan server yang menggunakan Apache, bukan nginx.

Saya akan menggunakan perangkat lunak berikut:

  • Server Web:Apache 2.2 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.1 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 dicatat 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.1 . Anda dapat mengunduhnya di sini:http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-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.1 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.

Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Apache2 [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. 145.253.2.75 dan 8.8.8.8):

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 mengkonfigurasinya sesuai kebutuhan Anda (tetapi kemudian 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

yast2 -i 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

yast2 -i 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/sda1            swap                 swap       defaults              0 0
/dev/sda2            /                    ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
/dev/sda3            /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
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.1 x86_64 Dengan Apache2 [ISPConfig 3] - Halaman 4

8 Instal Postfix, Dovecot, MySQL

Jalankan

yast2 -i postfix postfix-mysql mysql mysql-community-server mysql-client libmysqlclient-devel dovecot12 dovecot12-backend-mysql pwgen cron python

Jika Anda mendapatkan konflik pola-openSUSE-minimal_base-conflicts-12.1-25.21.1.x86_64 dengan python yang disediakan oleh python-2.7.2-7.1.3.x86_64, pilih opsi penghapusan instalasi pola-openSUSE-minimal_base-conflicts- 12.1-25.21.1.x86_64 dan tekan OK -- Coba Lagi:

Tekan Terima di layar berikutnya...

... dan akhirnya OK:

Buka /etc/postfix/master.cf...

vi /etc/postfix/master.cf

... dan batalkan komentar pada baris berikut:

[...]
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
[...]

Buat symlink berikut:

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

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:

yast2 -i 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

yast2 -i 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.1 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 Server Web Apache 2 Dengan PHP5, Ruby, Python, WebDAV

Instal Apache2 dan suphp. Jalankan:

yast2 -i apache2 apache2-mod_fcgid

Instal PHP5:

yast2 -i 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-mysql 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-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5
zypper install http://download.opensuse.org/repositories/server:/php/openSUSE_12.1/x86_64/suphp-0.7.1-3.3.x86_64.rpm

Kemudian jalankan perintah ini untuk mengaktifkan modul Apache (termasuk WebDAV):

a2enmod suexec
a2enmod menulis ulang
a2enmod ssl
tindakan a2enmod
a2enmod suphp
a2enmod fcgid
a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
chown root:www /usr/sbin/suexec2
chmod 4755 /usr/sbin/suexec2

a2enflag SSL

Selanjutnya kita membangun modul mod_ruby Apache (tidak tersedia sebagai paket OpenSUSE 12.1, oleh karena itu kita harus membangunnya sendiri):

yast2 -i apache2-devel ruby ruby-devel

cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3 .0/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make install

a2enmod ruby

Untuk menambahkan dukungan Python, jalankan:

yast2 -i apache2-mod_python
a2enmod python 

Selanjutnya kita install phpMyAdmin:

yast2 -i phpMyAdmin

Untuk memastikan bahwa kita dapat mengakses phpMyAdmin dari semua website yang dibuat melalui ISPConfig nanti dengan menggunakan /phpmyadmin (misalnya http://www.example.com/phpmyadmin) dan /phpMyAdmin (misalnya http://www.example.com/phpMyAdmin ), buka /etc/Apache2/conf.d/phpMyAdmin.conf...

vi /etc/apache2/conf.d/phpMyAdmin.conf

... dan tambahkan dua alias berikut tepat di awal:

Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin
Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin
[...]

Mulai Apache:

systemctl aktifkan apache2.service
systemctl start apache2.service

Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Apache2 [ISPConfig 3] - Halaman 5

11 Tukang Pos

Sejak versi 3.0.4, ISPConfig juga memungkinkan Anda untuk mengelola (membuat/memodifikasi/menghapus) milis Mailman. Jika Anda ingin menggunakan fitur ini, instal Mailman sebagai berikut:

yast2 -i mailman

Sebelum kita dapat memulai Mailman, milis pertama yang disebut mailman harus dibuat:

/usr/lib/mailman/bin/newlist mailman

server1:~ # /usr/lib/mailman/bin/newlist mailman
Masukkan email orang yang menjalankan daftar:<-- alamat email admin, mis. [email protected]
Kata sandi tukang pos awal:<-- sandi admin untuk daftar pengiriman
Tekan enter untuk memberi tahu pemilik tukang pos... <-- ENTER

server1:~ #

Buat tautan pengaktifan sistem untuk Mailman...

systemctl enable mailman.service

... dan memulainya:

  systemctl start mailman.service

Selanjutnya restart Postfix:

systemctl restart postfix.service

Untuk mengaktifkan konfigurasi Mailman Apache, jalankan...

a2enflag MAILMAN

... dan mulai ulang Apache:

systemctl restart apache2.service  

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

Anda dapat menggunakan alias /mailman untuk semua vhost Apache (harap dicatat bahwa suExec harus dinonaktifkan untuk semua vhost yang ingin Anda akses Mailman!), yang berarti Anda dapat mengakses antarmuka admin Mailman untuk daftar di http:///mailman/admin/, dan halaman web untuk pengguna milis dapat ditemukan di http:///mailman/listinfo/.

Di bawah http:///pipermail/ Anda dapat menemukan arsip milis.

12 Instal PureFTPd

Instal daemon FTP pure-ftpd. Jalankan:

yast2 -i 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:

yast2 -i 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.

13 Instal BIND

Server nama BIND dapat diinstal sebagai berikut:

yast2 -i bind

Buat tautan startup sistem BIND dan mulai:

systemctl aktifkan bernama.layanan
systemctl mulai bernama.layanan

14 Instal Webalizer Dan AWStats

Karena ISPConfig 3 memungkinkan Anda memilih apakah Anda ingin menggunakan Webalizer atau AWStats untuk membuat statistik situs web Anda, kami menginstal keduanya (pada saat penulisan ini, tidak ada paket AWStats untuk OpenSUSE 12.1, oleh karena itu saya menginstal satu untuk OpenSUSE 11.4) :

yast2 -i webalizer perl-DateManip
zypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm

15 Instal fail2ban

fail2ban dapat diinstal sebagai berikut:

yast2 -i fail2ban

16 Instal Jailkit

Jailkit dapat diinstal seperti ini:

zypper install http://download.opensuse.org/repositories/security/openSUSE_12.1/x86_64/jailkit-2.13-1.1.x86_64.rpm

17 Sinkronisasi Jam Sistem

Jika Anda ingin agar jam sistem disinkronkan dengan server NTP, lakukan hal berikut:

yast2 -i xntp

Kemudian tambahkan tautan startup sistem untuk ntp dan mulai ntp:

systemctl aktifkan ntp.service
systemctl start ntp.service

18 Instal rkhunter

rkhunter dapat diinstal sebagai berikut:

yast2 -i rkhunter

Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Apache2 [ISPConfig 3] - Halaman 6

19 Instal SquirrelMail

Untuk menginstal klien webmail SquirrelMail, jalankan:

yast2 -i squirrelmail-beta

Selanjutnya kita buat alias /webmail dan /squirrelmail tepat di awal /etc/apache2/conf.d/squirrelmail.conf sehingga SquirrelMail dapat diakses dari vhost manapun (misalnya http://www.example.com/webmail atau http://www.example.com/squirrelmail):

vi /etc/apache2/conf.d/squirrelmail.conf
Alias /squirrelmail /srv/www/htdocs/squirrelmail
Alias /webmail /srv/www/htdocs/squirrelmail
[...]

Selanjutnya kita buat direktori /srv/www/htdocs/squirrelmail/data dan berikan izin yang cukup sehingga grup www dapat menulis ke dalamnya:

mkdir /srv/www/htdocs/squirrelmail/data
chown root:www /srv/www/htdocs/squirrelmail/data
chmod 770 /srv/www/htdocs/squirrelmail/data

Kemudian restart Apache:

systemctl restart apache2.service

Kemudian konfigurasikan SquirrelMail:

/srv/www/htdocs/squirrelmail/config/conf.pl

Kita harus memberitahu SquirrelMail bahwa kita menggunakan Dovecot:

PERINGATAN:
  File "config/config.php" ditemukan, tetapi itu untuk
  versi SquirrelMail yang lebih lama. Masih mungkin untuk 
  membaca default dari file ini tetapi diperingatkan bahwa banyak
  preferensi berubah antar versi. Disarankan agar
  Anda memulai dengan config.php bersih untuk setiap peningkatan yang Anda
  lakukan. Untuk melakukan ini, cukup pindahkan config/config.php keluar dari jalur.

Lanjutkan memuat dengan config.php lama [y/T]? <-- y

Apakah Anda ingin saya menghentikan peringatan Anda [y/T]? <-- y

Konfigurasi SquirrelMail : Baca: config.php (1.5.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.

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 Kurir /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 Kurir /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.5.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. Tweaks

D. Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- S


SquirrelMail Configuration : Read: config.php (1.5.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 >> 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.5.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

After you have created a website in ISPConfig, you can access SquirrelMail using the /webmail or /squirrelmail aliases:

20 ISPConfig 3

Before we install ISPConfig 3, make sure that the /var/vmail/ directory exists:

mkdir /var/vmail/

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

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, sect ion) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
chmod: cannot access `/etc/dovecot/dovecot-sql.conf~': No such file or directory
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER

Generating RSA private key, 4096 bit long modulus
........++
.....................................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (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 systemctlredirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
redirecting to systemctl
Installation 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

Open /etc/suphp.conf...

vi /etc/suphp.conf

... and make sure that it contains x-httpd-suphp="php:/srv/www/cgi-bin/php" instead of x-httpd-suphp="php:/srv/www/cgi-bin/php5" towards the end of the file:

[...]
[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/srv/www/cgi-bin/php"
[...]

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

20.1 ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.

On about 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.

20.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! ); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.

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/

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

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

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

  1. Server Sempurna - Ubuntu 11.04 [ISPConfig 3]

  2. Server Sempurna - CentOS 5.6 x86_64 [ISPConfig 2]

  3. Server Sempurna - CentOS 6.1 x86_64 Dengan Apache2 [ISPConfig 3]

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

  2. Server Sempurna - Ubuntu 11.10 Dengan Nginx [ISPConfig 3]

  3. Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2]