Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 67a73f0d1c9314800a8e1ca883f39b8e > files > 22

howto-text-id-9.0-1mdk.noarch.rpm

  Linux Apache SSL PHP/FI frontpage mini-HOWTO
  Marcus Faure, marcus@faure.de diterjemahkan oleh Psychedelio
  doniy@telkom.net
  v1.1, July 1998 Terj. 1 Peb 1999

  Dokumen ini adalah tentang pembuatan webserver serbaguna yang akan
  mendukung isi web yang dinamis melalui bahasa scripting PHP/FI, trans-
  misi data yang aman berbasis SSL milik Netscape, Eksekusi CGI yang
  aman dan M$ Frontpage Server Extension
  ______________________________________________________________________

  Table of Contents


  1. Pendahuluan

     1.1 Penjelasan Komponen
     1.2 Konfigurasi yang dicoba
     1.3 Sejarah

  2. Instalasi Komponen

     2.1 Persiapan
     2.2 Menambahkan PHP
     2.3 Menambahkan SSL
     2.4 Menambahkan frontpage

  3. Menyatukan semuanya

     3.1 Module Apache untuk dicoba
     3.2 Lebih mengamankan CGI
     3.3 Kompilasi dan Install server daemon
     3.4 Menambahkan Frontpage extension ke web
     3.5 Mulai menjalankan daemon
     3.6 Beberapa Pertimbangan yang tertinggal
     3.7 Bug2 yang telah diketahui
     3.8 Akhir Kata


  ______________________________________________________________________

  1.  Pendahuluan

  Sebelum Anda mulai membaca: Pesan dari penulis : Karena penulis bukan
  native english speaker, jadi mungkin ada beberapa kesalahan eja/tata
  bahasa dalam dokumen ini. Jangan ragu2 untuk memberitahukan adanya
  kesalahan pada penulis.


  1.1.  Penjelasan Komponen

  WebServer yang, semoga, akan Anda dapatkan setelah membaca howto ini
  terdiri dari beberapa bagian, kode source apache asli dengan beberapa
  (ehm..banyak) patch-patch dan beberapa executable tambahan. Penulis
  menyarankan penggunaan versi software yang telah dicoba oleh penulis,
  yang mungkin akan lebih mudah untuk dikompilasi dan akan menghasilkan
  daemon yang cukup stabil. Jika Anda berani, Anda dapat mencoba
  mengkompilasi semua software dengan versi-akhir-yang-memiliki-
  berton2-feature, tapi jangan salahkan penulis jika ada yang gagal ;-).
  Bagaimanapun, jika sukses Anda dapat melaporkan konfigurasi sistem
  yang Anda gunakan untuk dicantumkan dalam versi mendatang dokumen ini.
  Semua langkah2 telah dicoba pada mesin linux 2.0.35, jadi howto ini
  bisa dibilang spesifik, tapi Anda seharusnya bisa menggunakannya untuk
  mesin linux versi lainnya.


  Anda tidak harus mengkompile semua komponen. Penulis telah mencoba
  untuk menyusun howto ini sehingga anda dapat melewati komponen yang
  tidak menarik Anda.

  Dokumen ini bukan juga Manual pengguna untuk Apache, SSL, PHP/FI
  ataupun frontpage.  Tujuan utamanya adalah untuk mengurangi pusing2
  yang dialami penyedia layanan web ketika menginstall server mereka,
  dan juga untuk memberikan kontribusi atas nama penulis ( dan
  penerjemah :-) kepada komunitas linux.

  PHP adalah bahasa skripting yang mendukung halaman dynamic
  HTML[DHTML].  PHP mirip dengan SSI dari Apache, hanya jauh lebih
  kompleks dan memiliki modul database untuk banyak database yang
  populer. PHP juga memerlukan GD libraries.

  SSL adalah implementasi dari Secure-Socket-Layer dari Netscape yang
  akan memungkinkan koneksi yang aman lewat jaringan yang belum aman,
  misal, untk mengirim nomor kartu kredit ke form berbasis web.

  Frontpage adalah perangkat authoring wysiwyg yang menggunakan beberapa
  ekstensi spesifik server yang disebut webbot. Beberapa orang
  berpendapat bahwa frontpage cukup keren karena dapat membuat form
  feedback dan diskusi web tanpa harus mengerti html atau cgi Frontpage
  malah menggantikan tugas mengupload site lewat ftp dengan publisher
  bawaan Frontpage jika Anda ingin mendukung Frontpage Extension tapi
  tidak ingin mensetup server Windows maka Frontpage Extension untuk
  server Apache adalah pilihan anda.


  1.2.  Konfigurasi yang dicoba

  Walaupun dokumen ini telah didownload sekitar 100 kali sejak pertama
  kali diterbitkan, Penulis hanya mendapatkan sedikit feedback. Malah,
  tidak ada yang memberitahukan pada penulis konfigurasi lain yang
  berbeda dengan yang dibahas. Kombinasi yang jalan untuk penulis
  adalah:

  o  Linux 2.0.31, Apache 1.2.4, PHP 2.0.0, SSL 0.8.0, fp 98 3.0.3 (*)

  o  Linux 2.0.33, Apache 1.2.5, PHP 2.0.1, SSL 0.8.0, fp 98 3.0.3 (*)

  o  Linux 2.0.35, Apache 1.2.6, PHP 3, SSL 0.8.0, fp 98 3.0.4

     (*) versi 3.0.3 adalah ``not recommended''


  1.3.  Sejarah


  v0.0/Apr 98:    Versi Preview

  v1.0/Jun 98:    dengan Apache 1.2.6, bagian fp diupdate, sedikit
  perbaikan

  v1.1/Jul 98:    versi Sgml dan disusun ulang

  Anda dapat melihat versi terakhir dokumen ini di <http://www.faure.de>


  2.  Instalasi Komponen

  2.1.  Persiapan

  Anda akan perlu:


  o  Apache 1.2.6  <http://www.apache.org/dist/apache_1_2_6.tar.gz>

  o  Ekstensi PHP/FI
     <http://php.iquest.net/files/download.phtml?/files/php-2.01.tar.gz>

  o  GD Library  <http://siva.cshl.org/gd/gd.html>

  o  SSL 0.8.0 <ftp://ftp.ox.ac.uk/pub/crypto/SSL/SSLeay-0.8.0.tar.gz>

  o  patch SSL untuk Apache 1.2.6
     <ftp://ftp.ox.ac.uk/pub/crypto/SSL/apache_1.2.6+ssl_1.17.tar.gz>

  o  ekstensi server dan script install frontpage 98
     <http://www.rtr.com/fpsupport/download.htm>

  Ambil source yang anda inginkan. Untar apache, php, gd dan ssl ke
  /usr/src. Untar patch SSL ke /usr/src/apache_1.2.6.


  2.2.  Menambahkan PHP

  cd (pindah direktori) ke /usr/src/gd1.2 dan ketikan make, yang mana
  akan membuat GD library libgd.a, yang sebaiknya dicopy ke /usr/lib.
  Sekarang cd ke php-2.0.1 dan ketik/jalankan ./install.

  Pertanyaan yang relevan akan berupa:

  Would you like to compile PHP/FI as an Apache module? [yN] y
  Are you compiling for an Apache 1.1 or later server? [Yn] y
  Are you using Apache-Stronghold? [yN] y
  Does your Apache server support ELF dynamic loading? [yN] y
  Apache include directory (which has httpd.h)? [/usr/local/include/apache] /usr/src/apache_1.2.6/src
  Would you like to build an ELF shared library? [yN] y
  Additional directories to search for .h files []: /usr/src/gd1.2
  Would you like the bundled regex library? [yN] n



  Seperti ekstensi frontpage, phtml juga membawa masalah keamanan karena
  phtml jalan di bawah uid dari webserver. Pastikan menyalakan safe mode
  dalam src/php.h dan batasi search path ke lokasi yang aman. Ada
  beberapa option lain dalam  php.h yang mungkin ingin Anda ganti. Jika
  Anda sangat memperhatikan segi keamanan, kompilasilah php sebagai cgi.
  Walaupun hal ini akan mengurangi kinerja dan tidak akan sebagus versi
  modulenya.

  Ketikkan make untuk membuat semua file. Ketika kompilasi selesai, copy
  mod_php.* dan libphp.a ke /usr/src/apache_1.2.6/src Tambahkan

  Module php_module mod_php.o


  ke akhir /usr/src/apache_1.2.6/src/Configuration, tambahkan juga

  -lphp -lm -lgdbm -lgd


  ke EXTRA_LIBS dalam file yang sama,

  application/x-httpd-php phtml


  ke mime.types-nya apache dan

  AddType  application/x-httpd-php .phtml

  ke srm.conf-nya Apache.

  Anda mungkin juga perlu menambahkan index.phtml ke DirectoryIndex
  dalam file tersebut sehingga file index.phtml otomatis dipanggil
  ketika direktorinya diakses.


  2.3.  Menambahkan SSL

  cd /usr/src/SSL-0.8.0; ./Configure linux-elf; make; make rehash
  perintah ini akan membuat library yang diperlukan oleh Apache. Anda
  dapat menggunakan perintah make test untuk memastikan suksesnya proses
  kompilasi.  Anda harus menjalankan patch ke Apache. Pastikan Anda
  menerapkannya sebelum  patch-nya Frontpage, atau frontpage tidak akan
  jalan.  cd ke /usr/src/apache_1.2.6/src dan jalankan patch <
  /usr/src/apache_1.2.6/SSLpatch.  Set SSL_BASE=/usr/src/SSLeay-0.8.0
  dalam Configuration. Pastikan bahwa Module proxy_module telah disable
  atau Apache tidak akan terkompilasi. Jika Anda perlu proxy, gunakan
  Squid <squid.nlanr.net>

  Sekarang make certificate untuk membuat SSLconf/conf/httpsd.pem.


  2.4.  Menambahkan frontpage

  Ganti file fp30.linux.tar.Z ke fp30.linux.tar.gz, atau script install
  tidak akan menemukannya. Jalankan ./fp_install untuk menyalin file-
  file  ke /usr/local/frontpage. zcat biasanya dapat dipanggil sebagai
  /usr/bin/zcat.

  Sekarang Anda harus menjalankan patch FP. cd ke
  /usr/src/apache_1.2.6/src dan ketikkan patch <
  /usr/src/frontpage/version3.0/apache-fp/fp-patch-apache_1.2.5 Yang
  akan membuat file2 mod_frontpage.* dan membuat beberapa perubahan
  dalam Configuration etc. patch 1.2.5 akan bekerja dengan apache 1.2.5
  dan 1.2.6. Lewati bagian menginstall web, anda dapat melakukannya
  nanti


  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.