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).
18 Tautan
- CentOS:http://www.centos.org/
- ISPConfig 2:http://www.ispconfig.org/ispconfig-2/