Next Previous Contents

3. Menyatukan semuanya

3.1 Module Apache untuk dicoba

Module2 lain yang penulis pakai selain SSL, PHP dan frontpage adalah:

Module env_module          mod_env.o
Module config_log_module   mod_log_config.o
Module mime_module         mod_mime.o
Module negotiation_module  mod_negotiation.o
Module dir_module          mod_dir.o
Module cgi_module          mod_cgi.o
Module asis_module         mod_asis.o
Module imap_module         mod_imap.o
Module action_module       mod_actions.o
Module alias_module        mod_alias.o
Module rewrite_module      mod_rewrite.o
Module access_module       mod_access.o
Module auth_module         mod_auth.o
Module anon_auth_module    mod_auth_anon.o
Module digest_module       mod_digest.o
Module expires_module      mod_expires.o
Module headers_module      mod_headers.o
Module browser_module      mod_browser.o

3.2 Lebih mengamankan CGI

Jika Anda adalah ISP (Mungkin, jika anda membaca ini) anda akan ingin menambah keamanan. Utilitas suexec memungkinkan anda melakukannya; suexec akan menjalankan CGI di bawah UID dari pemilik skrip, bukan menjalankan CGI di bawah UID webserver. Ke /usr/src/apache_1.2.6/support dan make suexec. chmod 4711 suexec dan copy ke lokasi yang disebutkan dalam ../src/httpd.h yang defaultnya akan berupa /usr/local/etc/httpd/sbin/suexec. Jika patch-nya kelihatan sedikit cryptic bagi anda -seperti bagi penulis- edit httpd.h dan set path ke lokasi yang lebih enak.

3.3 Kompilasi dan Install server daemon

Masuk ke /usr/src/apache_1.2.6/src dan edit Configuration untuk mengeset semua Module yang ingin Anda include dalam Apache daemon. Lalu, jalankan ./Configure dan make yang akan merupakan langkah kompilasi paling akhir dan paling rumit, jadi silakan berdoa. Jika berhasil, cp httpsd ke /usr/sbin. daemon hasil kompilasi ini kelihatannya besar, pikirkan hal ini ketika membangun webserver Anda. Buat direktori /var/httpd dengan subdirektori cgi-bin, conf, htdocs, icons, virt1, virt2 dan logs. Dalam /usr/src/apache_1.2.6/conf edit access.conf-dist, mime.types dan srm.conf-dist sesuai keperluan anda dan copy ke var/httpd/conf/access.conf, srm.conf dan mime.types. Salin httpsd.pem yang telah anda buat dengan make certificate ke /var/httpd/conf. Gunakan httpd.conf berikut ini:

ServerType standalone
Port 80
Listen 80
Listen 443
User wwwrun
Group wwwrun
ServerAdmin webmaster@yourhost.com
ServerRoot /var/httpd
ErrorLog logs/error_log
TransferLog logs/access_log
PidFile logs/httpd.pid
ServerName www.yourhost.com
MinSpareServers 3
MaxSpareServers 20
StartServers 3

SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/ssl.log
 
<VirtualHost www.virt1.com>
SSLDisable
ServerAdmin webmaster@virt1.com
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com
ErrorLog logs/virt1-error.log
TransferLog logs/virt1-access.log
User virt1admin
Group users
</VirtualHost>

<VirtualHost www.virt1.com:443>
ServerAdmin webmaster@virt1.com
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com
ErrorLog logs/virt1-ssl-error.log
TransferLog logs/virt1-ssl-access.log
User virt1admin
Group users
SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/virt1-ssl.log
SSLVerifyClient 0
SSLFakeBasicAuth
</VirtualHost>

<VirtualHost www.virt2.com>
SSLDisable
ServerAdmin webmaster@virt2.com
DocumentRoot /var/httpd/virt2
ScriptAlias /cgi-bin/ /var/httpd/virt2/cgi-bin/
ServerName www.virt2.com
ErrorLog logs/virt2-error.log
TransferLog logs/virt2-access.log
</VirtualHost>

Tergantung dari modules yang dikompilasi, tidak semua directives mungkin ada. Anda dapat memanggil daftar direktif yang tersedia dengan httpsd -h.

3.4 Menambahkan Frontpage extension ke web

Masuk ke /usr/local/frontpage/version3.0/bin dan panggil ./fpsrvadm. Pilih install dan apache-fp. Pertannyaan selanjutnya dijawab seperti ini :

Enter server config filename: /var/httpd/conf/httpd.conf
Enter host name for multi-hosting []: www.virt2.com
Starting install, port: www.virt2.com:80, web: ""
Enter user's name []: virt2admin
Enter user's password:
Confirm password:
Creating root web
Recalculate links for root web
Install completed.

Nama User harus berupa login unix dari pemilik web. Password tidak harus sama dengan password sistem. Anda harus secara manual menambahkan sendmailcommand:/usr/sbin/sendmail %r ke /usr/local/frontpage/www.virt2.com:80.conf, atau user anda tidak akan dapat mengirimkan email yang web-generated. Agar Frontpage membaca ulang confignya , kill -HUP httpsd. Sekarang anda dapat mengakses www.virt2.com dengan klien Frontpage Anda.

Dalam beberapa kondisi fpsrvadm mengeluhkan bahwa root web harus diinstall terlebih dahulu, Hal yang agak tidak berguna mungkin harus anda lakukan untuk membungkam fpsrvadm.

3.5 Mulai menjalankan daemon

Jalankan Apache dengan httpsd -f /var/httpd/conf/httpd.conf. Sekarang Anda dapat mengakses www.virt1.com baik melalui http ataupun https. Tentu saja Anda harus membayar untuk real certificate jika Anda ingin menawarkan webwide SSL atau Anda akan ditertawakan oleh user anda.

Salin salah satu file contoh dari directori examples-nya php kevirt1 untuk mengetest phtml.

3.6 Beberapa Pertimbangan yang tertinggal

Jangan gunakan Frontpage 97 extensions yang tidak jalan, paling tidak di Linux. Kalau anda menginstall versi spesifik dari library c++, esktensi ini kelihatanya bisa jalan, namun nantinya logs anda akan dipenuhi dengan premature end of script headers dan mailbox anda akan penuh complaints. Jangan gunakan Frontpage 98 Extension sebelum versi 3.0.2.1330. Jangan bingung, nomor versi nampaknya inheterogenous. Ketika telnet ke port 80, masukkan "get / http/1.0" dan tekan return dua kali, akan muncul nomor versi 3.0.4 untuk frontpage.

Anda dapat menemukan nomer versi frontpage yang lebih spesifik dengan menjalankan /usr/local/frontpage/currentversion/exes/_vti_bin/shtml.exe -version. Varsi yang lebih lama mempunyai bug nakal yang meminta httpd.conf menjadi writable oleh gid dari webserver. Hal ini dapat membuat anda menjerit jika anda peduli dengan masalah sekuritas. Versi 3.0.2.1330 dan yang lebih baru lebih bisa digunakan.

3.7 Bug2 yang telah diketahui

Ketika menekan Recalculate Links dalam klien frontpage, server memulai sebuah proses yang memakan 99% cpu cycles dand kira2 10 mb memory. Tapi walaupun untuk web yang berukuran sedang dan mesin yang kencang, Klien kadang menerima pesan timeout, Walaupun perhitungan akan berakhir dengan benar. Beritahukan kepada pengguna Frontpage untuk sabar dan tidak menekan Recalculate Links beberapa kali. Beritahukan kepada diri Anda sendiri untuk melengkapi server dengan minimal 64MB.

Perhatikan bahwa pada saat menulis, SSL dan frontpage keduanya jalan, namun tidak bersamaan, yang juga berarti Anda tidak dapat mempublish web Anda dengan ssl dan menggunakan webbots keduanya melalui https. Anda dapat mempublish web pada port 80 dan mengaksesnya secara encrypted pada port 443, tetapi counters dan kawan-kawan akan rusak. Penulis menganggap ini adalah bug. Masalah ini seharusnya akan diperbaiki dalam SSL 0.9.0.

3.8 Akhir Kata

Untuk mereka yang menganggap judul howto ini hampir sepanjang isinya, Pernahkan Anda mendengar meat loaf?

O.K. pembaca, Sekian untuk hari ini. Silakan kirim feedback, ucapan terima kasih, bunga, duit, mobil, kilang minyak dll.


Next Previous Contents