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

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2]

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2]

Tutorial ini menunjukkan cara mengatur server Ubuntu Natty Narwhal (Ubuntu 11.04) yang menawarkan semua layanan yang dibutuhkan oleh ISP dan hoster:server web Apache (berkemampuan SSL), server email Postfix dengan SMTP-AUTH dan TLS, server DNS BIND, Proftpd Server FTP, server MySQL, Courier POP3/IMAP, Kuota, Firewall, dll. Pada akhirnya Anda harus memiliki sistem yang bekerja dengan andal, dan jika Anda mau, Anda dapat menginstal panel kontrol webhosting gratis ISPConfig 2 (mis., ISPConfig berjalan di atasnya di luar kotak).

Saya akan menggunakan perangkat lunak berikut:

  • Server Web:Apache 2.2.17 dengan PHP 5.3.5, Python, Ruby, dan WebDAV
  • Server Basis Data:MySQL 5.1.54
  • Server Email:Postfix
  • Server DNS:BIND9
  • Server FTP:proftpd
  • POP3/IMAP:Saya akan menggunakan format Maildir dan karenanya menginstal Courier-POP3/Courier-IMAP.
  • Webalizer untuk statistik situs web

Harap perhatikan bahwa pengaturan ini tidak berfungsi untuk ISPConfig 3 ! Ini hanya berlaku untuk ISPConfig 2!

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!

1 Persyaratan

Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut:

  • CD server Ubuntu 11.04, tersedia di sini:http://releases.ubuntu.com/releases/11.04/ubuntu-11.04-server-i386.iso (i386) atau http://releases.ubuntu.com/releases /11.04/ubuntu-11.04-server-amd64.iso (x86_64)
  • 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. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

3 Sistem Dasar

Masukkan CD instalasi Ubuntu Anda ke sistem Anda dan boot darinya. Pilih bahasa Anda:

Kemudian pilih Instal Server Ubuntu:

Pilih bahasa Anda lagi (?):

Kemudian pilih lokasi Anda:

Jika Anda telah memilih kombinasi bahasa dan lokasi yang tidak biasa (seperti bahasa Inggris sebagai bahasa dan Jerman sebagai lokasi, seperti dalam kasus saya), penginstal mungkin memberi tahu Anda bahwa tidak ada lokal yang ditentukan untuk kombinasi ini; dalam hal ini Anda harus memilih lokal secara manual. Saya memilih en_US.UTF-8 di sini:

Pilih tata letak keyboard (Anda akan diminta untuk menekan beberapa tombol, dan penginstal akan mencoba mendeteksi tata letak keyboard Anda berdasarkan tombol yang Anda tekan):

Penginstal memeriksa CD instalasi, perangkat keras Anda, dan mengkonfigurasi jaringan dengan DHCP jika ada server DHCP di jaringan:

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Halaman 2

4 Dapatkan Hak istimewa root

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

sudo su 

(Anda juga dapat mengaktifkan login root dengan menjalankan

sudo passwd root

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

5 Instal Server SSH (Opsional)

Jika Anda tidak menginstal server OpenSSH selama instalasi sistem, Anda dapat melakukannya sekarang:

apt-get install ssh openssh-server

Mulai sekarang Anda dapat menggunakan klien SSH seperti Putty dan terhubung dari workstation Anda ke server Ubuntu 11.04 Anda dan ikuti langkah selanjutnya dari tutorial ini.

6 Instal vim-nox (Opsional)

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

apt-get install vim-nox

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

7 Konfigurasi Jaringan

Karena penginstal Ubuntu telah mengonfigurasi sistem kami untuk mendapatkan pengaturan jaringannya melalui DHCP, kami harus mengubahnya sekarang karena server harus memiliki alamat IP statis. Edit /etc/network/interfaces dan sesuaikan dengan kebutuhan Anda (dalam contoh pengaturan ini saya akan menggunakan alamat IP 192.168.0.100 ):

vi /etc/network/interfaces
# File ini menjelaskan antarmuka jaringan yang tersedia di sistem Anda# dan cara mengaktifkannya. Untuk informasi lebih lanjut, lihat antarmuka (5).# Antarmuka jaringan loopbackauto loiface lo inet loopback# Antarmuka jaringan utamaauto eth0iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 

Kemudian restart jaringan Anda:

/etc/init.d/networking restart

Kemudian edit /etc/hosts. Jadikan seperti ini:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1# Baris berikut diinginkan untuk host yang mendukung IPv6::1 ip6 -localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters

Sekarang jalankan

echo server1.example.com> /etc/hostname
/etc/init.d/hostname restart

Setelah itu, jalankan

nama host
nama host -f

Keduanya harus menampilkan server1.example.com sekarang.

8 Edit /etc/apt/sources.list Dan Perbarui Instalasi Linux Anda

Edit /etc/apt/sources.list. Beri komentar atau hapus CD instalasi dari file dan pastikan bahwa repositori universe dan multiverse diaktifkan. Seharusnya terlihat seperti ini:

vi /etc/apt/sources.list
## deb cdrom:[Ubuntu-Server 11.04 _Natty Narwhal_ - Rilis amd64 (20110426)]/ natty main terbatas#deb cdrom:[Ubuntu-Server 11.04 _Natty Narwhal_ - Rilis amd64 (20110426)]/ natty main terbatas# Lihat http://help.ubuntu.com/community/UpgradeNotes untuk cara meningkatkan ke# versi distribusi yang lebih baru.deb http://de.archive. ubuntu.com/ubuntu/ natty main terbatasdeb-src http://de.archive.ubuntu.com/ubuntu/ natty main terbatas## Pembaruan perbaikan bug utama yang dihasilkan setelah rilis final ## distribution.deb http:// de.archive.ubuntu.com/ubuntu/ natty-updates main limiteddeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates main limited## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim Ubuntu##. Juga, harap perhatikan bahwa perangkat lunak di universe TIDAK AKAN menerima ulasan ## atau pembaruan apa pun dari tim keamanan Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ natty universedeb-src http://de.archive. ubuntu.com/ubuntu/ natty universedeb http://de.archive.ubuntu.com/ubuntu/ natty-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates universe## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim Ubuntu##, dan mungkin tidak di bawah lisensi gratis. Harap puaskan diri Anda tentang## hak Anda untuk menggunakan perangkat lunak. Juga, harap perhatikan bahwa perangkat lunak di## multiverse TIDAK AKAN menerima ulasan atau pembaruan apa pun dari tim keamanan Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ natty multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ natty multiversedeb http://de.archive.ubuntu.com/ubuntu/ natty-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ natty-updates multiverse## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari repositori 'backports'##.## N.B. perangkat lunak dari repositori ini mungkin belum diuji## secara ekstensif seperti yang terdapat dalam rilis utama, meskipun menyertakan## versi terbaru dari beberapa aplikasi yang mungkin menyediakan fitur yang berguna.## Juga, harap dicatat bahwa perangkat lunak di backport TIDAK AKAN menerima setiap ulasan## atau pembaruan dari tim keamanan Ubuntu.# deb http://de.archive.ubuntu.com/ubuntu/ natty-backports main limited universe multiverse# deb-src http://de.archive.ubuntu.com /ubuntu/ natty-backports main limited universe multiversedeb http://security.ubuntu.com/ubuntu natty-security main limiteddeb-src http://security.ubuntu.com/ubuntu natty-security main limiteddeb http://security. ubuntu.com/ubuntu natty-security universedeb-src http://security.ubuntu.com/ubuntu natty-security universedeb http://security.ubuntu.com/ubuntu natty-security multiversedeb-src http://security.ubuntu .com/ubuntu natty-security multiverse## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari repositori ## 'partner' Canonical ory.## Perangkat lunak ini bukan bagian dari Ubuntu, tetapi ditawarkan oleh Canonical dan## vendor masing-masing sebagai layanan untuk pengguna Ubuntu.# deb http://archive.canonical.com/ubuntu natty partner# deb-src http ://archive.canonical.com/ubuntu natty partner## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari repositori 'ekstra' Ubuntu##.## Perangkat lunak ini bukan bagian dari Ubuntu, tetapi ditawarkan oleh pihak ketiga## pengembang yang ingin mengirimkan perangkat lunak terbaru mereka.# deb http://extras.ubuntu.com/ubuntu natty main# deb-src http://extras.ubuntu.com/ubuntu natty main

Kemudian jalankan

apt-get update

untuk memperbarui database paket apt dan

apt-get upgrade

untuk menginstal pembaruan terbaru (jika ada). Jika Anda melihat kernel baru terinstal sebagai bagian dari pembaruan, Anda harus mem-boot ulang sistem setelahnya:

boot ulang 

9 Ubah Shell Default

/bin/sh adalah symlink ke /bin/dash, namun kita membutuhkan /bin/bash, bukan /bin/dash. Oleh karena itu kami melakukan ini:

dpkg-konfigurasi ulang tanda hubung

Gunakan tanda hubung sebagai shell sistem default (/bin/sh)? <-- Tidak

Jika Anda tidak melakukannya, penginstalan ISPConfig akan gagal.

10 Nonaktifkan AppArmor

AppArmor adalah ekstensi keamanan (mirip dengan SELinux) yang seharusnya memberikan keamanan yang diperluas. Menurut pendapat saya Anda tidak memerlukannya untuk mengkonfigurasi sistem yang aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (pikirkan setelah Anda melakukan pemecahan masalah selama seminggu karena beberapa layanan tidak berfungsi seperti yang diharapkan, dan kemudian Anda mengetahui bahwa semuanya baik-baik saja, hanya AppArmor yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

Kita dapat menonaktifkannya seperti ini:

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

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Halaman 4

11 Instal Beberapa Perangkat Lunak

Sekarang kita install beberapa paket yang dibutuhkan nantinya. Jalankan

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 membuat ncftp nmap openssl perl perl-modul unzip zip autoconflib1g-dev automake1.9 libtool bison autotools-dev g++ build-essential

(Perintah ini harus masuk ke satu baris !)

12 Kuota Jurnal

(Jika Anda telah memilih skema partisi yang berbeda dari saya, Anda harus menyesuaikan bab ini sehingga kuota berlaku untuk partisi yang Anda butuhkan.)

Untuk menginstal kuota, jalankan

apt-get install quota

Sunting /etc/fstab. Milik saya terlihat seperti ini (saya menambahkan ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 ke partisi dengan titik mount /):

vi /etc/fstab
# /etc/fstab:informasi sistem file statis.## Gunakan 'blkid -o value -s UUID' untuk mencetak pengenal unik universal# untuk sebuah alat; ini dapat digunakan dengan UUID=sebagai cara yang lebih kuat untuk memberi nama# perangkat yang berfungsi bahkan jika disk ditambahkan dan dihapus. Lihat fstab(5).##     
 proc /proc proc nodev,noexec,nosuid 0 0/dev/mapper/server1-root / ext4 error =remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot aktif /dev/sda1 selama instalasiUUID=deae7cd1-b106-47aa-9a7c-512f046d2ebf /boot ext2 defaults 0 2/ dev/mapper/server1-swap_1 tidak ada swap sw 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Untuk mengaktifkan kuota, jalankan perintah berikut:

mount -o remount /

quotacheck -avugm
quotaon -avug

13 Server DNS

Jalankan

apt-get install bind9

Untuk alasan keamanan kami ingin menjalankan BIND chroot sehingga kami harus melakukan langkah-langkah berikut:

/etc/init.d/bind9 stop

Edit file /etc/default/bind9 sehingga daemon akan berjalan sebagai user bind yang tidak memiliki hak istimewa, di-chroot ke /var/lib/named. Ubah baris:OPTIONS="-u bind" sehingga terbaca OPTIONS="-u bind -t /var/lib/named":

vi /etc/default/bind9
# jalankan resolvconf?RESOLVCONF=yes# opsi startup untuk serverOPTIONS="-u bind -t /var/lib/named"

Buat direktori yang diperlukan di bawah /var/lib:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Kemudian pindahkan direktori config dari /etc ke /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Buat symlink ke direktori konfigurasi baru dari lokasi lama (untuk menghindari masalah saat pengikatan diperbarui di masa mendatang):

ln -s /var/lib/named/etc/bind /etc/bind

Buat perangkat null dan acak, dan perbaiki izin direktori:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var /lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

Kita perlu membuat file /etc/rsyslog.d/bind-chroot.conf...

vi /etc/rsyslog.d/bind-chroot.conf

... dan tambahkan baris berikut sehingga kita masih bisa mendapatkan pesan penting yang masuk ke log sistem:

$AddUnixListenSocket /var/lib/named/dev/log

Mulai ulang daemon pencatatan:

/etc/init.d/rsyslog mulai ulang

Mulai BIND, dan periksa /var/log/syslog untuk kesalahan:

/etc/init.d/bind9 start

14 MySQL

Untuk menginstal MySQL, kami menjalankan

apt-get install mysql-server mysql-client libmysqlclient-dev

Anda akan diminta untuk memberikan kata sandi untuk pengguna root MySQL - kata sandi ini berlaku untuk pengguna [email protected] serta [email protected], jadi kami tidak perlu menentukan kata sandi root MySQL secara manual nanti :

Kata sandi baru untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Ulangi kata sandi untuk pengguna "root" MySQL:<-- yourrootsqlpassword

Kami ingin MySQL mendengarkan di semua antarmuka, bukan hanya localhost, oleh karena itu kami mengedit /etc/mysql/my.cnf dan mengomentari baris bind-address =127.0.0.1:

vi /etc/mysql/my.cnf
[...]# Alih-alih melewatkan jaringan, defaultnya sekarang hanya mendengarkan di# localhost yang lebih kompatibel dan tidak kalah aman. #bind-address =127.0.0.1[...]

Kemudian kita restart MySQL:

/etc/init.d/mysql restart

Sekarang periksa apakah jaringan diaktifkan. Jalankan

netstat -ketuk | grep mysql

Outputnya akan terlihat seperti ini:

[email protected]:~# netstat -tap | grep mysql
tcp       0      0 *:mysql               *:*                  DENGARKAN     7220/mysqld
example@unixlinux

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Halaman 5

15 Postfix Dengan SMTP-AUTH Dan TLS

Untuk menginstal Postfix dengan SMTP-AUTH dan TLS lakukan langkah-langkah berikut:

apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules procmail

Anda akan ditanya dua pertanyaan. Jawab sebagai berikut:

Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com

Kemudian jalankan

dpkg-konfigurasi ulang postfix

Sekali lagi, Anda akan ditanyai beberapa pertanyaan:

Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com
Penerima email root dan postmaster:<-- [kosong]
Tujuan lain ke terima email untuk (kosongkan untuk tidak ada):<-- server1.example.com, localhost.example.com, localhost.localdomain, localhost
Paksa pembaruan sinkron pada antrian email? <-- Tidak
Jaringan lokal:<-- 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Gunakan procmail untuk pengiriman lokal? <-- Ya
Batas ukuran kotak surat (byte):<-- 0
Karakter ekstensi alamat lokal:<-- +
Protokol internet yang digunakan:<-- semua

Selanjutnya, lakukan ini:

postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable =yes'
postconf -e 'smtpd_sasl_security_options =noanonymous'
postconf -e 'broken_sasl_ 'smtpd_sasl_authenticated_header =yes'
postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces =all'
echo 'mech_list:login biasa'>> /etc/postfix/sasl/smtpd.conf

Setelah itu kami membuat sertifikat untuk TLS:

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Selanjutnya kita mengkonfigurasi Postfix untuk TLS (pastikan Anda menggunakan hostname yang benar untuk myhostname):

postconf -e 'myhostname =server1.example.com'

postconf -e 'smtpd_tls_auth_only =tidak'
postconf -e 'smtp_use_tls =yes'
postconf -e 'smtpd_use_tls =yes'
postconf -e 'smtp_tls_note_starttls_offer =yes' e 'smtpd_tls_key_file =/etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_file_post /ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel =1'
postconf -e 'smtpd_tls_received_header =yes'
postconf -e 'smtpd_tls_session_cache_timeout =3600s'

File /etc/postfix/main.cf sekarang akan terlihat seperti ini:

cat /etc/postfix/main.cf
# Lihat /usr/share/postfix/main.cf.dist untuk komentar, versi yang lebih lengkap# Khusus Debian:Menentukan nama file akan menyebabkan baris # pertama dari file itu yang akan digunakan sebagai nama. Default Debian# adalah /etc/mailname.#myorigin =/etc/mailnamesmtpd_banner =$myhostname ESMTP $mail_name (Ubuntu)biff =no# appending .domain is the MUA's job.append_dot_mydomain =no# Batalkan komentar pada baris berikutnya untuk menghasilkan "delayed mail" warnings#delay_warning_time =4hreadme_directory =no# TLS parameterssmtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crtsmtpd_tls_key_file =/etc/postfix/ssl/smtpd.keysmtpd_use_tls =yessmtpd_tls_session_cache_database =btree:${data_directory}/smtpd_scachesmtp_tls_session_cache_database =btree:${ data_directory}/smtp_scache# Lihat /usr/share/doc/postfix/TLS_README.gz dalam paket postfix-doc untuk# informasi tentang mengaktifkan SSL di smtp client.myhostname =server1.example.comalias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasesmyorigin =/etc/mailnamemydestination =server1.example.com, localhost.example.com, localhost.localdomain, localhostrelayhost =mynetworks =127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128mailbox_command =procmail -a "$EXTENS ION"mailbox_size_limit =0recipient_delimiter =+inet_interfaces =allinet_protocols =allsmtpd_sasl_local_domain =smtpd_sasl_auth_enable =yessmtpd_sasl_security_options =noanonymousbroken_sasl_auth_clients =yessmtpd_sasl_authenticated_header =yessmtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationsmtpd_tls_auth_only =nosmtp_use_tls =yessmtp_tls_note_starttls_offer =yessmtpd_tls_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_session_cache_timeout =3600stls_random_source =dev:/dev/urandom

Otentikasi akan dilakukan oleh saslauthd. Kami harus mengubah beberapa hal untuk membuatnya berfungsi dengan baik. Karena Postfix berjalan chroot di /var/spool/postfix, kita harus melakukan hal berikut:

mkdir -p /var/spool/postfix/var/run/saslauthd

Sekarang kita harus mengedit /etc/default/saslauthd untuk mengaktifkan saslauthd. Setel MULAI ke ya dan ubah baris OPTIONS="-c -m /var/run/saslauthd" menjadi OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r":

vi /etc/default/saslauthd
## Setting untuk saslauthd daemon# Silakan baca /usr/share/doc/sasl2-bin/README.Debian untuk detailnya.## Haruskah saslauthd dijalankan otomatis saat startup? (default:no)START=yes# Deskripsi instance saslauthd ini. Direkomendasikan.# (saran:SASL Authentication Daemon)DESC="SASL Authentication Daemon"# Nama pendek dari instance saslauthd ini. Sangat disarankan.# (saran:saslauthd)NAME="saslauthd"# Mekanisme otentikasi mana yang harus digunakan saslauthd? (default:pam)## Opsi yang tersedia dalam paket Debian ini:# getpwent -- gunakan fungsi library getpwent()# kerberos5 -- gunakan Kerberos 5# pam -- gunakan PAM# rimap -- gunakan server IMAP jarak jauh# shadow - - gunakan file sandi bayangan lokal# sasldb -- gunakan file database sasldb lokal# ldap -- gunakan LDAP (konfigurasi ada di /etc/saslauthd.conf)## Hanya satu opsi yang dapat digunakan pada satu waktu. Lihat halaman manual saslauthd# untuk informasi lebih lanjut.## Contoh:MECHANISMS="pam"MECHANISMS="pam"# Opsi tambahan untuk mekanisme ini. (default:none)# Lihat halaman manual saslauthd untuk informasi tentang opsi spesifik mech.MECH_OPTIONS=""# Berapa banyak proses saslauthd yang harus kita jalankan? (default:5)# Nilai 0 akan memotong proses baru untuk setiap koneksi.THREADS=5# Opsi lain (default:-c -m /var/run/saslauthd)# Catatan:Anda HARUS menentukan opsi -m atau saslauthd tidak akan berjalan!## PERINGATAN:JANGAN JELASKAN OPSI -d.# Opsi -d akan menyebabkan saslauthd berjalan di latar depan alih-alih sebagai# sebuah daemon. Ini akan MENCEGAH SISTEM ANDA DARI BOOTING DENGAN BENAR. Jika Anda ingin# menjalankan saslauthd dalam mode debug, silakan jalankan dengan tangan agar aman.## Lihat /usr/share/doc/sasl2-bin/README.Debian untuk informasi khusus Debian.# Lihat halaman manual saslauthd dan output dari 'saslauthd -h' untuk informasi# umum tentang opsi ini.## Contoh untuk pengguna postfix:"-c -m /var/spool/postfix/var/run/saslauthd"#OPTIONS="-c -m / var/run/saslauthd"OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Selanjutnya tambahkan pengguna postfix ke grup sasl (ini memastikan bahwa Postfix memiliki izin untuk mengakses saslauthd):

sasl adduser postfix

Sekarang restart Postfix dan mulai saslauthd:

/etc/init.d/postfix restart
/etc/init.d/saslauthd start

Untuk melihat apakah SMTP-AUTH dan TLS berfungsi dengan baik, jalankan perintah berikut:

telnet localhost 25

Setelah Anda membuat koneksi ke server email Postfix, ketik

ehlo localhost

Jika Anda melihat garis

250-STARTTLS

dan

LOGIN POLOS 250-AUTH

semuanya baik-baik saja.

Output pada sistem saya terlihat seperti ini:

[email protected]:/etc/postfix/ssl# telnet localhost 25
Mencoba 127.0.0.1...
Terhubung ke localhost.localdomain.
Karakter escape adalah '^]'.
220 server1.example.com ESMTP Postfix (Ubuntu)
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
LOGIN POLOS 250-AUTH
250-AUTH=LOGIN POLOS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
keluar
221 2.0.0 Sampai jumpa
Koneksi ditutup oleh host asing.
[email protected]:/etc/postfix/ssl#

Ketik

berhenti

untuk kembali ke shell sistem.

16 Courier-IMAP/Courier-POP3

Jalankan ini untuk menginstal Courier-IMAP/Courier-IMAP-SSL (untuk IMAP pada port 993) dan Courier-POP3/Courier-POP3-SSL (untuk POP3 pada port 995):

apt-get install kurir-authdaemon kurir-basis kurir-imap kurir-imap-ssl kurir-pop kurir-pop-ssl kurir-ssl gamin libgamin0 libglib2.0-0

Anda akan ditanya dua pertanyaan:

Buat direktori untuk administrasi berbasis web? <-- Tidak
Sertifikat SSL diperlukan <-- Oke

Selama penginstalan, sertifikat SSL untuk IMAP-SSL dan POP3-SSL dibuat dengan hostname localhost. Untuk mengubah ini ke nama host yang benar (server1.example.com dalam tutorial ini), hapus sertifikat...

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

... dan ubah dua file berikut; ganti CN=localhost dengan CN=server1.example.com (Anda juga dapat mengubah nilai lainnya, jika perlu):

vi /etc/courier/imapd.cnf
[...]CN=server1.example.com[...]
vi /etc/courier/pop3d.cnf
[...]CN=server1.example.com[...]

Kemudian buat ulang sertifikatnya...

mkimapdcert
mkpop3dcert

... dan mulai ulang Courier-IMAP-SSL dan Courier-POP3-SSL:

/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Jika Anda tidak ingin menggunakan ISPConfig, konfigurasikan Postfix untuk mengirimkan email ke Maildir pengguna*:

postconf -e 'home_mailbox =Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart

*Harap diperhatikan: Anda tidak perlu melakukan ini jika ingin menggunakan ISPConfig di sistem Anda karena ISPConfig melakukan konfigurasi yang diperlukan menggunakan resep procmail. Tapi pastikan untuk mengaktifkan Maildir di bawah Manajemen -> Server -> Pengaturan -> EMail di antarmuka web ISPConfig.

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Halaman 6

17 Apache/PHP5/Ruby/Python/WebDAV

Sekarang kita menginstal Apache:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert

Selanjutnya kita install PHP5, Ruby, dan Python (ketiganya sebagai modul Apache):

apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-rapi php5-xmlrpc php5-xsl

Selanjutnya kita edit /etc/apache2/mods-available/dir.conf:

vi /etc/apache2/mods-available/dir.conf

dan ubah baris DirectoryIndex:

 #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm DirectoryIndex index.html index .htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Sekarang kita harus mengaktifkan beberapa modul Apache (SSL, rewrite, suexec, include, dan WebDAV):

a2enmod ssl
a2enmod menulis ulang
a2enmod suexec
a2enmod termasuk
a2enmod dav_fs
a2enmod dav

Mulai ulang Apache:

/etc/init.d/apache2 restart

Kami harus memperbaiki masalah kecil dengan Ruby. Jika Anda menginstal ISPConfig dan mengaktifkan Ruby untuk situs web, file .rbx akan dieksekusi dengan baik dan ditampilkan di browser, tetapi ini tidak berfungsi untuk file .rb - Anda akan diminta untuk mengunduh file .rb - hal yang sama terjadi jika Anda mengkonfigurasi Ruby secara manual untuk vhost (yaitu, tidak ada hubungannya dengan ISPConfig). Untuk memperbaikinya, kami membuka /etc/mime.types...

vi /etc/mime.types

... dan beri komentar pada baris application/x-ruby:

[...]#application/x-ruby rb[...]

Mulai ulang Apache:

/etc/init.d/apache2 restart

Sekarang file .rb akan dieksekusi dan ditampilkan di browser, sama seperti file .rbx.

Pada bab berikutnya (17.1) kita akan menonaktifkan PHP (ini diperlukan hanya jika Anda ingin menginstal ISPConfig di server ini). Tidak seperti PHP, Ruby dan Python dinonaktifkan secara default, oleh karena itu kita tidak perlu melakukannya.

17.1 Nonaktifkan PHP Secara Global

(Jika Anda tidak berencana untuk menginstal ISPConfig di server ini, lewati bagian ini!)

Di ISPConfig Anda akan mengonfigurasi PHP per situs web, yaitu Anda dapat menentukan situs web mana yang dapat menjalankan skrip PHP dan mana yang tidak. Ini hanya dapat berfungsi jika PHP dinonaktifkan secara global karena jika tidak, semua situs web akan dapat menjalankan skrip PHP, apa pun yang Anda tentukan di ISPConfig.

Untuk menonaktifkan PHP secara global, kami mengedit /etc/mime.types dan mengomentari baris application/x-httpd-php:

vi /etc/mime.types
[...]#application/x-httpd-php phtml pht php#application/x-httpd-php-source phps#application/x -httpd-php3 php3#application/x-httpd-php3-preprocessed php3p#application/x-httpd-php4 php4#application/x-httpd-php5 php5[...]

Edit /etc/Apache2/mods-enabled/php5.conf dan beri komentar pada baris SetHandler:

vi /etc/apache2/mods-enabled/php5.conf
  #SetHandler application/x-httpd-php   #SetHandler application/x-httpd-php-source  # Untuk mengaktifkan kembali php di direktori pengguna, beri komentar pada baris berikut # (dari  ke .) JANGAN setel ke On karena # mencegah file .htaccess menonaktifkannya.   php_admin_value engine Mati  

Kemudian restart Apache:

/etc/init.d/apache2 restart

18 Proftpd

Untuk menginstal Proftpd, jalankan

apt-get install proftpd ucf

Anda akan ditanyai pertanyaan:

Jalankan proftpd:<-- standalone

Untuk alasan keamanan tambahkan baris berikut ke /etc/proftpd/proftpd.conf (terima kasih kepada Reinaldo Carvalho; informasi lebih lanjut dapat ditemukan di sini:http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf
[...]DefaultRoot ~ServerIdent pada "FTP Server ready."[...]

ISPConfig mengharapkan konfigurasi berada di /etc/proftpd.conf bukan /etc/proftpd/proftpd.conf, oleh karena itu kami membuat symlink (Anda dapat melewati perintah ini jika Anda tidak ingin menginstal ISPConfig):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Kemudian restart Proftpd:

/etc/init.d/proftpd mulai ulang

Server Sempurna - Ubuntu Natty Narwhal (Ubuntu 11.04) [ISPConfig 2] - Halaman 7

19 Webalizer

Untuk menginstal webalizer, jalankan saja

apt-get install webalizer geoip-database

20 Menyinkronkan Jam Sistem

Sebaiknya sinkronkan jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui internet. Cukup jalankan

apt-get install ntp ntpdate

dan waktu sistem Anda akan selalu sinkron.

21 Instal Beberapa Modul Perl yang Dibutuhkan SpamAssassin (Dilengkapi Dengan ISPConfig)

Jalankan

apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl libnetaddr-ip-perl perl-modules

22 ISPConfig

Konfigurasi server sekarang telah selesai, dan jika Anda mau, Anda sekarang dapat menginstal ISPConfig di dalamnya. Silakan periksa manual instalasi ISPConfig:http://www.ispconfig.org/manual_installation.htm

Sebelum Anda menginstal ISPConfig, ada satu hal penting yang harus Anda lakukan. Buka /usr/include/stdio.h dan ganti getline dengan parseline di baris 671:

vi /usr/include/stdio.h
[...] Fungsi ini bukan bagian dari POSIX dan karena itu tidak ada titik pembatalan resmi. Tetapi karena kesamaan dengan antarmuka POSIX atau karena implementasinya, ini adalah titik pembatalan dan karenanya tidak ditandai dengan __THROW. */extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur;#endif[...]

Jika Anda tidak melakukannya, penginstalan akan gagal karena kesalahan berikut:

htpasswd.c:101:error:conflicting types for 'getline'
/usr/include/stdio.h:671:note:previous declaration of 'getline' was here
make[2]:*** [htpasswd.o] Error 1
make[2]:Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]:*** [build-support] Error 1
make[1]:Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41'
make:*** [build] Error 2
ERROR:Could not make Apache

You can undo the change to /usr/include/stdio.h after the successful ISPConfig installation (but don't forget to change it back whenever you want to update ISPConfig!).

22.1 A Note On SuExec

If you want to run CGI scripts under suExec, you should specify /var/www as the home directory for websites created by ISPConfig as Ubuntu's suExec is compiled with /var/www as Doc_Root. Jalankan

 /usr/lib/apache2/suexec -V

and the output should look like this:

[email protected]:~# /usr/lib/apache2/suexec -V
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"
[email protected]:~#

So if you want to use suExec with ISPConfig, don't change the default web root (which is /var/www) if you use expert mode during the ISPConfig installation (in standard mode you can't change the web root anyway so you'll be able to use suExec in any case).

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

Panels
  1. Desktop Sempurna - Ubuntu 11.04 (Natty Narwhal) (Dengan Desktop Klasik Ubuntu)

  2. Cara Meningkatkan Server Ubuntu 7.10 ("Pengaturan Sempurna" + ISPConfig) Ke Ubuntu 8.04 LTS

  3. Cara Meningkatkan Server Ubuntu 7.04 ("Pengaturan Sempurna" + ISPConfig) Ke Ubuntu 7.10

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

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

  3. Server Sempurna - Ubuntu 11.04 [ISPConfig 3]

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

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

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