Ini adalah "salin &tempel" Caranya! Cara termudah untuk mengikuti tutorial ini adalah dengan menggunakan klien baris perintah/klien SSH (seperti Putty untuk Windows) dan cukup salin dan tempel perintah (kecuali jika Anda harus memberikan informasi sendiri seperti alamat IP, nama host, kata sandi,... ). Ini membantu menghindari kesalahan ketik.
Pengaturan Sempurna - Debian Sarge (3.1)
Versi 1.9
Penulis:Falko Timme
Ini adalah deskripsi mendetail tentang langkah-langkah yang harus diambil untuk menyiapkan Debian server berbasis (Debian Sarge alias Debian 3.1) yang menawarkan semua layanan yang dibutuhkan oleh ISP dan hoster (server web (berkemampuan SSL), server surat (dengan SMTP-AUTH dan TLS!), server DNS, server FTP, server MySQL, POP3/POP3s/ IMAP/IMAP, Kuota, Firewall, dll.).
Saya akan menggunakan perangkat lunak berikut:
- Server Web:Apache 2.0.x
- Server Email:Postfix (lebih mudah dikonfigurasi daripada sendmail; memiliki riwayat lubang keamanan yang lebih pendek daripada sendmail)
- Server DNS:BIND9
- Server FTP:proftpd
- POP3/POP3s/IMAP/IMAPs:dalam contoh ini Anda dapat memilih antara format kotak surat UNIX tradisional (kami kemudian menggunakan ipopd/ uw-imapd) atau format Maildir (dalam hal ini kita akan menggunakan Courier-POP3/Courier-IMAP).
- Webalizer untuk statistik situs web
Pada akhirnya Anda harus memiliki sistem yang bekerja dengan andal dan siap untuk panel kontrol webhosting gratis ISPConfig(yaitu, ISPConfig menjalankannya dari kotak).
Saya ingin mengatakan terlebih dahulu bahwa ini bukan satu-satunya cara untuk menyiapkan 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!
Persyaratan
Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut:
- CD Debian SargeNetinstall (tersedia di sini:http://ftp.de.debian.org/debian-cd/3.1_r0a /i386/iso-cd/debian-31r0a-i386-netinst.iso)
- koneksi internet karena saya akan menjelaskan instalasi jaringan dalam dokumen ini
1 Sistem Basis
Masukkan CD SargeNetinstall Anda ke dalam sistem Anda dan boot darinya (masukkan linux26 pada prompt boot untuk menginstal kernel 2.6). Instalasi dimulai, dan pertama-tama Anda harus memilih bahasa Anda:
Pilih negara Anda:
Pilih tata letak keyboard:
Deteksi perangkat keras dimulai:
Masukkan nama host. Dalam contoh ini, sistem saya disebut server1 .example.com , jadi saya masukkan server1 :
Masukkan nama domain Anda. Dalam contoh ini, ini adalah example.com :
Sekarang Anda harus mempartisi hard disk Anda. Saya akan membuat satu partisi besar (dengan titik mount / ) dan sedikit partisi swap:
Sekarang sistem dasar sedang diinstal:
Saya menginstal GRUBboot loader ke master boot record:
Setelah itu hapus CD Sarge Netinstall dari sistem Anda dan reboot:
Konfigurasikan zona waktu Anda:
Masukkan sandi untuk root :
Buat pengguna kedua admin :
Pilih metode instalasi Anda. Karena saya ingin melakukan instalasi melalui jaringan, saya memilih http atau ftp .
Pilih cermin untuk instalasi Anda:
Masukkan proxy untuk instalasi (jika perlu) .Biasanya Anda dapat mengosongkan bidang ini.
Di bawah Pilihan perangkat lunak Debian Saya hanya memilih Mailserver . Saya akan menginstal semua layanan lain secara manual nanti.
Instalasi jaringan dimulai:
Lanjutkan menginstallibc-client tanpa dukungan Maildir. Jika Anda ingin menggunakan Maildir, Anda dapat menginstal Courier-POP3 /Courier-IMAP (dijelaskan nanti):
Jangan konfigurasikan Exim karena kami akan menggantinya dengan Postfix nanti:
Selamat! Sistem dasar Anda telah selesai sekarang:
Langkah berikutnya...
2 MemasangDan Mengonfigurasi Sistem Lainnya
Konfigurasi Jaringan
Karena penginstal DebianSarge telah mengonfigurasi sistem kami untuk mendapatkan pengaturan jaringannya melalui DHCP, kami harus mengubahnya sekarang karena server harus memiliki konfigurasi statis Alamat IP.Edit /etc/network/interfaces dan sesuaikan dengan kebutuhan Anda (dalam contoh pengaturan ini saya akan menggunakan alamat IP 192.168.0.100 ):
# /etc/network/interfaces -- file konfigurasi untuk ifup(8), ifdown(8) |
Jika Anda ingin menambahkan alamat IP 192.168.0.101 ke antarmuka eth0 Anda harus mengubah file agar terlihat seperti ini:
# /etc/network/interfaces -- file konfigurasi untuk ifup(8), ifdown(8) |
Kemudian restart jaringan Anda:
/etc/init.d/networkingrestart
Edit /etc/resolv.conf dan tambahkan beberapa server nama:
server pencarian |
Edit /etc/hosts dan tambahkan alamat IP baru Anda:
127.0.0.1 localhost.localdomain localhost server1 |
Menyetel NamaHost
echo server1.example.com> /etc/hostname
/bin/hostname -F /etc/hostname
Instal/Hapus Beberapa Perangkat Lunak
Sekarang mari kita instal beberapa perangkat lunak yang kita perlukan nanti dan hapus beberapa paket yang tidak kita perlukan:
apt-get install wget bzip2rdate fetchmail libdb3++-dev unzip zip ncftp xlispstat libarchive-zip-perl zlib1g-devlibpopt-dev nmap openssl lynx fileutils g++
apt-get remove lpr nfs-commonportmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig
update-rc.d -f exim hapus
update-inetd --removedaytime
update-inetd --hapus telnet
update-inetd - -hapus waktu
update-inetd --hapus jari
update-inetd --hapus pembicaraan
update-inetd --hapus ntalk
update-inetd --hapus ftp
update-inetd --hapus buang
<- Ya
/etc/init.d/openbsd-inetd isi ulang
Kuota
apt-get install quota quotatool
<- Tidak
Edit /etc/fstab agar terlihat seperti ini (saya menambahkan ,usrquota,grpquota ke partisi dengan titik mount / ):
# /etc/fstab:informasi sistem file statis. |
Kemudian jalankan:
sentuh /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Server DNS
apt-getinstall 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 pengguna yang tidak memiliki hak 'bind ', di-chroot ke /var/lib/named .Modifikasi baris:OPTS=" -ubind sehingga terbaca OPTS="-u bind-t /var/lib/named" :
OPTIONS="-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 konfigurasi 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 bind diupgrade di masa mendatang):
ln -s /var/lib/named/etc/bind/etc/bind
Buat null dan randomdevices, dan perbaiki izin direktori:
mknod /var/lib/named/dev/nullc 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 memodifikasi skrip startup /etc/init.d/ sysklogd dari sysklogd sehingga kita masih bisa mendapatkan pesan penting yang masuk ke log sistem. Ubah baris: SYSLOGD="" sehingga berbunyi:SYSLOGD="-a/var/lib/named/dev/log" :
#! /bin/sh |
Mulai ulang loggingdaemon:
/etc/init.d/sysklogd restart
Mulai BIND, dan centang /var/log/syslog untuk kesalahan apa pun:
/etc/init.d/bind9 start
MySQL
apt-getinstall mysql-server mysql-client libmysqlclient12-dev
mysqladmin -u root passwordyourrootsqlpassword
Saat Anda menjalankan netstat-tap Anda sekarang akan melihat garis seperti ini:
tcp 0 0 localhost.localdo:mysql *:* DENGARKAN 2449/mysqld |
yang berarti MySQL dapat diakses pada 127.0.0.1 pada port 3306. Anda dapat menuju ke bagian berikutnya (Postfix).Jika Anda tidak melihat baris ini, edit /etc/mysql/my.cnf dan beri komentar lewati-jaringan :
# skip-networking |
Jika Anda ingin MySQL mendengarkan semua alamat IP yang tersedia, edit /etc/mysql/my.cnf dan beri komentar bind-address =127.0.0.1 :
#bind-address =127.0.0.1 |
Jika Anda harus mengedit /etc/mysql/my.cnf Anda harus me-restart MySQL:
/etc/init.d/mysql restart
Jika MySQL mendengarkan di semua antarmuka, Anda sekarang juga harus menyetel kata sandi MySQL untuk server1.example.com karena jika tidak, siapa pun dapat mengakses database Anda:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
Postfix/POP3/IMAP
Untuk menginstalPostfix dengan SMTP-AUTH dan TLS serta server POP3 yang juga melakukan POP3s(port 995) dan server IMAP yang juga mampu IMAP (port 993) melakukan langkah-langkah berikut:
apt-get install postfixpostfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl (1 baris!)
<- pop3 dan pop3
<- Tidak
<- Situs Internet
<- TIDAK ADA
<- server1.example.com
<- server1.example.com, localhost.example.com, localhost
<- Tidak
postconf -e 'smtpd_sasl_local_domain='
postconf -e 'smtpd_sasl_auth_enable =yes'
postconf -e 'smtpd_sasl_security_options =noanonymous'
postconf -e 'broken_sasl_auth_clients =yes'
postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'checkinet_'
saslauthd'>> /etc/postfix/sasl/smtpd.conf
echo 'mech_list:login biasa'>> /etc/postfix/sasl/smtpd.conf
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 -hari 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days3650
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'
postconf -e 'smtpd_tls_key_file =/etc/postfix/ssl/smtpd.key'
post_cerpd_file 'smtpd_use_tls =yes'
etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_CAfile =/etc/postfix/ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel =1'
postconf -e 'smtpd_tls_received_header =yes'
postconf -e 'smtpd_tls_session_cache_timeout =3600s'
postconf -e 'tls_random_source =dev:/dev/urandom'
File /etc/postfix/main.cf sekarang akan terlihat seperti ini:
# Lihat /usr/share/postfix/main.cf.dist untuk komentar, versi yang lebih lengkapmtpd_banner =$myhostname ESMTP $mail_name (Debian/GNU )biff =no# menambahkan .domain adalah tugas MUA.append_dot_mydomain =no# Batalkan komentar pada baris berikutnya untuk menghasilkan peringatan "email tertunda"#delay_warning_time =4hmyhostname =server1.example.comalias_maps =hash:/etc/aliasesalias_database =hash:/etc /daliasesmyorigin =/etc/mailnamemydestination =server1.example.com, localhost.example.com, localhostrelayhost =mynetworks =127.0.0.0/8mailbox_command =procmail -a "$EXTENSION"mailbox_size_limit =0recipient_delimiter =+inet_interfaces =allsmtpd_soptions /noanonymousbroken_sasl_auth_clients =yessmtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationsmtpd_tls_auth_only =nosmtp_use_tls =yessmt_startpd_use_tls =postfix/ssl/smtpd.keysmtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crtsmtpd_tls_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpd_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpsion/_cad_header_receives |
/etc/init.d/postfixrestart
Otentikasi akan dilakukan oleh saslauthd .Kita harus mengubah beberapa hal untuk membuatnya bekerja dengan baik. Karena Postfix berjalan di root /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 .Hapus # di depan START=yes dan tambahkan baris PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" :
# Ini perlu dihapus komentarnya sebelum saslauthd dijalankan secara otomatisSTART=yesPARAMS="-m /var/spool/postfix/var/run/saslauthd - r"# Anda harus menentukan mekanisme otentikasi yang ingin Anda gunakan.# Ini default ke "pam" untuk dukungan PAM, tetapi mungkin juga menyertakan# "shadow" atau "sasldb", seperti ini:# MECHANISMS="pam shadow"MECHANISMS="pam" |
Kita juga harus mengedit /etc/init.d/saslauthd dan ubah lokasi file PID saslauthd. Ubah nilai PIDFILE ke /var/spool/postfix/var/run/${NAME}/saslauthd.pid :
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid" |
Sekarang mulai saslauthd :
/etc/init.d/saslauthd start
Selanjutnya kita buat file /etc/c-client.cf dengan isi sebagai berikut:
Saya menerima riskset disable-plaintext 0 |
dan mulai ulang inetd :
/etc/init.d/openbsd-inetd restart
Jika kita tidak melakukan ini, maka login POP3/IMAP kita akan gagal.
Untuk melihat apakah SMTP-AUTHand TLS berfungsi dengan baik, jalankan perintah berikut:
telnetlocalhost 25
Setelah Anda membuat koneksi ke jenis server email postfix Anda
ehlolocalhost
Jika Anda melihat garis
250-STARTTLS
dan
250-AUTH
semuanya baik-baik saja.
Jenis
keluar
untuk kembali ke shell sistem.
Courier-IMAP/Courier-POP3
Jika Anda ingin menggunakan daemon POP3/IMAP yang memiliki dukungan Maildir (jika Anda tidak ingin menggunakan format kotak surat Unix tradisional), Anda dapat menginstal Courier-IMAP/Courier-IMAP-SSL(untuk IMAP pada port 993) dan Courier-POP3/Courier-POP3-SSL (untuk POP3 pada port995). Jika tidak, Anda dapat melanjutkan dengan konfigurasi Apache.
apt-get install kurir-imapcourier-imap-ssl kurir-pop kurir-pop-ssl
<- Tidak
ipopd dan UW-IMAP akan diganti.
Kemudian konfigurasikanPostfix 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 ISPConfigon sistem Anda karena ISPConfig melakukan konfigurasi yang diperlukan menggunakan resep procmail. Tapi pastikan untuk mengaktifkan Maildir di bawah Manajemen -> Setelan ->Email di antarmuka web ISPConfig.