GNU/Linux >> Belajar Linux >  >> Debian

Pengaturan Sempurna - Debian Sarge (3.1)

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)

# The antarmuka loopback
auto lo
iface lo inet loopback

# Kartu jaringan pertama - entri ini dibuat selama instalasi Debian
# (jaringan, siaran, dan gateway adalah opsional)
auto eth0
iface eth0 inet static
alamat 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gerbang 192.168.0.1

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)

# The antarmuka loopback
auto lo
iface lo inet loopback

# Kartu jaringan pertama - entri ini dibuat selama instalasi Debian
# (jaringan, siaran, dan gateway adalah opsional)
auto eth0
iface eth0 inet static
alamat 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

auto eth0:0
iface eth0:0 inet static
alamat 192.168.0.101
netmask 255.255.255.0
network 192.168 .0.0
siaran 192.168.0.255
gerbang 192.168.0.1

Kemudian restart jaringan Anda:

/etc/init.d/networkingrestart

Edit /etc/resolv.conf dan tambahkan beberapa server nama:

server pencarian
server nama 145.253.2.75
server nama 193.174.32.18
server nama 194.25.0.60

Edit /etc/hosts dan tambahkan alamat IP baru Anda:

127.0.0.1 localhost.localdomain localhost server1
192.168.0.100 server1.example.com server1
192.168.0.101 virtual-ip1 .example.com virtual-ip1


# Baris berikut ini diinginkan untuk host berkemampuan IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

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.
#
#
proc /proc default proc 0 0
/dev/sda1 / default ext3,errors=remount-ro,usrquota,grpquota 0 1
/dev /sda5 none swap sw 0 0
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

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
# /etc/init.d/sysklogd:memulai daemon log sistem.

PATH=/bin:/usr/bin:/sbin:/usr/sbin

pidfile=/var/run/syslogd.pid
binpath=/sbin/syslogd

test -x $binpath || exit 0

# Opsi untuk memulai/memulai ulang daemon
# Untuk pencatatan UDP jarak jauh gunakan SYSLOGD="-r"
#
SYSLOGD="-a /var /lib/named/dev/log"

create_xconsole()
{
jika [ ! -e /dev/xconsole ]; lalu
mknod -m 640 /dev/xconsole p
else
chmod 0640 /dev/xconsole
fi
chown root:adm /dev/xconsole
}

running()
{
# Tidak ada pidfile, mungkin tidak ada daemon yang ada
#
if [ ! -f $pidfile ]
then
return 1
fi

pid=`cat $pidfile`

# Tidak ada pid, mungkin tidak daemon present
#
if [ -z "$pid" ]
then
return 1
fi

if [ ! -d /proc/$pid ]
lalu
kembalikan 1
fi

cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`

# Tidak ada syslogd?
#
if [ "$cmd" !="$binpath" ]
lalu
return 1
fi

return 0
}

case "$1" di
start)
echo -n "Memulai daemon log sistem:syslogd"
create_xconsole
start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD
echo ". "
;;
stop)
echo -n "Menghentikan daemon log sistem:syslogd"
start-stop-daemon --stop --quiet --exec $binpath -- pidfile $pidfile
echo "."
;;
reload|force-reload)
echo -n "Memuat ulang log sistem daemon:syslogd"
start-stop- daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile
echo "."
;;
restart)
echo -n "Memulai ulang daemon log sistem:syslogd"
start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile
sleep 1
start-stop-daemon --start - -tenang --exec $binp ath -- $SYSLOGD
echo "."
;;
reload-or-restart)
jika dijalankan
maka
echo -n "Memuat ulang sistem log daemon:syslogd"
start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile
else
echo -n "Memulai ulang log sistem daemon:syslogd"
start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD
fi
echo "."
;;
*)
echo "Penggunaan:/etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}"
exit 1
esac

keluar 0

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.


Debian
  1. Cara Setup Server Rsyslog di Debian 11

  2. Perbarui ISPConfig Perfect Server dari Debian 10 ke Debian 11

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

  1. Cara Setup Server Rsyslog di Debian 11 (Bullseye)

  2. Pengaturan Sempurna - Debian Woody (3.0)

  3. Desktop Sempurna - Debian Squeeze

  1. Server Sempurna - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

  2. Server Sempurna - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

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