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

Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2]

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 pada prompt boot:

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.# LoadModule php5_module modules/libphp5.so # Penggunaan build "ZTS" dengan pekerja bersifat eksperimental, dan tidak ada # modul bersama yang didukung. LoadModule php5_module modules/libphp5-zts.so## Menyebabkan interpreter PHP menangani file dengan ekstensi .php.##AddHandler php5-script .php#AddType text/html .php## Tambahkan index.php ke daftar file yang akan disajikan sebagai direktori# indexes.#DirectoryIndex index.php## Hapus tanda komentar pada baris berikut untuk memungkinkan PHP mencetak file .phps# cantik sebagai kode sumber PHP:##AddType application/x-httpd-php -sumber .phps

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## DenyAll#[...] 

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

  • CentOS:http://www.centos.org/
  • ISPConfig 2:http://www.ispconfig.org/ispconfig-2/

Panels
  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]

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

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

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