Halaman ini menjelaskan cara menggunakan Webmin untuk mengonfigurasi Server Web Apache . Ini mencakup host virtual, kontrol akses IP, pembatasan kata sandi, dan banyak lagi.
Pengantar Apache
Apache adalah server HTTP paling populer di Internet, karena biayanya yang nol, ketersediaan yang luas, dan rangkaian fitur yang besar. Semua distribusi Linux menyertakannya sebagai paket standar, dan dapat diinstal atau dikompilasi untuk setiap varian Unix lainnya yang didukung oleh Webmin. Namun, ia memiliki sejumlah besar opsi direktif yang ditentukan dalam file konfigurasi teks, sehingga mungkin sulit bagi administrator yang tidak berpengalaman untuk menyiapkannya.
Selama bertahun-tahun sejak pertama kali diperkenalkan, banyak versi Apache telah dirilis. Dimulai dengan 1.0 dan berlanjut ke seri 1.3 dan 2.2 saat ini, setiap versi telah menyertakan lebih banyak fitur dan opsi. Fungsionalitas webserving dasar dan tata letak file konfigurasi pada dasarnya tetap sama, meskipun implementasi internal telah berubah secara signifikan.
Apache memiliki desain modular, di mana setiap modul bertanggung jawab atas beberapa bagian dari rangkaian fitur keseluruhannya. Ada beberapa modul standar yang disertakan dengan hampir setiap instalasi Apache, dan banyak lagi yang opsional atau harus diunduh secara terpisah. Modul dapat dikompilasi ke server web yang dapat dieksekusi, atau dimuat secara dinamis dari pustaka bersama pada saat dijalankan. Arsitektur modular ini dapat digunakan untuk menghemat memori dengan menghindari kebutuhan untuk memuat modul yang tidak menyediakan fungsionalitas yang berguna untuk sistem tertentu.
Apache mengambil konfigurasinya dari beberapa file teks, yang masing-masing berisi serangkaian arahan, biasanya satu per baris. Setiap direktif memiliki nama dan satu atau lebih nilai, dan menetapkan opsi seperti jalur ke file log atau tipe MIME untuk beberapa file. Arahan yang dikenali Apache bergantung pada modul yang digunakan. Sebagian besar modul menambahkan dukungan untuk beberapa arahan untuk mengonfigurasi fungsi yang disediakannya.
Seringkali, Anda ingin meng-host lebih dari satu situs web di satu server. Apache dapat dikonfigurasi untuk menggunakan konfigurasi yang berbeda tergantung pada situs web yang diminta oleh browser. Masing-masing situs ini disebut host virtual, dan didefinisikan dalam file konfigurasi dengan bagian
Demikian pula, bagian
Metode lain untuk membuat arahan yang hanya berlaku untuk satu direktori adalah dengan meletakkannya di file konfigurasi khusus bernama .htaccess yang berada di direktori itu sendiri. Seringkali file-file ini akan dibuat oleh pengguna biasa, sehingga mereka dapat mengonfigurasi situs web mereka sendiri tanpa memerlukan akses penuh ke file konfigurasi master. Ini sangat berguna pada sistem yang menghosting beberapa situs yang masing-masing dimiliki oleh pengguna Unix yang berbeda, bukan pada sistem dengan hanya satu situs web yang diatur oleh pemilik server.
Modul Apache Webserver
Ini adalah salah satu modul Webmin yang paling kompleks dan kuat, karena memungkinkan Anda untuk mengonfigurasi hampir setiap fitur Apache. Itu dapat menentukan versi Apache yang diinstal pada sistem Anda dan modul yang digunakannya, dan menyesuaikan antarmuka penggunanya sehingga Anda hanya dapat mengedit arahan yang dipahami oleh server web. Namun, antarmuka umumnya sama untuk semua versi Apache.
Karena ada begitu banyak arahan dan modul mencoba untuk memungkinkan konfigurasi semuanya, arahan mengelompokkan ke dalam kategori seperti Proses dan Batas, Jaringan dan Alamat dan Program CGI. Kategori ini diwakili oleh ikon yang akan muncul saat Anda membuka server virtual, direktori, atau file opsi dalam modul. Dalam semua kasus, Anda dapat melihat dan mengedit pengaturan di bawah setiap kategori dengan mengklik ikonnya.
Apache memiliki sejumlah besar modul standar, dan lebih banyak lagi modul terpisah yang dikembangkan oleh orang lain. Webmin tidak mendukung pengeditan arahan di sebagian besar non-standar ini, seperti mod_perl dan mod_php. Namun, itu akan dengan aman mengabaikan arahan file konfigurasi apa pun yang tidak dipahaminya, sehingga pengaturan apa pun untuk modul yang tidak didukung yang Anda buat secara manual tidak akan rusak.
Saat Anda membuka modul Apache, halaman tab yang ditunjukkan di bawah ini akan ditampilkan :
Halaman utama modul Apache WebserverDi tab pertama adalah ikon untuk berbagai kategori opsi global, serta beberapa fitur tambahan. Yang kedua adalah daftar semua server virtual saat ini, dan yang ketiga adalah formulir untuk menambahkan host virtual baru. Jika Anda memiliki jumlah server virtual yang sangat besar di sistem Anda (lebih dari 100 secara default), formulir pencarian untuk menemukan server akan ditampilkan sebagai gantinya. Server pertama akan selalu menjadi Server Default khusus , yang berisi arahan yang berlaku untuk semua server virtual lain dan menangani permintaan yang tidak dimiliki server lain.
Secara alami, modul Apache tidak akan berfungsi jika Anda tidak menginstal Apache di sistem Anda. Jika demikian, halaman utama akan menampilkan pesan kesalahan alih-alih formulir konfigurasi modul atau daftar server virtual. Semua distribusi Linux menyertakan paket atau paket untuk itu di CD-ROM atau situs web mereka, jadi instal dari sana menggunakan modul Paket Perangkat Lunak sebelum melanjutkan.
Karena modul mengasumsikan bahwa file Apache yang dapat dieksekusi dan konfigurasi akan berada di lokasi yang digunakan oleh paket distribusi Anda, modul ini akan melaporkan kesalahan yang sama tentang perangkat lunak yang tidak diinstal jika Anda telah mengkompilasi dan menginstalnya secara manual. Jika demikian, klik Konfigurasi Modul tautkan dan sesuaikan jalur ke lokasi yang benar untuk sistem Anda.
Pada versi Unix yang tidak menyertakan Apache secara default, Webmin mengasumsikan bahwa itu akan diinstal dari distribusi sumber standar dari www.apache.org. Jika Anda telah menginstal server web dari paket opsional yang telah tersedia untuk OS Anda, maka halaman utama akan mengeluh bahwa itu tidak diinstal dan Anda perlu menyesuaikan konfigurasi modul.
Antarmuka pengguna modul ini cukup kompleks dan memiliki banyak halaman, formulir, dan sub-halaman karena kerumitan dan kekuatan file konfigurasi Apache. Namun, ada elemen antarmuka yang diulang di banyak halaman di seluruh modul, seperti :
- Ikon kategori Saat Anda mengklik ikon untuk server virtual, direktori atau file opsi, tabel ikon dengan nama seperti Jenis MIME dan Program CGI ditampilkan di bagian atas halaman. Di bawah masing-masing ikon ini terdapat bidang dan tabel untuk mengonfigurasi opsi yang terkait dengan label ikon yang berada di bawahnya. Tata letak yang umum digunakan ini memecah sejumlah besar opsi Apache yang dapat diedit ke dalam kategori, karena ada terlalu banyak bidang untuk ditampilkan pada satu halaman. Ikon persis yang muncul dan bidang di bawahnya berbeda tergantung pada bagian konfigurasi server web yang Anda edit, dan versi Apache yang diinstal. Namun, tata letak dasarnya selalu sama.
- Bidang tabel Pada banyak formulir, beberapa bidang menggunakan tabel untuk memasukkan beberapa nilai seperti tipe MIME dan ekstensi file terkaitnya. Tidak ada batasan berapa banyak baris yang dapat dimiliki setiap tabel, tetapi Webmin hanya akan menampilkan satu baris kosong di setiap tabel pada satu waktu. Ini mengurangi ukuran formulir yang memiliki banyak tabel, tetapi berarti Anda hanya bisa menambahkan satu baris baru ke tabel dalam satu waktu. Untuk menambahkan lebih dari satu, Anda perlu menyimpan formulir dan memasukkannya kembali, yang akan menyebabkan baris kosong baru ditampilkan di bawah yang baru saja Anda isi.
Bagian di bawah ini menjelaskan secara lebih rinci ikon mana yang harus diklik dan tabel mana yang harus diisi saat melakukan hal-hal seperti mengaktifkan skrip CGI dan menyetel jenis MIME.
Memulai dan menghentikan Apache
Sebelum browser dapat terhubung ke server web Apache di sistem Anda, proses servernya harus dimulai. Anda dapat memeriksa apakah sedang berjalan dengan melihat bagian atas halaman mana pun dalam modul. Jika tautan berlabel Terapkan Perubahan dan Hentikan Apache muncul, maka saat ini aktif. Namun, jika hanya tautan *Mulai Apache* yang muncul, itu belum berjalan.
Untuk memulainya, klik tombol Mulai Apache tautan. Jika semuanya berjalan dengan baik, halaman yang sedang Anda buka akan ditampilkan kembali dan tautan di bagian atas akan berubah untuk menunjukkan bahwa itu sedang berjalan. Jika tidak, pesan kesalahan akan muncul menjelaskan apa yang salah - kemungkinan besar penyebabnya adalah kesalahan dalam file konfigurasi.
Untuk menghentikan server web setelah dijalankan, klik tombol Stop Apache link di salah satu halaman modul. Jika Webmin tidak dapat menghentikan server, halaman pesan kesalahan akan ditampilkan. Jika berhasil dihentikan, halaman yang sama akan ditampilkan kembali dengan tautan di bagian atas diubah untuk menunjukkan bahwa itu tidak lagi berjalan.
Saat Apache aktif, setiap halaman akan memiliki Terapkan Perubahan tautan di bagian atas yang dapat digunakan untuk memberi sinyal kepada server web untuk memuat ulang konfigurasinya saat ini. Setelah Anda membuat perubahan apa pun dalam modul ini (kecuali yang ada di file .htaccess), tautan ini harus diklik untuk mengaktifkannya. Tidak seperti modul Webmin lain yang memiliki tombol Terapkan di halaman utama, modul ini memilikinya di setiap halaman sehingga Anda tidak perlu kembali ke indeks setiap kali Anda melakukan perubahan.
Mengedit halaman di server web Anda
Bagian ini menjelaskan cara menemukan dan mengedit file di sistem Anda yang ditampilkan saat klien terhubung ke server web Apache Anda. Jika Anda sudah tahu cara melakukannya, silakan lewati dan lanjutkan ke bagian berikutnya.
Ketika Apache pertama kali diinstal dari sebuah paket atau dari sumber, konfigurasi awalnya biasanya tidak memiliki server virtual yang disiapkan. Alih-alih hanya server default yang akan ada, melayani halaman ke klien mana pun yang terhubung pada port 80. Anda dapat melihat halaman default dengan menjalankan browser web dan membuka URL http://_yourhostname_/, atau http://_localhost_/ jika Anda menjalankan browser pada sistem yang sama dengan Webmin. Halaman yang muncul mungkin hanya satu yang disertakan dengan Apache atau distribusi Linux Anda.
Direktori root dokumen tempat Apache menyajikan file akan ditampilkan pada halaman utama modul di sebelah Server Default ikon. Di Redhat Linux misalnya, direktori ini secara default adalah /home/httpd/html. File dalam direktori ini dapat diedit dengan login sebagai root, atau dengan menggunakan modul File Manager Webmin. Setiap perubahan yang Anda buat akan segera tercermin di situs web.
Jika sistem Anda hanya akan meng-host satu situs web statis, mungkin tidak perlu mengonfigurasi aspek Apache lainnya. Anda cukup mengunggah atau menyalin HTML, gambar, dan file lainnya ke direktori dan subdirektorinya untuk membuat situs yang Anda inginkan. File yang paling penting adalah index.html, yang dilayani oleh Apache setiap kali browser tidak meminta halaman tertentu. Karena kebanyakan orang akan membuka http://_yourserver_/ terlebih dahulu, halaman index.html akan menjadi halaman pertama yang mereka lihat.
Untuk mempermudah pengeditan, Anda mungkin ingin mengubah kepemilikan direktori root dokumen dan semua filenya menjadi pengguna non-root. Namun, Anda harus memastikan bahwa mereka masih dapat dibaca oleh pengguna yang menjalankan proses server Apache, yang biasanya bernama httpd. Cara termudah untuk melakukannya adalah membuat semua file dan direktori dapat dibaca dunia dan dapat dieksekusi dunia.
Membuat host virtual baru
Jika Anda ingin meng-host beberapa situs web di sistem Anda, maka Anda perlu membuat host virtual Apache untuk masing-masing situs. Sebelum Anda dapat menambahkan situs, alamatnya harus terlebih dahulu terdaftar di DNS, baik di server DNS di sistem Anda atau di host lain. Jika file situs akan dimiliki oleh pengguna Unix yang berbeda dengan yang memiliki direktori root dokumen, maka dia juga harus dibuat terlebih dahulu.
Seluruh proses untuk menambahkan server virtual, termasuk langkah-langkah di atas, adalah:
- Tentukan nama host yang akan digunakan di URL untuk situs web baru, seperti www.example.com .
- Putuskan apakah situs baru Anda akan berbasis IP, atau berbasis nama. Situs berbasis nama akan berfungsi dengan baik dengan semua kecuali untuk browser lama, dan sejauh ini merupakan pilihan terbaik saat ini. Situs berbasis IP akan bekerja dengan browser apa pun, tetapi memerlukan alamat IP tersendiri untuk ditambahkan ke sistem Anda. Karena alamat IP sering langka, ini hanya masuk akal jika Anda juga perlu menyiapkan server FTP atau POP3 virtual untuk domain tersebut.
- Jika situs Anda akan berbasis IP, gunakan modul Konfigurasi Jaringan (tercakup pada Konfigurasi Jaringan) untuk menambahkan alamat IP virtual baru ke antarmuka jaringan eksternal di sistem Anda. Pastikan itu akan diaktifkan saat boot dan aktif sekarang. Jika sistem Anda hanya memiliki satu alamat IP internet statis yang ditetapkan oleh ISP Anda, maka alamat IP virtual tambahan apa pun yang Anda tambahkan tidak akan berfungsi. Dalam hal ini, Anda harus menggunakan server virtual berbasis nama, atau meminta ISP Anda untuk memberi Anda beberapa alamat.
- Jika contoh.com domain sudah ada di server DNS, tambahkan catatan untuk www.example.com dengan alamat IP eksternal sistem Anda (untuk situs berbasis nama) atau alamat yang dipilih pada langkah sebelumnya (untuk situs berbasis IP). Jika domain belum ada, Anda perlu menambahkannya ke server DNS dan mendaftarkannya ke pencatat DNS seperti Network Solutions. Either way, halaman BIND DNS Server menjelaskan cara menambahkan catatan dan domain secara rinci.
- Jika situs akan menggunakan standar HTTP port 80 (yang hampir selalu seperti yang Anda inginkan), maka Anda dapat melompat ke langkah 8. Jika tidak, pada halaman utama modul Apache Webserver klik pada Networking dan Alamat ikon untuk memunculkan formulir yang ditunjukkan pada tangkapan layar pertama di bawah.
- Di baris kosong di Dengarkan alamat dan port tabel, pilih Semua di bawah Alamat kolom dan hapus pilihan Default di bawah Pelabuhan kolom. Kemudian masukkan nomor port TCP untuk situs web Anda ke bidang di sebelahnya, dan klik tombol Simpan tombol di bagian bawah halaman.
- Pada halaman utama modul, gulir ke bawah ke formulir *Buat Server Virtual Baru* di bawah daftar host virtual yang ada.
- Jika Anda menyiapkan server virtual berbasis IP, di Alamat Anda harus memasukkan alamat IP virtual yang ditambahkan pada langkah 3. Jika menyiapkan server virtual berbasis nama, masukkan alamat IP eksternal sistem Anda ke dalam kolom. Jika server Apache Anda telah dikonfigurasi untuk menerima koneksi berbasis nama pada alamat IP apa pun, Anda dapat memilih Apa saja pilihan untuk bidang ini sebagai gantinya. Lihat penjelasan di bawah ini untuk lebih jelasnya. Jika server virtual baru Anda akan menggunakan port selain 80 dan akan menjadi satu-satunya server pada port tersebut, Anda dapat memilih Apa saja option juga sehingga menangani semua permintaan yang masuk pada port.
- Jika Anda menyiapkan server virtual berbasis IP, batalkan pilihan Tambahkan nama alamat server virtual kotak centang. Untuk server berbasis nama, itu harus dibiarkan diaktifkan.
- Jika virtual host baru akan menggunakan port non-standar, pilih opsi terakhir untuk Port bidang dan masukkan nomor ke dalam bidang di sebelahnya.
- Di Akar Dokumen bidang, masukkan path lengkap ke direktori yang akan berisi file untuk situs web ini. Misalnya, ini mungkin /home/example/www .
- Di Nama Server bidang, masukkan nama host yang akan digunakan klien untuk merujuk ke situs web ini seperti www.example.com . Anda dapat memasukkan lebih dari satu nama, seperti web.example.com dan contoh.com jika ini akan menjadi server berbasis nama yang harus dapat diakses di beberapa URL berbeda.
- Kecuali Anda memiliki file terpisah di sistem Anda yang berisi semua host virtual, biarkan Tambahkan server virtual ke file bidang disetel ke File httpd.conf standar . Jika tidak, Anda dapat memilih File yang dipilih dan masukkan jalur ke bidang di sebelahnya. Pastikan bahwa file yang dipilih benar-benar digunakan oleh Apache (seperti oleh direktif Sertakan di httpd.conf) atau server virtual tidak akan berguna dan tidak akan muncul di Webmin. Jika Anda selalu menggunakan file terpisah yang sama untuk menyimpan host virtual, File untuk menambahkan server virtual dijelaskan di Mengonfigurasi modul Apache Webserver bagian di bawah ini mungkin berguna. Jika disetel, opsi lain adalah menambahkan ke bidang *Tambahkan server virtual ke file* untuk menambahkan ke file yang diatur oleh opsi konfigurasi modul ini.
- Agar Webmin menyalin semua arahan dari server virtual lain ke server yang Anda buat, pilih dari Salin arahan dari Tidak bisa. Ini dapat berguna jika semua host virtual Anda memiliki konfigurasi yang serupa.
- Setelah selesai mengisi formulir, klik tombol Buat tombol. Server virtual baru akan ditambahkan ke file konfigurasi Apache dan ke daftar server di halaman utama.
- Klik ikon untuk server virtual baru, yang akan membawa Anda ke halaman opsi, yang ditunjukkan pada tangkapan layar kedua di bawah.
- Gulir ke bawah ke formulir di bawah Opsi Per-Direktori , dan masukkan direktori root dokumen yang Anda pilih pada langkah 11 ke dalam Path bidang. Pastikan Jenis disetel ke Direktori , dan Regexp? bidang ke Pencocokan persis .
- Klik tombol Buat tombol untuk menambahkan bagian baru ke file konfigurasi untuk direktori. Ini diperlukan agar Anda dapat memberikan hak kepada klien untuk menelusuri file yang ada di dalamnya, yang ditolak oleh konfigurasi direktori Apache default.
- Klik ikon baru untuk direktori yang telah ditambahkan ke halaman opsi server virtual. Ini akan membawa Anda ke halaman opsi direktori, yang ditunjukkan pada tangkapan layar ketiga di bawah.
- Klik Opsi Dokumen ikon, dan pada formulir yang muncul ubah Opsi direktori bidang ke *Dipilih di bawah*. Di bawah Tetapkan untuk direktori kolom, ubah entri untuk Buat indeks direktori untuk Ya . Kemudian klik tombol Simpan tombol di bagian bawah halaman.
- Untuk mengaktifkan semua perubahan Anda, klik Terapkan Perubahan tombol di bagian atas halaman mana pun.
- Anda atau pengguna yang memiliki server virtual sekarang dapat mulai menambahkan file ke direktori root dokumen. Anda dapat mengujinya dengan membuka URL (seperti http://_www.example.com_/) di browser web Anda untuk memastikan semuanya berfungsi dengan baik.
Ketika Apache menerima permintaan HTTP, Apache harus terlebih dahulu mengetahui server virtual mana yang menjadi tujuan permintaan tersebut. Ini pertama-tama akan mencari server virtual berbasis nama yang nama hostnya cocok dengan host yang diminta oleh klien, dan yang alamat dan portnya sama dengan yang terhubung dengan klien. Jika tidak ada yang ditemukan, server virtual yang ditentukan pertama untuk alamat dan port akan digunakan sebagai gantinya, atau jika tidak ada maka permintaan akan ditangani oleh server default.
Server virtual berbasis nama hanya dapat digunakan pada alamat yang tercantum di Alamat untuk server virtual nama pada halaman Jaringan dan Alamat global. Jika Anda mengikuti petunjuk di atas, alamat akan ditambahkan ke daftar ini secara otomatis saat Anda membuat server virtual baru. Jika semua server virtual di sistem Anda akan berbasis nama, Anda dapat membuka halaman ini, masukkan * ke dalam bidang dan klik Simpan sehingga Apache akan menangani permintaan tersebut pada alamat IP apa pun. Ini juga masuk akal jika sistem Anda memiliki alamat IP yang ditetapkan secara dinamis dan Anda ingin melayani beberapa host virtual.
Setelah server virtual dibuat, Anda dapat mengedit setelannya atau menghapusnya dengan mengikuti langkah berikut :
- Pada halaman utama modul, klik ikon server virtual. Ini akan membawa Anda ke halaman opsi server yang ditunjukkan pada tangkapan layar di atas.
- Gulir ke bawah ke Detail Server Virtual formulir di bagian bawah halaman.
- Ubah Alamat , Pelabuhan dan bidang lain ke apa pun yang Anda inginkan dan klik Simpan tombol. Bidang-bidang ini memiliki arti yang sama seperti pada formulir pembuatan server virtual. Namun, jika alamat diubah pada server virtual berbasis nama, Anda mungkin perlu mengubahnya di halaman Jaringan dan Alamat global juga. Atau jika Anda ingin menyingkirkan server virtual dan semua arahan konfigurasi yang ada di dalamnya, klik tombol Delete Virtual Server tombol sebagai gantinya.
- Kembali ke halaman utama modul, klik tombol Terapkan Perubahan link untuk mengaktifkan pengaturan baru.
Anda tidak dapat mengubah pengaturan untuk server default, Anda juga tidak dapat menghapusnya.
Menyetel opsi per direktori
Apache memungkinkan Anda untuk menentukan opsi yang berbeda untuk direktori tertentu, baik untuk semua server virtual atau hanya satu. Termasuk direktori, Anda sebenarnya dapat mengatur opsi yang berlaku untuk tiga jenis objek di server Apache Anda:
- Direktori Opsi berlaku untuk direktori tertentu dan semua file di dalamnya atau di sub-direktori yang dikandungnya.
- File Opsi ini berlaku untuk file dengan nama tertentu di direktori mana pun.
- Lokasi Opsi berlaku untuk file atau direktori apa pun yang diminta oleh URL yang jalurnya dimulai dengan lokasi yang ditentukan. Misalnya, di URL http://www.example.com/foo jalannya adalah /foo .
Setiap kali Apache memproses permintaan, Apache akan memeriksa opsi yang berlaku untuknya dalam urutan tetap. Yang dari bagian direktori dan file .htaccess dibaca terlebih dahulu diurutkan sehingga direktori yang paling spesifik diperiksa terlebih dahulu. Mereka kemudian diikuti oleh file dan kemudian bagian lokasi. Kemudian opsi dari server virtual tempat permintaan dibuat (jika ada) dibaca, dan akhirnya opsi dari server default.
Halaman opsi per direktoriIni berarti bahwa opsi yang ditetapkan untuk direktori akan menimpa opsi yang sama yang ditetapkan di direktori tingkat yang lebih tinggi, atau di server virtual tempat ia menjadi anggota. Untuk menyetel opsi untuk direktori, file, atau lokasi URL, langkah-langkah yang harus diikuti adalah:
- Meskipun opsi yang akan Anda atur berlaku untuk direktori, opsi tersebut harus ditentukan di bawah salah satu server virtual atau server default. Jika mereka berada di bawah host virtual, maka mereka hanya akan berlaku untuk permintaan ke server tersebut untuk file di direktori atau lokasi URL yang dipilih. Tetapi jika mereka berada di bawah server default, permintaan ke host virtual mana pun untuk file dalam direktori akan dilakukan. Pada halaman utama modul, klik salah satu Server Default ikon atau ikon untuk server virtual yang Anda ingin opsi direktorinya dibatasi. Untuk direktori, biasanya paling sederhana untuk menempatkan opsi mereka di bawah server default karena setiap host virtual biasanya memiliki direktori root dokumen sendiri yang terpisah. Namun, opsi lokasi URL harus diletakkan di bawah server virtual yang terkait dengannya, karena jalur URL yang sama dapat digunakan dengan cara yang berbeda di lebih dari satu host virtual. Hal yang sama berlaku untuk opsi file.
- Pada halaman opsi server yang muncul (ditunjukkan pada Gambar 29-4), gulir ke bawah ke formulir *Buat Per-Direktori, Berkas, atau Opsi Lokasi*.
- Dari Jenis menu, pilih salah satu opsi yang dijelaskan di atas.
- Jika Anda menyetel opsi untuk direktori, masukkan ke dalam Jalur bidang seperti /home/example/www/images . Anda juga dapat memasukkan jalur karakter pengganti seperti /home/example/w* , yang akan menyebabkan opsi diterapkan ke semua direktori yang cocok. Jika opsi sedang disetel untuk lokasi URL, masukkan bagian URL setelah nama host ke dalam bidang Path, seperti /images . Anda juga dapat menggunakan karakter wildcard shell seperti * dan ? di URL juga. Jika menyetel opsi untuk file, masukkan nama file ke dalam Path bidang seperti secret.html . Sekali lagi, karakter wildcard dapat digunakan dalam nama file, misalnya rahasia*.
- Jika Anda ingin dapat menggunakan ekspresi reguler yang kompleks di direktori, nama file, atau lokasi URL, setel Regexp? bidang untuk Cocok dengan regexp . Ini akan memungkinkan Anda untuk menggunakan karakter ekspresi reguler Perl seperti [, ], +, . dan * di jalan.
- Klik tombol Buat tombol untuk menambahkan bagian direktori baru ke konfigurasi Apache. Halaman opsi server virtual akan ditampilkan lagi, tetapi dengan ikon baru untuk direktori.
Sekarang setelah Anda membuat ikon baru untuk direktori, lokasi URL, atau nama file, Anda dapat mengatur opsi yang berlaku untuknya. Salah satu perubahan per direktori yang paling umum adalah mengonfigurasi cara file dicantumkan saat browser meminta direktori dengan URL seperti http://www.example.com/images/. Secara default, jika ada file index.html di direktori itu akan ditampilkan, atau jika bukan halaman yang mencantumkan semua file yang dikandungnya akan ditampilkan sebagai gantinya.
Jika Anda ingin mengubah nama file indeks, gaya daftar direktori, atau setelan lain yang terkait dengan pengindeksan, langkah-langkah yang harus diikuti adalah :
- Klik ikon untuk direktori yang ingin Anda konfigurasikan pada halaman opsi server virtual. Ini akan membawa Anda ke halaman opsi direktori yang ditunjukkan pada Gambar 29-5.
- Klik Pengindeksan Direktori ikon untuk membuka formulir untuk mengatur opsi pengindeksan dan daftar.
- Untuk mengubah tampilan daftar direktori, setel bidang *Opsi indeks direktori* ke Dipilih di bawah dan ubah bidang di kotak di bawahnya. Defaultnya akan menghasilkan daftar file yang sangat sederhana, tetapi Anda dapat menyempurnakannya dengan menyetel opsi berikut :
- Menampilkan indeks direktori mewah Jika diaktifkan, daftar file akan menyertakan ikon, ukuran, dan tanggal modifikasinya.
- Tampilkan judul HTML sebagai deskripsi Jika diaktifkan, deskripsi untuk file HTML akan diambil dari tag
. - Tinggi ikon Opsi ini memungkinkan Anda untuk mengubah ketinggian ikon yang disertakan dalam daftar direktori. Jika disetel ke Default , ketinggian opsi Apache standar akan digunakan.
- Lebar ikon Seperti opsi sebelumnya, opsi ini memungkinkan Anda untuk menentukan lebar ikon dalam daftar direktori.
- Izinkan pengguna menyortir kolom Jika ini diaktifkan, pengguna akan dapat mengurutkan daftar file dengan mengklik judul kolom, dengan asumsi mereka sedang ditampilkan.
- Tampilkan deskripsi file Jika diaktifkan, daftar direktori akan menyertakan deskripsi untuk setiap file yang diambil dari jenis MIME atau judul HTML-nya.
- Keluarkan tag header HTML Saat diaktifkan, daftar direktori akan menyertakan tag dan normal yang harus dimulai setiap halaman HTML. Anda hanya ingin menonaktifkannya jika menyediakan file header dan footer Anda sendiri.
- Tampilkan waktu modifikasi terakhir Saat diaktifkan, daftar direktori akan menyertakan tanggal modifikasi terakhir untuk setiap file.
- Tampilkan ukuran file Saat diaktifkan, cantuman akan menyertakan ukuran setiap file.
- Sertakan ikon di tautan Jika opsi ini diaktifkan, ikon dalam daftar akan menjadi tautan ke file itu sendiri. Jika tidak, hanya nama file yang merupakan tautan.
- Lebar nama file Opsi ini mengontrol panjang kolom nama file dalam daftar direktori. Anda dapat memasukkan sejumlah karakter atau * untuk mengukur kolom dengan panjang nama file terpanjang.
- Lebar deskripsi Opsi ini mengontrol panjang kolom deskripsi dalam daftar direktori, jika ada. Anda dapat memasukkan sejumlah karakter atau * untuk mengukur kolom dengan panjang deskripsi terpanjang.
- Tampilkan direktori terlebih dahulu Jika diaktifkan, daftar akan menampilkan direktori apa pun di atas file apa pun terlepas dari file lainnya. Opsi yang tersedia tergantung pada versi Apache yang telah Anda instal di sistem Anda. Yang tercantum di atas berlaku untuk versi 1.3.19, tetapi jika Anda memiliki rilis yang lebih baru, lebih banyak opsi mungkin tersedia.
- Jika Anda ingin Apache mengembalikan file selain default (biasanya index.html) saat browser meminta direktori, masukkan daftar nama file ke dalam File indeks direktori bidang. Lebih dari satu dapat dimasukkan, dan yang pertama ditemukan akan digunakan. Jika tidak ada file indeks yang ditemukan, daftar direktori menggunakan opsi yang dipilih pada langkah 3 akan dikembalikan ke browser.
- Agar server web mengabaikan file tertentu saat membuat daftar file di direktori, masukkan nama filenya ke dalam File yang akan diabaikan di indeks direktori bidang. Anda dapat menggunakan wildcard shell dalam ekspresi reguler, seperti *.doc .
- Untuk memasukkan file HTML di awal daftar direktori, masukkan nama filenya (relatif terhadap direktori) ke dalam File header indeks direktori bidang.
- Demikian pula, untuk menambahkan file di akhir daftar direktori, masukkan ke dalam File footer indeks direktori bidang.
- Untuk mengontrol urutan default direktori, hapus pilihan Default di Urutkan indeks direktori menurut dan pilih urutan dan kolom untuk diurutkan dari dua menu di sebelahnya.
- Anda dapat mengatur deskripsi untuk file dengan mengisi tabel *Deskripsi indeks direktori*. Di baris kosong tabel, masukkan pesan singkat yang menjelaskan file di Deskripsi kolom, dan daftar nama file atau nama wildcard di Nama file kolom. Karena hanya satu baris kosong yang ditampilkan pada satu waktu, Anda perlu mengunjungi kembali halaman ini setelah menambahkan setiap deskripsi jika Anda ingin memasukkan lebih dari satu.
- Terakhir, klik tombol Simpan tombol di bagian bawah halaman untuk menyimpan perubahan Anda dan kembali ke halaman opsi direktori. Untuk mengaktifkannya, klik Terapkan Perubahan tautan di mana saja di modul Apache.
Sebagian besar opsi ini dapat diatur untuk seluruh server virtual dengan mengklik ikon Directory Indexing pada halaman opsi server virtual juga. Dalam hal ini, mereka akan berlaku untuk semua file yang diminta dari host virtual kecuali diganti dengan opsi untuk direktori atau lokasi URL.
Pada halaman opsi direktori, ada banyak lagi ikon yang dapat Anda klik untuk mengatur opsi yang hanya berlaku untuk direktori, jalur URL, atau nama file tersebut. Beberapa di antaranya dijelaskan di bagian lain nanti dalam bab ini, seperti Alias dan pengalihan dan *Kata sandi melindungi direktori*.
Anda dapat mengubah direktori, nama file, atau lokasi URL tempat setelan diterapkan menggunakan Opsi berlaku untuk formulir di bagian bawah halaman opsi direktori. Ini memiliki bidang yang sama persis dengan formulir pembuatan yang dijelaskan di awal bagian ini. Jika Anda membuat perubahan, klik Simpan button to update the Apache configuration and then the Apply Changes link to make them active. Or to remove the directory configuration and all its options, click on Delete instead.
Creating aliases and redirects
Normally, there is a direct relationship between the path in URL and the file that is returned by the webserver. For example, if a browser requests http://www.example.com/images/foo.gifand the document root for www.example.com is /home/example/www , then the file /home/example/www/images/foo.gif would be read by the webserver and returned to the client.
This can be changed though by using what Apache calls aliases. An alias maps a particular URL path to a file or directory, which does not necessarily have to be under the document root. So in the example above, the /images URL path might actually be aliases to the directory /www/images , which would cause the file /www/images/foo.gif to be read instead.
Aliases can be defined globally or in a virtual server. To create one, the steps to follow are :
- On the module's main page, click on the icon for the virtual server that you want to create the alias under. If you want it to apply to all virtual servers (or you don't have any), click on the *Default Server *icon instead.
- On the virtual server options page that appears, click on the Aliases and Redirects icon. This will take you to the page in the screenshot below.
- Fill in the empty row in the Document directory aliases table with the URL path (under From ) and the file or directory that it should map to (under To ). If you are editing the default server, there may already be several entries in this table that are part of the standard Apache configuration. There will always be exactly one empty row in the table. If you need to add more than one alias, you will need to re-visit this page after filling in the row and saving.
- Klik tombol Simpan button to have your new alias stored in the Apache configuration. The browser will return to the virtual server options page.
- To make the alias active, click on the Apply Changes link at the top of the page.
The aliases and redirects form
Existing aliases can be editing by just changing the entries in the Document directory aliases table and then clicking Save . You should not change the alias for /icons in the default server though, as this is used by Apache when it generates icons for directory listings. If you want to delete an alias, just delete the contents of both its fields in the table.
Aliases can also be created that use Perl regular expressions to match more complex URL paths. These must be entered into the Regexp document directory aliases table on the Aliases and Redirects form, which has the same columns as the *Document directory aliases* table described above. The difference is that any regular expression can be entered into the From field, such as ^/images/(.*)\.gif$ . The To field can taken a string that refers to bracketed sections in the expression, such as /images/$1.jpg . This would convert any request for a GIF file into one for the JPEG with the same name.
Redirects are similar to aliases, but have a different purpose and work in a different way. Whenever a client requests a URL path that has been redirected, Apache will tell it to go to another URL (possibly on another server) instead. For example, you might redirect all requests to http://www.example.com/webmin/ to ''http://www.webmin.com/''. Unlike the way aliases behave, if a browser requests a page like /webmin/foo.gif it will not be redirected to ''http://www.webmin.com/foo.gif'' - it will just go to the URL ''http://www.webmin.com/'' instead.
Redirects are implemented by the webserver sending the special 302 status code to the browser, which tells it to go to a new location. It is quite possible for the new URL to be a redirect itself, and you can even create a loop of redirects - not that this is a good idea.
To set up redirection for a path on your server, the steps to follow are :
- On the module's main page, click on the icon for the virtual server that you want to create the redirect under. If you want it to apply to all virtual servers, click on the *Default Server *icon instead.
- On the virtual server options page that appears, click on the Aliases and Redirects icon to go to the page in Figure 29-6.
- In the empty row of the *URL redirects *table, enter the URL path on your server under the From column, such as /webmin . Under the To column, enter the URL that requests should be redirected to, such as http://www.webmin.com/ . The Status field is optional, but can be filled in if you want to change the HTTP status code that will be used for this redirect. The default is 302, which indicates a temporary redirection. However, you can 301 to tell browsers that the direction is permanent, or 303 to tell them that the original content has been replaced. There will always be exactly one empty row in the table. If you need to add more than one redirect, you will need to re-visit this page after filling in the row and saving.
- Klik tombol Simpan button to have your new redirect stored in the Apache configuration. The browser will return to the virtual server options page.
- To make the redirection active, click on the Apply Changes link at the top of the page.
As with aliases, existing redirects can be edited by just changing the entries in the URL redirects table and then clicking Save . To delete a redirect, just delete the contents of all of its fields in the table.
You can also create regular expression redirects that behave in a similar way to regexp aliases, using the Regexp URL redirects table on the same page. Under the From column you can enter a URL path expression such as ^/webmin/(.*)$ , and under the To column a URL that can refer to bracketed parts of the path, such as http://www.webmin.com/$1 . In this example, an request by a client for a page under /webmin would be redirected to the same file at www.webmin.com .
Also on the Aliases and Redirects page are two more tables labelled Permanent URL redirects and Temporary URL redirects . The first behaves exactly the same as a normal redirection, but with the status code always set to 301, indicating a permanent redirection. The second also behaves like a normal redirect, but always uses a status code of 302 (temporary redirection). This option is really quite useless, as normal redirections default to using status 302 if one is not specified.
Redirects can also be defined in the options for directories, URL locations, filenames and .htaccess files. When editing the options for one of these (described in the *Setting per-directory options* section), the exact same icon and table are available as when setting up aliases for a virtual server. Naturally, a redirect in a directory only makes sense if the URL path being redirected actually refers to that some file or sub-directory that it contains. The same goes for redirects in URL locations - the path being redirected must start with the location's path.
If Apache on your system has been compiled with or dynamically loads the proxy module (covered in the *Configuring Apache as a proxy server* section below), tables labelled *Map locale to remote URLs* and Map remote Location:headers to local will appear on the Aliases and Redirects form under the virtual server options page. These allow you to specify a URL path that when requested will cause Apache to itself request pages from another website and return them to the browser. Even though the URL that the user is accessing is on your server and their browser is connecting only to your system, the content is actually being loaded from elsewhere.
To set up this URL mapping, the steps to follow are :
- On the module's main page, click on the icon for the virtual server that you want to create the mapping under. If you want it to apply to all virtual servers, click on the *Default Server* icon instead.
- On the virtual server options page that appears, click on the Aliases and Redirects icon to go to the page in Figure 29-6.
- In the empty row in the Map locale to remote URLs table, enter a URL path on your server (like /webmin ) into the first field, and the full URL that you want the pages to be requested from into the second (like http://www.webmin.com/ ).
- In the empty row in the Map remote Location:headers to local table, enter the same full remote URL into the first field and the URL path on your server into the second. This second table controls the conversion of redirects issued by the remote server, and should almost always be set. If it is not set, whenever the remote server issues a redirect the browser will end up connecting directly to it instead of to your server.
- Klik tombol Simpan button to have your new mapping stored in the Apache configuration. The browser will return to the virtual server options page.
- To make the mapping active, click on the Apply Changes link at the top of the page.
You can test it out by going to the mapped URL path on your system, and you should see pages that have been requested from the remote server. The process is not totally transparent though, because it does not convert HTML files in any way. So if in the example above the remote server contained an HTML page with a link like , following it would take the browser to /foo.html on your system, not /webmin/foo.html as you might expect. There is no solution to this problem, apart from making sure that the remote server always uses relative links and image paths.
Running CGI programs
CGI stands for Common Gateway Interface, and is a standard method for webservers to run external programs, pass them details of a browser's request, and read back any content that the program generates. CGI programs are one of the simplest way of adding dynamic pages to your webserver, and are relatively easy to set up and develop. Server-side includes (covered in the next section) are even simpler, but very limited in what they can do.
A CGI program can be written in any language as long as it follows certain rules. The most common is Perl, but C, Python, PHP or any other language that can access environment variables and produce output can be used. You can even write shell scripts that are valid CGI programs. This section is not going to explain the details of how to write them though - there are plenty of books that cover that already.
CGI programs are just files on your system, like any other HTML or image file. The difference is that when they are requested by a browser, Apache executes them and returns their output instead of the contents of the file. Because you only want this to happen for programs and not for HTML files, the server must be configured to identify certain files as CGI programs. This is normally done in one of two ways - by putting all CGI programs into a certain directory, or by giving them all a file extension like .cgi.
The choice is yours, but the latter option is simpler to use as you can freely mix CGI scripts, HTML and image files in the same directory. To set it up, the steps to follow are :
- On the module's main page, click on the icon for the virtual server that you want to set up CGI programs for. Or click on the *Default Server *icon if you want to use them on all servers.
- Click on the icon for the directory that you want CGI programs to be enabled under. Typically each virtual server will have an icon for options for its document root directory, but if not you can create one by following the steps in the *Setting per-directory options* section above. If you only want to allow CGI programs to be run in some sub-directory of the website, you can create a new directory icon for that as well.
- On the directory options page, click on the Document Options icon and change the Directory options field from Default to Selected below . Then set the rows Execute CGI programs and Generate directory indexes untuk Ya , and click the Save tombol di bagian bawah halaman. This tells Apache that CGI programs can be executed in the directory.
- Back on the directory options page, click on the MIME Types icon. In the Content handlers table, select cgi-script from the first blank menu under the Handler column, and enter .cgi into the field next to it under the Extensions column. Then click the Save button at the end of the form. This tells Apache to treat all files in the directory ending in .cgi as CGI programs.
- Finally, click the Apply Changes link on any page. You should now be able to create a file with a .cgi extension in the chosen directory, and test it out in a web browser.
An alternative to this approach is to specify a directory in which all files are treated as CGI programs. This has the advantage that they can be given any name you like, instead of being forced to have a .cgi extension. You can also set permissions on this directory to restrict who is allowed to create CGI programs, while still allowing others to edit normal HTML pages.
To set up a directory for CGI scripts, the steps to follow are :
- On the module's main page, click on the icon for the virtual server that you want to set up a CGI directory for. Or click on the *Default Server* icon if you want to set it up for all servers.
- Click on the CGI Programs icon to bring up a page for setting various CGI options.
- The CGI directory aliases table works in a very similar to the Document directory aliases table described in the previous section. However, in addition to mapping a URL path to a directory on your server it also tells Apache that any files accessed through that path should be treated as CGI programs. In the first empty row of the table, enter a URL path like /cgi-bin/ into the From field and a directory like /home/example/cgi-bin/ into the To bidang.
- Klik tombol Simpan button at the bottom of the page to return to the virtual server options page. Then click the Apply Changes link to make the CGI directory active.
You should now be able to create CGI programs in the directory, and test them out in a web browser. On some Linux distributions, the default Apache configuration will already have a CGI directory available at the URL path /cgi-bin/, mapped to a directory like /home/httpd/cgi-bin/. If this is good enough for you, there is no need to follow the steps above - instead, you can just put CGI programs in that directory.
Normally, all CGI programs execute as the Unix user that the webserver runs as, typically named httpd or apache. On a system with multiple users who cannot be fully trusted, this is not a good thing - anything that one user's CGI program can do, everyone else's can as well. So for example if a user writes a CGI program that edits some file, he would have to make that file writeable by the httpd user, meaning that everyone else's CGI programs could write to it as well.
Fortunately, there is a solution. Apache comes with an optional program called suexec that can be used to have CGI programs run as some other Unix user, rather than as the webserver user. Typically the CGI programs under each virtual server will be run as the Unix user who owns that server's files. To set this up, the steps to follow are :
- Make sure that the suexec program exists on your system, and that it has setuid-root permissions. Apache typically expects to find it in /usr/sbin or /usr/local/apache/sbin, and most Linux distributions include it as a standard part of their Apache package. However, some do not have it setuid by default, so you may need to run chmod 6711 /usr/sbin/suexec to make it so.
- On the main page of the module, click on the icon for the virtual server that you want to have CGI programs run as a different user on. This will take you to the options page shown in Figure 29-4.
- Click on the User and Group icon on the virtual server options page.
- For the Run as Unix user field, select User name and enter the name of the user who owns the virtual server into the field next to it.
- Similarly, for Run as Unix group select Group name and enter the primary group of the user specified in the previous step.
- Klik tombol Simpan button to return to the options page for the virtual server.
- To activate suexec for the first time, you need to stop and re-start Apache. Use the Stop Apache link at the top of the page to halt it, and then the Start Apache link to start it up again.
- To check that suexec is actually working, check the Apache error log file for a line containing suEXEC mechanism enabled that was logged when the webserver was re-started.
Because it can execute commands as any user on your system, suexec has many security restrictions to prevent misuse by normal users. It will only run CGI programs that are owned by the user and group specified in steps 4 and 5, and only if they are not writeable by any other user, or in a directory that is writeable by another user. The IDs of the user and group must be above minimums that are compiled into the program, to prevent programs owned by system users such as root or bin from being run. Finally, the program must reside under a directory that is compiled into suexec, and nowhere else on the filesystem.
This last restriction can be very annoying if you have a large number of virtual servers and want to enable the execution of CGI programs in their directories. The default allowed directory is typically the standard CGI directory for Apache, such as /home/httpd/cgi-bin. To change this, you will need to re-compile suexec with a different directory, such as /home.
Whenever suexec fails to run a CGI program, it fails with HTTP status code 500. Because there are many things that can go wrong, you should check the file suexec_log in the same directory as the other Apache logfiles to see why it is refusing to execute a particular program. For each failure, a line is written to this file explaining the problem, such as incorrect permissions or a file ownership mismatch.
Writing CGI programs can be difficult because when they fail, very little information is displayed in the browser. All you see is a message like 500 server error , which no explanation of the real cause. However, more detailed error information is written to the Apache error log file. This is usually named error_log, and can be found in the same directory as the Apache access log files. See the section below on Configuring logging for more details on how to find and change it.
Anything that a CGI programs outputs to STDERR will also be written to the error log, which is useful if you want your program to generate debugging information that is not sent to the web browser. Because many programming languages like Perl output error messages on STDERR if a script fails to compile or run, all such messages will also be written to the error log file.
The biggest problem with CGI programs is that the webserver has to launch a new process every time one is requested. If the CGI is written in Perl or PHP, the process then has to load the interpreter for that language which can itself be a large program. The end result is that processing a request for a CGI page takes much longer than a request for a static HTML or image file, and generates much more load on the server system.
For this reason, optional modules have been developed that allow the webserver to run Perl and PHP scripts using an interpreter that is part of the Apache process. These modules are called mod_perl and mod_php, and are included in the Apache package in many Linux distributions. Installing and configuring them is not covered in this chapter though.
Setting up server-side includes
Server-side includes allow you to create simple dynamic web pages without the complexity of writing an entire CGI program in a language like Perl. When active, some of the HTML files served by Apache are checked for special tags starting with appears in the HTML of page, it is replaced with the contents of the file something.html .
Server-side includes can also be used to access and set environment variables, to conditionally display HTML based on variables and to run CGI programs or shell commands and have their output included in the page. This section will not cover the tags that are available and the purposes though - instead, you should read the documentation on the Apache website or a good book on HTML.
Normally, allowing un-trusted users to create HTML pages containing server-side include tags is perfectly safe because they cannot be used to perform potentially dangerous operations like editing files on the server. The exception to this is the tag, which can be used to run an arbitrary shell command and have its output included in the web page. Because the command runs as the Unix user that Apache is running as (normally httpd), a user who is not allowed to create CGI programs may be able use this kind of tag to read or modify files that he would not normally be able to. For this reason, Apache can be configured to enable server-side includes with or without the risky exec tag.
Because checking an HTML file for server-side include tags is CPU intensive, they are often only activated for files with the .shtml extension. This way you can put static HTML in .html files and dynamic content into .shtml files, so that the server does not have to waste time looking for tags in files that do not contain them. However, it is also quite possible to have all .html files checked for server-side includes if you wish.
To turn on includes for a virtual server, the steps to follow are:
- On the module's main page, click on the icon of the virtual server that you want to enable server-side includes on. Or click on the Default Server icon to enable them for all virtual hosts.
- Click on the icon for the directory that you want server-side includes to be enabled under. Typically each virtual server will have an icon for options for its document root directory, but if not you can create one by following the steps in the *Setting per-directory options* section above. If you only want to enable server-side includes in some sub-directory of the website, you can create a new directory icon for that as well.
- On the directory options page, click on the Document Options icon and change the Directory options field from Default to Selected below . If you want to enable server-side includes without the exec tag, change the Server-side includes row to Yes . If you want to enable the potentially risky exec tag as well, change Server-side includes and execs row to Yes sebagai gantinya. Either way, when they have been enabled click the Save tombol di bagian bawah halaman.
- Click on the MIME types icon on the directory options page. If you want to enable includes on all HTML files, find the *Content handlers* table to select server-parsed from the first empty menu under the Handler column, and enter .html into the field next to it under the Extensions column. This tells Apache that files ending in .html should be checked for server-side include tags. If you want to enable includes for only .shtml files, enter .shtml instead of .html under the Extensions column. Then in the Extra MIME types table enter text/plain into the first empty field under the Type column and .shtml into the field under Extensions next to it. This tells Apache that .shtml files should be checked for server-side include tags, and that they actually contain HTML.
- Finally, click the Save button at the bottom of the MIME Types page, and then the Apply Changes link back on the directory options page.
Once server-side includes are enabled, you can test them by creating an .html or .shtml file in the chosen directory with some special tags it in. Then open the page in your web browser to see the result. If for some reason server-side includes were not enabled properly, nothing will show up at all because the