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

Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 2]

Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 2]

Tutorial ini menunjukkan cara menyiapkan CentOS 6.0 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 6.0 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.15 dengan PHP 5.3.2
  • Server Basis Data:MySQL 5.1.52
  • 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 6.0 dari mirror di sebelah Anda (daftar mirror dapat ditemukan di sini:http://isoredirect.centos.org/centos/6/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 CentOS 6.0 DVD (DVD 1) pertama Anda. Pilih Instal atau perbarui sistem yang ada:

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 berasumsi bahwa Anda menggunakan hard drive yang terpasang secara lokal, jadi Anda harus memilih Perangkat Penyimpanan Dasar di sini:

Anda mungkin melihat peringatan berikut - Drive pemrosesan kesalahan. Jika Anda melihat ini, klik tombol Re-inisialisasi semua untuk melanjutkan:

Isi hostname server (misal server1.example.com), lalu klik tombol Configure Network:

Buka tab Wired, pilih antarmuka jaringan (mungkin eth0) dan klik Edit...:

Tandai kotak centang Hubungkan secara otomatis dan buka tab Pengaturan IPv4 dan pilih Manual di menu tarik-turun Metode. Isikan satu, dua, atau tiga nameserver (dipisahkan dengan koma) pada kolom DNS server (mis. 8.8.8.8,8.8.4.4), lalu klik tombol Add di sebelah area Addresses:

Sekarang berikan kartu jaringan Anda alamat IP statis dan netmask (dalam tutorial ini saya menggunakan alamat IP 192.168.0.100 dan netmask 255.255.255.0 untuk tujuan demonstrasi; jika Anda tidak yakin tentang nilai yang benar, http://www. subnetmask.info mungkin membantu Anda). Isi juga gateway Anda (mis. 192.168.0.1) dan klik tombol Apply...:

Konfigurasi jaringan sekarang selesai. Klik tombol Berikutnya:

Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 2] - Halaman 2

4 Sesuaikan /etc/hosts

Selanjutnya kita edit /etc/hosts. Jadikan seperti ini:

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5 Konfigurasi Firewall

(Anda dapat melewati bab ini jika Anda telah menonaktifkan firewall di akhir penginstalan sistem dasar.)

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

Jalankan

system-config-firewall

dan menonaktifkan firewall.

Untuk memeriksa apakah firewall benar-benar telah dinonaktifkan, Anda dapat menjalankan

iptables -L 

setelah itu. Outputnya akan terlihat seperti ini:

[[email protected] ~]# iptables -L
Rantai INPUT (policy ACCEPT)
target     prot opt source             tujuan

Rantai FORWARD (
Keluaran rantai (policy ACCEPT)
target     prot opt sumber             tujuan
[example@unixlinux]#

6 Nonaktifkan SELinux

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 (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

Edit /etc/selinux/config dan atur SELINUX=disabled:

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Setelah itu kita harus me-reboot sistem:

reboot

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:

yum update

Sekarang kita install beberapa paket software yang dibutuhkan nantinya:

yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils gcc gcc-c++ telnet flex

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:

yum install quota

Edit /etc/fstab dan tambahkan ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 ke partisi / (/dev/mapper/vg_server1-lv_root):

vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jul 11 16:29:27 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_server1-lv_root /                       ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
UUID=6a119ddb-46eb-4054-a17c-8968ea87369f /boot                   ext4    defaults        1 2
/dev/mapper/vg_server1-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

Kemudian jalankan

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 /var/named/named.localhost /var/named/chroot/var/named/named.localhost
cp /var/named/named.ca /var/named/chroot/var/named/named.ca
cp /var/named/named.empty /var/named/chroot/var/named/named.empty
cp /var/named/named.loopback /var/named/chroot/var/named/named.loopback
chgrp bernama /var/named/chroot/var/named/named.localhost /var/named /chroot/var/named/named.ca /var/named/chroot/var/named/named.empty /var/named/chroot/var/named/named.loopback
sentuh /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 6.0 x86_64 [ISPConfig 2] - Halaman 4

10 MySQL (5.1)

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 -tap | grep mysql

Seharusnya menunjukkan baris seperti ini:

[[email protected] ~]# netstat -tap | grep mysql
tcp       0     0 *:mysql                 *:*                    DENGARKAN     2044 />[mysql

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'
mypost0.0'

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/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
mynetworks = 127.0.0.0/8
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
myhostname = 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/dovecot.conf dan aktifkan baris protokol =imap pop3:

vi /etc/dovecot/dovecot.conf
[...]
# Protocols we want to be serving.
protocols = imap pop3
[...]

Selanjutnya kita perlu mengaktifkan otentikasi plaintext:

vi /etc/dovecot/conf.d/10-auth.conf
[...]
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
disable_plaintext_auth = no
[...]

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 PLAIN LOGIN 

semuanya baik-baik saja.

[[email protected] ssl]# telnet localhost 25
Mencoba ::1...
Terhubung ke localhost.
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
LOGIN POLOS 250-AUTH
250-AUTH=MASUK LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<-- keluar
221 2.0.0 Sampai jumpa
Koneksi ditutup oleh host asing.
[[email protected] ssl]#

Ketik

quit 

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 6.0 x86_64 [ISPConfig 2] - Halaman 5

12 Apache2 Dengan PHP, Ruby, Python, WebDAV

Sekarang kita menginstal Apache dengan PHP (ini adalah PHP 5.3.2):

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 on

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 is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

#
# Cause the PHP interpreter to handle files with a .php extension.
#
#AddHandler php5-script .php
#AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

Setelah itu kita restart Apache:

/etc/init.d/httpd restart

12.2 Memasang mod_ruby

Untuk CentOS 6.0, 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://www.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
RubyAddPath /1.8

... dan mulai ulang Apache:

/etc/init.d/httpd restart

(Jika Anda mengabaikan direktif RubyAddPath /1.8, Anda akan melihat kesalahan seperti berikut ini di log kesalahan Apache saat Anda memanggil file Ruby:

[Kamis 26 Mei 02:05:05 2011] [error] mod_ruby:ruby:0:in `require':tidak ada file seperti itu untuk dimuat -- apache/ruby-run (LoadError)
[Kamis 26 Mei 02:05:05 2011] [kesalahan] mod_ruby:gagal meminta apache/ruby-run
[Kamis 26 Mei 02:05:05 2011] [kesalahan] mod_ruby:kesalahan dalam ruby

)

12.3 Memasang mod_python

Paket mod_python tersedia dari repositori EPEL yang dapat kita aktifkan sebagai berikut:

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch. rpm
rpm -ivh epel-release-6-5.noarch.rpm

yum install yum-priorities

Edit /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... dan tambahkan baris priority=10 ke bagian [epel]:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

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 modules/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 remove vsftpd

Sekarang kita dapat menginstal ProFTPd dari repositori EPEL sebagai berikut:

yum install proftpd  

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
[...]
IdentLookups off
[...]

Sekarang kita dapat membuat link startup sistem untuk ProFTPd:

chkconfig --levels 235 proftpd on

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 selesai. Sekarang Anda dapat menginstal ISPConfig di dalamnya, dengan mengikuti petunjuk berikut: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 673:

vim /usr/include/stdio.h
[...]
/* Like `getdelim', but reads up to a newline.

   This function is not part of POSIX and therefore no official
   cancellation point.  But due to similarity with an POSIX interface
   or due to the implementation it is a cancellation point and
   therefore not marked with __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:tipe konflik untuk 'getline'
/usr/include/stdio.h:673:catatan:deklarasi 'getline' sebelumnya ada di sini
make[2]:*** [htpasswd. o] Error 1
make[2]:Meninggalkan direktori `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]:*** [build-support] Error 1
make[1]:Meninggalkan direktori `/home/install_ispconfig/compile_aps/apache_1.3.41'
make:*** [build] Error 2
ERROR:Could not make Apache

Anda dapat membatalkan perubahan ke /usr/include/stdio.h setelah instalasi ISPConfig berhasil (tetapi jangan lupa untuk mengubahnya kembali setiap kali Anda ingin memperbarui ISPConfig!).

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

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