freebsd web server

3

Click here to load reader

Upload: telkom-institute-of-management

Post on 20-Jun-2015

825 views

Category:

Education


4 download

DESCRIPTION

a tutorial guide explaining how to install FreeBSD as a web server, an experience at IMTelkom (http://www.imtelkom.ac.id)

TRANSCRIPT

Page 1: FreeBSD Web Server

Standar Instalasi FreeBSD @ 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 [email protected]

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.

Page 2: FreeBSD Web Server

Standar Instalasi FreeBSD @ 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 []:[email protected]

# 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 [email protected]

# 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>

Page 3: FreeBSD Web Server

Standar Instalasi FreeBSD @ 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)