a tutorial guide explaining how to install FreeBSD as a web server, an experience at IMTelkom (http://www.imtelkom.ac.id)
1 of 3
Downloaded 39 times
More Related Content
FreeBSD Web Server
1. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)
Instalasi Apache 2.x
Apache adalah aplikasi untuk web server yg paling popular digunakan, sederhana
pemakaiannya, dan sangat responsive meskipun hanya membutuhkan resource
system yang minimal.
Untuk instalasi Apache 2.0 anda harus login ke server sebagai SuperUser (root).
# cd /usr/ports/www/apache2
# make install clean
<tunggu sampai selesai, jika ada pertanyaan gunakan default saja>
# edit /usr/local/etc/apache2/httpd.conf
(hanya entry yg perlu di-edit)
Listen 10.1.1.2:80 sesuaikan dgn alamat IP dari server
ServerAdmin sisfo@imtelkom.ac.id
ServerName www.imtelkom.ac.id:80 sesuaikan dgn nama server
DocumentRoot /data/web
<Directory /data/web>
Allow from all
</Directory>
ServerTokens Prod
ServerSignature Off
# ipfw add allow tcp from any to 10.1.1.2 dst-port 80 setup
# cat /etc/rc.conf | grep apache
apache2_enable="YES"
apache2ssl_enable="YES"
Apache 2.2 memberikan fitur yang lebih banyak dibandingkan Apache 2.0,
meskipun fitur2 tersebut tidak terlalu berguna untuk pemakaian sebagai web
server standar. Selain perbedaan pada fitur yang disediakan, Apache 2.2 juga
memisahkan antara konfigurasi standar dengan konfigurasi modul tambahan,
seperti misalnya :
# cd /usr/local/etc/apache22/
# ls l httpd.conf konfigurasi standar
# ls l extra/httpd-vhosts.conf konfigurasi Virtual Host
# ls l extra/httpd-ssl.conf konfigurasi SSL
Untuk instalasi Apache 2.2 anda harus login ke server sebagai SuperUser (root).
# cd /usr/ports/www/apache22
# make install clean
Untuk selanjutnya, dokumen akan menjelaskan setting dan konfigurasi dari
Apache 2.0, sementara untuk Apache 2.2 bisa disesuaikan.
2. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)
Dengan alasan keamanan data, SSL (Secure Socket Layer) harus diaktifkan :
# cd /usr/local/etc/apache2
# openssl genrsa > server.key
# openssl req -new -x509 -key server.key -out server.crt -days 365
Country Name (2 letter code) []:ID
State or Province Name (full name) []:West Java
Locality Name (eg, city) []:Bandung
Organization Name (eg, company) []:IM Telkom
Organizational Unit Name (eg, section) []:Sisfo
Common Name []:www.imtelkom.ac.id gunakan nama server
Email Address []:sisfo@imtelkom.ac.id
# mkdir ssl.key
# mv server.key ssl.key/
# mkdir ssl.crt
# mv server.crt ssl.crt/
# edit ssl.conf
DocumentRoot "/data/web"
ServerName www.imtelkom.ac.id:443
ServerAdmin sisfo@imtelkom.ac.id
# ipfw add allow tcp from any to 10.1.1.2 dst-port 443 setup
Tips:
- script untuk menjalankan apache2 ada di /usr/local/etc/rc.d/apache2.sh
/usr/local/etc/rc.d/apache2.sh start menjalankan apache2
/usr/local/etc/rc.d/apache2.sh restart mematikan apache2 dan
menjalankannya kembali dgn membaca file konfigurasi httpd.conf yg baru
- sebelum menjalankan file konfigurasi yg baru, sebaiknya mengecek terlebih
dahulu validitas syntax di dalam file httpd.conf dengan :
# apachectl configtest
Syntax OK
- selain menggunakan /usr/local/etc/rc.d/apache2.sh restart kita juga bisa
menggunakan command berikut untuk me-restart apache2 :
# apachectl graceful
- untuk melihat siapa yg sedang mengakses apache :
# tail -f /var/log/httpd-access.log
- "Alias" digunakan untuk redirection request web ke suatu folder :
Alias /nilai "/data/web/akademik/html/nilai"
<Directory "/data/web/akademik/html/nilai">
Allow from all
</Directory>
maka request ke http://server/nilai akan direply oleh index.php atau index.html
di folder /data/web/akademik/html/nilai
- "Proxy" digunakan untuk redirection request web ke suatu folder di server lain:
ProxyPass /mhs http://10.1.1.20/mhs
ProxyPassReverse /mhs http://10.1.1.20/mhs
ProxyVia On cukup ditulis 1x saja
maka request ke http://server/mhs akan diforward ke server 10.1.1.20 (dari
sisi client yg dianggap menjawab request tsb adalah tetap http://server)
- Apache 2.2 menyediakan setting proxy pada VirtualHost:
<VirtualHost 10.1.1.2:80>
ProxyPreserveHost On
ProxyPass / http://10.1.1.20/
ProxyPassReverse / http://10.1.1.20/
ServerName mhs.imtelkom.ac.id
</VirtualHost>
3. Standar Instalasi FreeBS D @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id)
- Apache 2.0 memiliki beberapa modul yg bisa di-install maupun tidak :
# cd /usr/ports/www/apache20
# make show-categories
AUTH untuk membatasi user yg bisa mengakses suatu page (default ON)
DAV untuk Web DAV (sharing hard disk server) (default ON)
EXPERIMENTAL optional (default OFF)
LDAP untuk LDAP (default OFF)
MISC modul standar (default ON)
PROXY untuk melewatkan query HTTP ke server lain (default OFF)
SSL untuk SSL (default OFF)
SUEXEC untuk SUEXEC (default OFF)
THREADS untuk CGI (default OFF)
# make install WITHOUT_DAV_MODULES=yes WITH_PROXY_MODULES=yes akan
meng-install Apache20 tanpa modul DAV tapi dengan tambahan modul PROXY
Jika Apache sudah terlanjur di-install, maka kita tidak bisa menambah atau
mengurangi modul. Untuk dapat menambah atau mengurangi modul, Apache
harus di-"make deinstall" terlebih dahulu, baru diulang kembali "make install
WITH"
- Modul pada Apache 2.2 secara default akan selalu diinstall, dan untuk
menonaktifkannya kita bisa melakukannya pada file konfigurasi standar:
# vi /usr/local/etc/apache22/httpd.conf
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
LoadModule file_cache_module libexec/apache22/mod_file_cache.so
LoadModule cache_module libexec/apache22/mod_cache.so
LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
LoadModule dumpio_module libexec/apache22/mod_dumpio.so
LoadModule reqtimeout_module libexec/apache22/mod_reqtimeout.so
LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
(dan seterusnya)