Membangun Web Server

3 05 2010

1 Votes i Internet sudah menjadi bagian dari kehidupan manusia saat ini. Internet merupakan sumber data dan informasi yang sangat lengkap. Internet dapat juga digunakan sebagai media promosi yang lebih murah. Oleh karena otu, insatnsi yang ingin lebih dikenal oleh masyarakat harus menggunakan fasilitas ini. Untuk mewujudkan hal tersebut maka dibutuhkan sebuah perangkat yang disebut sebagai Web Server. Sebagai harware, Web Server merupakan sebuah komputer yang didesain khusus sebagai sebuah server oleh perusahaan komputer misalnya HP, DELL, IBM, Cisco,Acer, dan perusahaan besar lainnya ataupun sebuah komputer biasa yang diset sebagai sebiah server. Untuk menjadi sebuah web server, maka komputer tersebut harus diinstal dengan sistem operasi dan juga software aplikasi yang mendukung pembangunan web server tersebut. Adapun salah satu sistem operasi yang dapat kita gunakan untuk membangun file server adalah Free BSD sedangkan program aplikasi yang dapat digunakan untk membangun web server adalah Apache. Selain itu diperlukan juga software database MySQL sebagai pengeloalaan datanya. Dalam membangun sebuah web server harus juga dibangun layanan-layanan pendukungnya. Layanan – layanan pendukung ini sebenarnya merupakan sebuah aplikasi server juga, hanya saja letaknya secara fisik menjadi satu denagn web server. Layanan – layanan tersebut adalah ü FTP ( File Transfer Protokol ) File Transfer Protokol adalah suatu protokol yang digunakan untuk transfer data secara remote. Layanan ini sangat berguna dan banyak sekali di gunakan di internet selain E-mail, Telnet, dan SSH. Kegunaan utama layanan ini pada web server adalah untuk mengupdate halaman web yang ada di web server tersebut, karena pengupdate-an ini biasanya dilakukan oleh komputer lain. FTP menggunakan dua port untuk bekerja, port 20 untuk mengirim data yang dibutuhkan, sedangkan port 21 untuk perintah kontrol dan status informasi. FTB secara default sudah terinstal pada Free BSD sehingga tidak perlu diinstal aplikasi lain. ü SSH ( Secure Shell ) SSH merupakan protokol login yang text mode. Artinya administrator dapat login dan bekerja dengan servernya tanpa harus berada di depan servernya. Hal ini disebut dengan remote login atau remote administration. SSH disebut secure karena menggunakan enkripsi untuk semua data yang dikirim maupun diterima ketika terhubung dengan server sehingga dapat melindungi password dan data penting lainnya dari penyadapan jaringan sehigga SSH banyak digunakan sebagai remote administration jika administrator tidak berada di depan server. SSH menggunakan port 22. SSH biasanya sudah terinstal pada FreeBSD sehingga kita tidak perlu menginstal aplikasi lain. ü PHP interpreter PHP merupakan singkatan dari Personal Home Page tools. PHP merupakan suatu script yang bersifat server-side yang ditambahkan ke dalam file HTML. Script ini akan membuat suatu aplikasi dapat

ü Banyaknya proses yang dapat diciptakan dan diselesaikan dalam satu waktu. misalnya koneksi ke database. motherboard yang handdal dan mempunyai daya tahan yang tinggi. dan 8080. · Script dapat dilihat tetapi tidak dapat diketahui secara jelas menggunakan fasilitas view source yang ada di browser sehingga ada proteksi keamanan disana. · Tidak harus menggunakan browser tertentu karena server yang akan mengerjakan script PHP tersebut. ü Kahandalan dan kestabilan dalam melayani user. Data – data yang sudah diisikan oleh user akan disimpan oleh web server dengan memanfaatkan software database. ü Database Suatu halaman web yang interaktif akan memberikan kesempatan kepada user untuk mengisikan data. 81. Hasil yang dikirimkan umumnya berupa teks atau gambar yang dapat dikenali oleh browser apapun. MySQL cepat berkembang karena mendudung pemrograman denagn bahasa SQL yang mudah dan powerfull ddan juga open source sehingga lebih murah. Apache banyak digunakan dan berkembang dengan cepat karena mendukung bahasa scripting seperti PERL dan PHP dan juga merupakan produk open source yag berharga murah. Karena itulah suatu web server harus memiliki dan mendukung PHP. Dengan perkataan lain Web Server adalah server yang menyimpan halaman – halaman web dari sebuah instansi atau perusahaan tertentu yang dapat diakses dengan menggunakan web browser. Apache bekerja dengan menggunakan Hyper Text Transfer Protikol. · Dapat memanfaatkan aplikasi lain yang dimiliki server. Ukuran kinerja dari sebuah web server adalah sebagai berikut. · Kebutuhan perangkat keras yaitu kebutuhan alat atau harware yang diperlukan dalam membangun sebuah server. ü Web Server Halaman – halaman web yang diakses melaui web browser seperti Internet Explorer dan Mozilla Firefox sebenarnya terletak pada suatu server yang disebut dengan Web Server.diintegrasikan ke dalam HTML sehingga membuat halaman web menjadi dinamis dan interaktif. Oleh karena itu dalam membangun web server harus disertai database server sebagai pendukungnya. sehingga Apache sering disebut dengan HTTPD yang berarti daemon http. kartu jaringan yang handal. Web server dapat diukur kinerjanya walaupun ukuran kinerjanya tidak benar – benar tepat. Server-side artinya pengerjaan script yang dilakukan di server kemudian hasilnya dikirimkan ke browser. Hal – hal yang diperlukan dalam mmembangun web server Berdasarkan apa yang telah disampaikan pada penyampian di atas. Hal yang diperlukan untuk membangun web server adalah pemenuhan akan kebutuhan perangkat keras atau software dan perangkat lunak yang digunakan dalam membangun server. Salah sati software yang banyak digunakan sebagai database adalah MySQL. tetapi suudah mewakili. ü Banyaknya user yang dapat dilayani dala satu waktu. Keuntungan dari serverside adalah sebagai berikut. Perangkat yang diperlukan meliputi alat komputer seperti prosesor yang handal dan cepat. penggunaan memory yang besar. Port defaultt dari Apache adalah port 80. misalnya halaman web buku tamu. Web server ini diciptakan oleh suatu aplikasi salah satunya adalah Apache. dan peralatan lain yang diperlukan . Protokol ini bekerja pada port 80. HDD 9 harddisk dengan kapasitas yang mencukupi misalnya beberapa ratus giga karena menyimpan halaman web dan database. kita dapat memahami apa saja yang diperlikan dalam membangun web server sebagai penyimpan halaman web dari suatu instansi sehingga nantinya dapat diakses oleh orang lain dengan menggunakan browser.

Inc. Instalasi software yang diperlukan 2. Sedangkan aplikasi yang digunakan untuk membangun web server adalah menggunakan Apache. Dari semua aplikasi di atas.8d. 2. hanya Apache dan PHP yang akan diinstall secara manual.SSH ( Secure Shell ).untuk membangun server. · Hal lain yang diperlukan dalam membengun web server adalah adanya layanan – layanan pendukung yang merupakan sebuah aplikasi server antara lain FTP ( File Transfer Protokol ). $ cd /usr/ports/database/mysql51-server $ sudo make install $ sudo portupgrade -rR mysql51-server Command terakhir adalah untuk mengupgrade versi MySQL ke versi terbaru. 1.PHP ( Personal Home Page) Interpreter.0. Kemudian dihitung pula banyaknya kesalahan layanan serta kecepatan layanan dalam satuan detik. Sun Microsystem.22. IBM. dan Cisco.2.9.0. Pengujian ini menggunakan suatu aplikasi yang dijalankan dari sisi client. Install MySQL Sebelum menginstall Apache dan PHP. OpenSSL versi 0.3. Acer. dapat menggunakan server rakitan atau PC biasa yang dimodifikasi sebagai router atau menggunakan server branded misalnya server dari perusahaan HP ( Hewlet Pacckard ). Software yang dimaksud adalah Webstress dari Paessler Software Solution bagi client yang berbasis Windows dan aplikasi Httperf yang dibuat oleh David Mosberger dari Hewlet Pacckard untuk client berbasis Linux. Compaq. Perangkat lunak sistem operasi yang biasanya digunakan untuk membangun web server adalah Linux/Unix FreeBSD. Jadi kebutuhan perangkat keras untuk membangun web server berupa unit server dengan spesifikasi yang cukup. · Kebutuhan perangkat lunak Kebutuhan perangkat lunak berupa software yang diperlukan untuk membangun sebuah web server baik itu perangkat lunak porogram aplikasi maupun perangkat lunak sistem operasi. sedang MySQL dan OpenSSL diinstall via ports.2. Dell. MySQL versi 5. dan Database. Metode ini menguji web server tersebut dengan simulasi banyaknya user yang terhubung dan dilayani. Untuk menginstalasi kedua aplikasi ini di FreeBSD cukup mudah melalui ports. Selain MySQL banyak lagi aplikasi database lainnya misalnya Microsoft SQL Server. Pengujian Web Server Pengujian web server dilakukan apabila web server telah berisi content web beserta data – data pendukungnya. Yang paling terkenal adalah MySQL karena mendukung penggunaan script SQL yang mudah dan opensoursce. Jadi yang akan didownload secara manual hanya Apache dan PHP. Membangun web server dengan Linux/Unix FreeBSD Adapun cara membuat web server pada FreeBSD dapat disampikan sebagai berikut. Download Aplikasi yang digunakan membangun web server yaitu Apache versi 2.selain aplikasi web server. yang harus diinstall terlebih dahulu adalah MySQL dan OpenSSL. Untuk mengaktifkan MySQL saat booting. buka file /etc/rc.1. diperlukan juga software database untuk penyimpanan datanya misalnya data buku tamu pada website. Fujitsu.conf dan tambahkan baris: mysql_enable = “YES” . dan Oracle database dari Oracle. dan PHP versi 5. Software database yang dapat digunakan banyak sekali.

Copykan file konfigurasi MySQL: $ sudo cp /usr/local/share/mysql/my-medium. Your MySQL connection id is 603704 to server version: 5. $ sudo /usr/local/etc/rc. kita akan melihat baris berikut saat menjalankan command ps ax | grep mysql: 678 p0.’ or ‘\h’ for help. cara menginstalasi OpenSSL dalam hal ini menggunakan ports.private} Kemudian generate private key 1024-bit: $ cd /usr/local/openssl $ sudo /usr/local/bin/openssl genrsa -out private/namadomain.cnf – user=mysql –datadir=/var/db/mysql 701 p0. $ cd /usr/ports/security/openssl $ sudo make install clean Buat direktori untuk menempatkan certificate SSL: $ sudo mkdir -p /usr/local/openssl/{certs.d/mysql-server start Bila berhasil. or \g.I 0:00. $ mysql -u root -p Enter password: Welcome to the MySQL monitor.cnf /var/db/mysql/my.45 /usr/local/libexec/mysqld –defaults-extra-file=/var/db/mysql/my. Commands end with . mysql> \q Bye 2. Type ‘\c’ to clear the buffer.cnf $ sudo chgrp mysql /var/db/mysql/my.0.22 Type ‘help.S 383:04.key 1024 Ubah permission untuk direktori private menjadi: $ sudo chown -R root:wheel private $ sudo chmod -R 600 private $ sudo chmod u+X private Generate Certificate Signing Request (CSR) File: .cnf – basedir=/usr/local –datadir=/var/db/mysql Selanjutnya buat password untuk MySQL root user: $ sudo mysqladmin -u root password ‘password-root-mysql’ Coba masuk ke MySQL console dengan password root tersebut.cnf Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL.01 /bin/sh /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my. Install OpenSSL Langkah selanjutnya adalah menginstalasi OpenSSL.2.com.

com Email Address []: postmaster@namadomain.key Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL. · enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite./configure \ –prefix=/usr/local/apache2 \ –enable-rewrite \ –enable-dav \ –enable-ssl \ –with-ssl=/usr/local \ –enable-vhost-alias \ –with-included-apr $ make $ sudo make install Keterangan dari masing-masing opsi di atas adalah: · prefix=[DIR]: Menginstall aplikasi ke target direktori yang ditentukan.2.2.3.com. source Apache hasil download disimpan di /home/users. 2.key -out certs/namadomain.com. city) []: Kota Organization Name (eg. Nama Usaha Organizational Unit Name (eg.3. anda harus memampukan JavaScript untuk melihatnya Please enter the following ‘extra’ attributes to be sent with your certificate request A challenge password []: masukkanpassword An optional company name []: Kemudian buat Certificate Signed (CRT) file: $ sudo /usr/local/bin/openssl x509 -req -days 365 -in certs/namadomain. your name or your server’s hostname) []: namadomain.tar. $ cd /home/users $ tar -jxvf httpd-2.crt -signkey private/namadomain. section) []: Bidang Usaha Perusahaan Common Name (eg.csr -out certs/namadomain.com.com.bz2 $ cd httpd-2.csr Country Name (2 letter code) [GB]: ID State or Province Name (full name) [Some-State]: Propinsi Locality Name (eg.com. company) [Internet Widgits Pty Ltd]: PT.comAlamat e-mail ini dilindungi dari spambot. Install Apache Kita asumsikan. .$ /usr/local/bin/openssl req -new -key private/namadomain.3 $ .

tar.2. install aplikasi-aplikasi via ports yang diperlukan (recommended) PHP saat instalasinya. $ cd /home/users $ tar -jxvf php-5.mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt) ./configure \ –with-apxs2=/usr/local/apache2/bin/apxs \ –with-mysql=/usr/local \ –with-openssl=/usr/local \ –with-config-file-path=/usr/local/apache2/conf \ –with-png-dir=/usr/local/lib \ –with-gettext=/usr/local/lib \ –with-gd \ –with-zlib \ –with-xml \ –with-mcrypt=/usr/local/lib \ –enable-mbstring=all \ –disable-short-tags $ make $ make install Keterangan dari masing-masing opsi di atas adalah: · with-apxs2[=FILE]: Menyertakan shared Apache 2.0 $ .2.0. · with-included-apr: Install apr. menyalin. dan menghapus resource pada sebuah web server. Aplikasi-aplikasi tersebut adalah: . Install PHP Sebelum kita menginstalasi PHP. memindah.2.4. · with-ssl=[DIR]: Di mana library SSL/TLS diinstall. 2.db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm) .· enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav. Dengan protocol WebDAV ini memungkinkan membuat.0 Handler module.gd (/usr/ports/graphics/gd) . · enable-ssl: Mengaktifkan module SSL/TLS. . source PHP yang didownload disimpan di /home/users.libxml2 (/usr/ports/textproc/libxml2) Kita asumsikan pula. · enable-vhost-alias: Support dengan banyak virtual host.x versi merupakan source yang sudah menyatu dengan Apache Source. APR atau Apache Portable Runtime pada Apache 2.bz2 $ cd php-5.

conf Include conf/extra/httpd-default. Edit file /usr/local/apache2/conf/php.conf .namadomain. · with-mcrypt[=DIR]: Menyertakan dukungan mcrypt atau Multi-cipher cryptographic library. · enable-mbstring: Mengaktifkan dukungan multibyte string.conf dan ubah baris-baris berikut menjadi: User www Group www ServerAdmin hostmaster@namadomain. DIR adalah di mana binary MySQL diinstall. · with-libxml-dir[=DIR]: Menyertakan dukungan XML. · with-gettext[=DIR]: Menyertakan dukungan GNU gettext.cgi Aktifkan juga baris-baris berikut dengan menghilangkan tanda # di awal barisnya: Include conf/extra/httpd-autoindex.· with-mysql[=DIR]: Menyertakan dukungan MySQL.conf Include conf/extra/httpd-userdir. · with-config-file-path=PATH: Di mana file php. · with-openssl[=DIR]: Menyertakan dukungan OpenSSL.Karena PHP diinstall sebagai module pada Apache.tgz AddType application/x-httpd-php .o-rwx /usr/local/lib/php Edit file /usr/local/apache2/conf/httpd. kita harus memampukan JavaScript untuk melihatnya ServerName www.ini dan sesuaikan dengan kebutuhan.types AddType application/x-compress .php TypesConfig conf/mime.com:80 DirectoryIndex index. Alamat e-mail ini dilindungi dari spambot. Pada dasarnya default file konfigurasi ini sudah cukup baik.conf Include conf/extra/httpd-dav. $ sudo chown -R root:www /usr/local/lib/php $ sudo chmod -R g-w.com.gz .ini akan diletakkan.php AddHandler cgi-script . · disable-short-tags: Nonaktifkan penggunaan tag pendek <? pada script PHP. · with-zlib[=DIR]: Menyertakan dukungan zlib.html index. kita perlu mengubah kepemilikan direktori PHP yang hanya akan mengijinkan akses kepada user root dan www saja. · with-png-dir[=DIR]: Menyertakan dukungan format file PNG.conf Include conf/extra/httpd-vhosts.Z AddType application/x-gzip . · with-gd[=DIR]: Menyertakan dukungan GD.

Kita harus membuat sendiri startup script-nya agar dapat dieksekusi oleh server pada saat booting. Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan pada browser. Kemudian tambahkan dua baris berikut pada file /etc/rc. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya. $ sudo chgrp -R www htdocs $ sudo chmod -R g+rX htdocs Karena menginstall Apache dari source file.d. $ sudo chgrp -R www icons $ sudo chmod -R g+rX icons Ubah juga permission direktori logs: $ sudo chgrp -R www logs $ sudo chmod g+wX logs Terakhir ubah kepemilikan direktori htdocs agar bisa dibaca oleh publik. maka ubah pula kepemilikannya agar bisa dibaca oleh group www.Include conf/extra/httpd-ssl. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses oleh group www. $ sudo chgrp -R www cgi-bin $ sudo chmod -R u+x. $ sudo chmod 755 apache2 Selanjutnya pada direktori apache2 ini hanya akan mengijinkan user root saja untuk dapat membaca dan menulisinya dengan mengubah permission menjadi: $ sudo chmod -R 600 apache2/* Hanya user root saja yang dapat mengakses seluruh direktori yang berada di bawah direktori apache2: $ sudo chmod -R u+X apache2 $ cd apache2 Ubah kepemilikan direktori binary Apache ke user root: $ sudo chmod -R u+x bin Direktori cgi-bin juga berisi file-file binari. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja.conf: apache2_enable=”YES” .conf Selanjutnya ubah permission direktori Apache: $ cd /usr/local Ubah kepemilikan direktori apache2 ke user root:wheel $ sudo chown -R root:wheel apache2 Ubah permission pada direktori apache2. kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya. Start up script diletakkan di direktori /usr/local/etc/rc.g+x cgi-bin Web server akan membaca direktori icons.

Kesimpulan Dalam membangun sebuah web server pada intinya ada beberapa hal yang diperlukan.sh start Periksa apakah daemon httpd sudah aktif dengan command ps ax: $ ps ax | grep httpd 33549 ?? Ss 0:12.43 /usr/local/apache2/bin/httpd -DSSL 33551 ?? I 0:00. . berarti kita sudah berhasil menginstall web server pada server.apache2_flags=”-DSSL” Ubah permission file start up script menjadi: $ sudo chmod 555 /usr/local/etc/rc.32 /usr/local/apache2/bin/httpd -DSSL Bila output di console sudah seperti di atas. dan perangkat lunak untuk menjalankan fungsi web server yaitu sistem operasi server dan aplikasi web server serta servise – service server lain yang diperlukan dalam membangun web server sehingga web server dapat menjalankan tugasnya dengan baik sebagai oenyimpan halaman dan content website dari suatu instansi perusahaan.d/apache.40 /usr/local/apache2/bin/httpd -DSSL 33552 ?? I 0:00.d/apache.sh Jalankan file tersebut untuk mengaktifkan daemon httpd: $ sudo /usr/local/etc/rc.88 /usr/local/apache2/bin/httpd -DSSL 33550 ?? I 0:00. Yaitu perangkat keras untuk membangun server.