Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2]
Tutorial ini menunjukkan cara menyiapkan CentOS 5.7 server (x86_64) yang menawarkan semua layanan yang dibutuhkan oleh ISP dan web hoster:Apache web server (SSL-capable), Postfix mail server dengan SMTP-AUTH dan TLS, BIND DNS server, Proftpd FTP server, MySQL server, Dovecot POP3/IMAP, Kuota, Firewall, dll. Tutorial ini ditulis untuk CentOS 5.7 versi 64-bit, tetapi juga berlaku untuk versi 32-bit dengan sedikit modifikasi. Pada akhirnya Anda harus memiliki sistem yang bekerja dengan andal, dan jika mau, Anda dapat menginstal panel kontrol webhosting gratis ISPConfig 2 (mis., ISPConfig menjalankannya di luar kotak).
Saya akan menggunakan perangkat lunak berikut:
- Server Web:Apache 2.2 dengan PHP 5.1.6
- Server Basis Data:MySQL 5.0
- Server Email:Postfix
- Server DNS:BIND9 (di-chroot)
- Server FTP:Proftpd
- Server POP3/IMAP:Dovecot
- 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:
- Unduh dua DVD CentOS 5.7 atau delapan CD CentOS 5.7 dari mirror di sebelah Anda (daftar mirror dapat ditemukan di sini:http://isoredirect.centos.org/centos/5/isos/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. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
3 Instal Sistem Dasar
Boot dari CD CentOS 5.7 pertama Anda (CD 1) atau DVD CentOS 5.7 pertama Anda. Tekan
Diperlukan waktu lama untuk menguji media penginstalan, jadi kami melewatkan tes ini di sini:
Layar pembuka penginstal CentOS muncul. Klik Berikutnya:
Pilih bahasa Anda selanjutnya:
Pilih tata letak keyboard Anda:
Saya menginstal CentOS 5.7 pada sistem yang baru, jadi saya menjawab Ya untuk pertanyaan Apakah Anda ingin menginisialisasi drive ini, menghapus SEMUA DATA?
Sekarang kita harus memilih skema partisi untuk instalasi kita. Demi kesederhanaan, saya memilih Hapus partisi linux pada drive yang dipilih dan buat tata letak default. Ini akan menghasilkan /boot kecil dan partisi / besar serta partisi swap. Tentu saja, Anda bebas mempartisi hard drive Anda sesuka Anda. Lalu saya tekan Next:
Jawab pertanyaan berikut (Apakah Anda yakin ingin melakukannya?) dengan Ya:
Ke pengaturan jaringan. Pengaturan default di sini adalah untuk mengonfigurasi antarmuka jaringan dengan DHCP, tetapi kami memasang server, jadi alamat IP statis bukanlah ide yang buruk... Klik tombol Edit di kanan atas.
Di jendela yang muncul, hapus centang Konfigurasi IP Dinamis (DHCP) dan Aktifkan dukungan IPv6 dan berikan kartu jaringan Anda alamat IP statis (dalam tutorial ini saya menggunakan alamat IP 192.168.0.100 untuk tujuan demonstrasi) dan netmask yang sesuai (mis. 255.255.255.0; jika Anda tidak yakin tentang nilai yang benar, http://www.subnetmask.info dapat membantu Anda):
Atur nama host secara manual, mis. server1.example.com, dan masukkan gateway (mis. 192.168.0.1) dan hingga dua server DNS (mis. 8.8.8.8 dan 145.253.2.75):
Pilih zona waktu Anda:
Berikan root kata sandi:
Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2] - Halaman 2
4 Sesuaikan /etc/hosts
Selanjutnya kita edit /etc/hosts. Jadikan seperti ini:
vi /etc/hosts
# Jangan hapus baris berikut, atau berbagai program# yang memerlukan fungsionalitas jaringan akan gagal.127.0.0.1 localhost.localdomain localhost192.168.0.100 server1 .example.com server1::1 localhost6.localdomain6 localhost6 |
5 Konfigurasi Alamat IP Tambahan
(Bagian ini sepenuhnya opsional. Bagian ini hanya menunjukkan cara menambahkan alamat IP tambahan ke antarmuka jaringan Anda eth0 jika Anda memerlukan lebih dari satu alamat IP. Jika Anda setuju dengan satu alamat IP, Anda dapat melewati bagian ini.)
Mari kita asumsikan antarmuka jaringan kita adalah eth0. Lalu ada file /etc/sysconfig/network-scripts/ifcfg-eth0 yang berisi pengaturan untuk eth0. Kita dapat menggunakan ini sebagai contoh untuk antarmuka jaringan virtual baru kita eth0:0:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
Sekarang kita ingin menggunakan alamat IP 192.168.0.101 pada antarmuka virtual eth0:0. Oleh karena itu kami membuka file /etc/sysconfig/network-scripts/ifcfg-eth0:0 dan memodifikasinya sebagai berikut (kami dapat mengabaikan baris HWADDR karena ini adalah kartu jaringan fisik yang sama):
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Tembaga)DEVICE=eth0:0BOOTPROTO=staticBROADCAST=192.168.0.255IPADDR=192.168.0.101NETMASK=255.255.255.0 NETWORK=192.168.0.0ONBOOT=ya |
Setelah itu kita harus me-restart jaringan:
/etc/init.d/network restart
Anda mungkin juga ingin menyesuaikan /etc/hosts setelah Anda menambahkan alamat IP baru, meskipun ini tidak perlu.
Sekarang jalankan
ifconfig
Anda sekarang akan melihat alamat IP baru Anda di output:
[[email protected] ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:89:71:35
inet addr:192.168.0.100 Bcast:192.168.0.255 .Mask 255.0
UP BROADCAST MENJALANKAN MULTICAST MTU:1500 Metrik:1
RX packets:307 errors:0 dropped:0 overruns:0 frame:0
errors :0 carrier:0
collisions:0 txqueuelen:1000
RX byte:29217 (28.5 KiB) TX byte:45961 (44.8 KiB)
eth0 encap HWaddr 00:0C:29:89:71:35
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK MENJALANKAN MTU:16436 RX Metrik
:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX byte:560 (560.0 b) TX bytes:560 (560.0 b)
[[email protected] ~]#
6 Nonaktifkan Firewall Dan SELinux
(Anda dapat melewati bab ini jika Anda telah menonaktifkan firewall dan SELinux di akhir penginstalan sistem dasar (di Agen Setup).)
Saya ingin menginstal ISPConfig di akhir tutorial ini yang dilengkapi dengan firewallnya sendiri. Itu sebabnya saya menonaktifkan firewall CentOS default sekarang. Tentu saja, Anda bebas untuk membiarkannya dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall CentOS).
SELinux adalah ekstensi keamanan CentOS 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 SELinux yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya juga (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).
Jalankan
system-config-securitylevel
Setel Tingkat Keamanan dan SELinux ke Dinonaktifkan dan tekan OK:
Setelah itu kita harus me-reboot sistem:
boot ulang
7 Instal Beberapa Perangkat Lunak
Pertama-tama kita mengimpor kunci GPG untuk paket perangkat lunak:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Kemudian kami memperbarui paket kami yang ada di sistem:
pembaruan enak
Sekarang kita install beberapa paket software yang dibutuhkan nantinya:
yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils gcc gcc-c++
8 Kuota
(Jika Anda telah memilih skema partisi yang berbeda dari saya, Anda harus menyesuaikan bab ini sehingga kuota berlaku untuk partisi yang Anda butuhkan.)
Untuk memasang kuota, kita jalankan perintah ini:
kuota instal yum
Edit /etc/fstab dan tambahkan,usrquota,grpquota ke partisi / (/dev/VolGroup00/LogVol00):
vi /etc/fstab
/dev/VolGroup00/LogVol00 / default ext3,usrquota,grpquota 1 1LABEL=/boot /boot default ext3 1 2tmpfs /dev/shm tmpfs default 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs default 0 0proc /proc default proc 0 0/dev/VolGroup00/LogVol01 swap swap default 0 0 |
Kemudian jalankan
sentuh /aquota.user /aquota.group
chmod 600 /aquota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
untuk mengaktifkan kuota.
9 Instal Server DNS Chroot (BIND9)
Untuk menginstal BIND9 chroot, kita lakukan ini:
yum install bind-chroot
Kemudian lakukan ini:
chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/ bernama/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/ var/named/
ln -s ../../ chroot
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/ chroot/var/named/named.local
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
touch /var/named/chroot/etc/named.conf
chkconfig --levels 235 bernama pada
/etc/init.d/named start
BIND akan berjalan di penjara chroot di bawah /var/named/chroot/var/named/. Saya akan menggunakan ISPConfig untuk mengkonfigurasi BIND (zona, dll.).
Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2] - Halaman 4
10 MySQL (5.0)
Untuk menginstal MySQL, kita lakukan ini:
yum install mysql mysql-devel mysql-server
Kemudian kita membuat link startup sistem untuk MySQL (sehingga MySQL mulai secara otomatis setiap kali sistem boot) dan memulai server MySQL:
chkconfig --levels 235 mysqld pada
/etc/init.d/mysqld start
Sekarang periksa apakah jaringan diaktifkan. Jalankan
netstat -ketuk | grep mysql
Seharusnya menunjukkan baris seperti ini:
[[email protected] ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* DENGARKAN 3486 />[mysql@Punix]
Jika tidak, edit /etc/my.cnf dan beri komentar pada opsi lewati-jaringan:
vi /etc/my.cnf
[...]#skip-networking[...] |
dan restart server MySQL Anda:
/etc/init.d/mysqld restart
Setel kata sandi untuk akun root MySQL:
mysql_secure_installation
[[email protected] ~]# mysql_secure_installation
CATATAN:MENJALANKAN SEMUA BAGIAN SKRIP INI DIREKOMENDASIKAN UNTUK SEMUA MySQL
SERVER DI PRODUKSI MENGGUNAKAN! 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 none):
Oke, sandi berhasil digunakan, pindah ...
Menyetel sandi root memastikan bahwa tidak ada yang dapat masuk ke akar MySQL
pengguna tanpa otorisasi yang sesuai.
Tetapkan sandi root? [Y/n] <-- ENTER
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] <-- ENTER
... 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] <-- ENTER
... 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] <-- MASUKKAN
- 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] <-- ENTER
... Berhasil!
Membersihkan...
Selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan MySQL
Anda seharusnya kini aman.
Terima kasih telah menggunakan MySQL!
[contoh @unixlinux.online ~]#
11 Postfix Dengan SMTP-AUTH Dan TLS
Sekarang kita menginstal Postfix dan Dovecot (Dovecot akan menjadi server POP3/IMAP kita):
yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot
Selanjutnya kita konfigurasi SMTP-AUTH dan TLS:
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 '7.0.net_interfaces =semua =semua'
Kita harus mengedit /usr/lib64/sasl2/smtpd.conf agar Postfix mengizinkan login PLAIN dan LOGIN. Pada Centos 5.7 32Bit Anda harus mengedit file /usr/lib/sasl2/smtpd.conf sebagai gantinya. Seharusnya terlihat seperti ini:
vi /usr/lib64/sasl2/smtpd.conf
pwcheck_method:saslauthdmech_list:login biasa |
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:
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'
Kemudian kita set hostname pada instalasi Postfix kita (pastikan Anda mengganti server1.example.com dengan hostname Anda sendiri):
postconf -e 'myhostname =server1.example.com'
Setelah langkah-langkah konfigurasi ini, Anda sekarang harus memiliki /etc/postfix/main.cf yang terlihat seperti ini (saya telah menghapus semua komentar darinya):
cat /etc/postfix/main.cf
queue_directory =/var/spool/postfixcommand_directory =/usr/sbindaemon_directory =/usr/libexec/postfixmail_owner =postfixinet_interfaces =allmydestination =$myhostname, localhost.$ domain saya, localhostunknown_local_recipient_reject_code =550alias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasesdebug_peer_level =2debugger_command =PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6 process_name $process_id &sleep 5sendmail_path =/usr/sbin/sendmail.postfixnewaliases_path =/usr/bin/newaliases.postfixmailq_path =/usr/bin/mailq.postfixsetgid_group =postdrophtml_directory =nomanpage_directory =/usr/share/mansample_directory =/usr/share/mansample_directory =dredoc/postfix-2.3.3/samplesreadme_directory =/usr/share/doc/postfix-2.3.3/README_FILESsmtpd_sasl_local_domain =smtpd_sasl_auth_enable =yessmtpd_sasl_security_options =noanonymousbroken_sasl_authsip strictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationmynetworks =127.0.0.0/8smtpd_tls_auth_only =nosmtp_use_tls =yessmtpd_use_tls =yessmtp_tls_note_starttls_offer =yessmtpd_tls_key_file =/etc/postfix/ssl/smtpd.keysmtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crtsmtpd_tls_CAfile =/etc/postfix/ssl /cacert.pemsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_session_cache_timeout =3600stls_random_source =dev:/dev/urandommyhostname =server1.example.com |
Secara default, daemon Dovecot CentOS hanya menyediakan layanan IMAP dan IMAP. Karena kita juga menginginkan POP3 dan POP3, kita harus mengkonfigurasi Dovecot untuk melakukannya. Kita edit /etc/dovecot.conf dan aktifkan baris protokol =imap imaps pop3 pop3s:
vi /etc/dovecot.conf
[...]# Protokol yang ingin kami layani:imap imaps pop3 pop3s# Jika Anda hanya ingin menggunakan dovecot-auth, Anda dapat mengatur ini ke "none".protocols =imap imaps pop3 pop3s[...] |
Sekarang mulai Postfix, saslauthd, dan Dovecot:
chkconfig --level 235 sendmail nonaktif
chkconfig --level 235 postfix aktif
chkconfig --level 235 saslauthd aktif
chkconfig --level 235 dovecot aktif
/etc/init.d /sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot 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
250-AUTH LOGIN PLAIN
semuanya baik-baik saja.
[[email protected] ssl]# telnet localhost 25
Mencoba 127.0.0.1...
Terhubung ke localhost.localdomain (127.0.0.1).
Karakter Escape adalah '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250- VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN POLOS
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
keluar
221 2.0.0 Sampai jumpa
Koneksi ditutup oleh host asing.
[[email protected] ssl]#
Ketik
berhenti
untuk kembali ke shell sistem.
11.1 Maildir
Dovecot menggunakan format Maildir (bukan mbox), jadi jika Anda menginstal ISPConfig di server, pastikan Anda mengaktifkan Maildir di Manajemen -> Server -> Pengaturan -> Email. ISPConfig kemudian akan melakukan konfigurasi yang diperlukan.
Jika Anda tidak ingin menginstal ISPConfig, maka Anda harus mengkonfigurasi Postfix untuk mengirimkan email ke Maildir pengguna (Anda juga dapat melakukannya jika Anda menggunakan ISPConfig - tidak ada salahnya;-)):
postconf -e 'home_mailbox =Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart
Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2] - Halaman 5
12 Apache2 Dengan PHP, Ruby, Python, WebDAV
Sekarang kita menginstal Apache dengan PHP (ini adalah PHP 5.1.6):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
Kemudian edit /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf
dan ubah DirectoryIndex menjadi
[...]DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl[... ] |
Sekarang konfigurasikan sistem Anda untuk memulai Apache saat boot:
chkconfig --levels 235 httpd aktif
Mulai Apache:
/etc/init.d/httpd start
12.1 Nonaktifkan PHP Secara Global
(Jika Anda tidak berencana 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, edit /etc/httpd/conf.d/php.conf dan beri komentar pada baris AddHandler dan AddType:
vi /etc/httpd/conf.d/php.conf
## PHP adalah bahasa scripting HTML-embedded yang mencoba untuk membuatnya# mudah bagi pengembang untuk menulis halaman web yang dihasilkan secara dinamis.# |
Setelah itu kita restart Apache:
/etc/init.d/httpd restart
12.2 Memasang mod_ruby
Untuk CentOS 5.7, tidak ada paket mod_ruby yang tersedia, jadi kita harus mengompilasinya sendiri. Pertama kita install beberapa prasyarat:
yum install httpd-devel ruby ruby-devel
Selanjutnya kita download dan install mod_ruby sebagai berikut :
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
Terakhir kita harus menambahkan modul mod_ruby ke konfigurasi Apache, jadi kita buat file /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so |
... dan mulai ulang Apache:
/etc/init.d/httpd restart
12.3 Memasang mod_python
Untuk menginstal mod_python, kita cukup menjalankan...
yum install mod_python
... dan restart Apache setelahnya:
/etc/init.d/httpd restart
12.4 WebDAV
WebDAV seharusnya sudah diaktifkan, tetapi untuk memeriksanya, buka /etc/httpd/conf/httpd.conf dan pastikan ketiga modul berikut aktif:
vi /etc/httpd/conf/httpd.conf
[...]LoadModule auth_digest_module modules/mod_auth_digest.so[...]LoadModule dav_module modules/mod_dav.so[...]LoadModule dav_fs_module module/mod_dav_fs.so[...] |
Jika Anda harus memodifikasi /etc/httpd/conf/httpd.conf, jangan lupa untuk me-restart Apache setelahnya:
/etc/init.d/httpd restart
13 ProFTPd
ISPConfig memiliki dukungan yang lebih baik untuk proftpd daripada vsftpd, jadi mari kita hapus vsftpd:
yum hapus vsftpd
Karena CentOS tidak memiliki paket proftpd, kita harus mengkompilasi Proftpd secara manual:
cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
tar xvfz proftpd-1.3.3e.tar .gz
cd proftpd-1.3.3e/
./configure --sysconfdir=/etc
make
make install
cd ..
rm - dari proftpd-1.3.3e*
Biner proftpd terinstal di /usr/local/sbin, tetapi kami membutuhkannya di /usr/sbin, jadi kami membuat symlink:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd
Sekarang buat skrip init /etc/init.d/proftpd:
vi /etc/init.d/proftpd
#!/bin/sh# $Id:proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $## proftpd Skrip shell ini menangani memulai dan menghentikan# proftpd.## chkconfig:- 80 30# deskripsi:ProFTPD adalah server FTP yang disempurnakan dengan fokus pada \# kesederhanaan, keamanan, dan kemudahan konfigurasi. \# Ini memiliki sintaks konfigurasi yang sangat mirip Apache, \# dan infrastruktur server yang sangat dapat disesuaikan, \# termasuk dukungan untuk beberapa server FTP 'virtual', \# FTP anonim, dan visibilitas direktori berbasis izin.# nama proses:proftpd# config:/etc/proftp.conf# pidfile:/var/run/proftpd.pid# Pustaka fungsi sumber.. /etc/rc.d/init.d/functions# Konfigurasi jaringan sumber.. /etc/sysconfig/network# Periksa apakah jaringan sudah aktif.[ ${NETWORKING} ="no" ] &&exit 0[ -x /usr/sbin/proftpd ] || exit 0RETVAL=0prog="proftpd"start() { echo -n $"Memulai $prog:" daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] &&sentuh /var/lock/subsys/proftpd}stop() { echo -n $"Mematikan $prog:" killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] &&rm -f /var/lock/subsys/proftpd}# Lihat bagaimana kita dipanggil.case "$1" di awal) start;; berhenti berhenti;; status) status proftpd RETVAL=$?;; mulai ulang) hentikan mulai;; condrestart) jika [ -f /var/lock/subsys/proftpd ]; kemudian berhenti mulai fi;; reload) echo -n $"Membaca ulang konfigurasi $prog:" killproc proftpd -HUP RETVAL=$? gema;; *) echo "Penggunaan:$prog {start|stop|restart|reload|condrestart|status}" exit 1esacexit $RETVAL |
Kemudian kami membuat skrip init dapat dieksekusi:
chmod 755 /etc/init.d/proftpd
Selanjutnya kita buka /etc/proftpd.conf dan ubah Group menjadi none:
vi /etc/proftpd.conf
[...]Tidak ada yang mengelompokkan[...] |
Untuk alasan keamanan, Anda juga dapat menambahkan baris berikut ke /etc/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.conf
[...]DefaultRoot ~IdentLookups offServerIdent pada "FTP Server ready."[...] |
Untuk memastikan bahwa pengguna FTP dapat menggunakan perintah chmod, beri komentar di bagian
[...]# Bar penggunaan SITE CHMOD secara default# |
Sekarang kita dapat membuat link startup sistem untuk Proftpd:
chkconfig --levels 235 proftpd aktif
Dan akhirnya kita mulai Proftpd:
/etc/init.d/proftpd start
14 Webalizer
Untuk menginstal webalizer, jalankan saja
yum install webalizer
15 Menyinkronkan Jam Sistem
Jika Anda ingin agar jam sistem disinkronkan dengan server NTP, lakukan hal berikut:
yum install ntp
chkconfig --levels 235 ntpd pada
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start
16 Instal Beberapa Modul Perl
ISPConfig dilengkapi dengan SpamAssassin yang membutuhkan beberapa modul Perl untuk bekerja. Kami menginstal modul Perl yang diperlukan dengan satu perintah:
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-Archive-Tar perl-NetAddr-IP
17 Akhir
Konfigurasi server sekarang sudah selesai, dan jika mau, sekarang Anda dapat menginstal ISPConfig 2 di dalamnya.
17.1 Catatan Tentang SuExec
Jika Anda ingin menjalankan skrip CGI di bawah suExec, Anda harus menentukan /var/www sebagai direktori home untuk situs web yang dibuat oleh ISPConfig karena suExec CentOS dikompilasi dengan /var/www sebagai Doc_Root. Jalankan
/usr/sbin/suexec -V
dan hasilnya akan terlihat seperti ini:
[[email protected] ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache "
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
- D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[[email protected] ~]#
Jadi jika Anda ingin menggunakan suExec dengan ISPconfig, jangan mengubah root web default (yaitu /var/www) jika Anda menggunakan mode ahli selama instalasi ISPConfig (dalam mode standar Anda tidak dapat mengubah root web, jadi Anda 'akan dapat menggunakan suExec dalam hal apa pun).
18 Tautan
- CentOS:http://www.centos.org/
- ISPConfig 2:http://www.ispconfig.org/ispconfig-2/