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

ü Database Suatu halaman web yang interaktif akan memberikan kesempatan kepada user untuk mengisikan data. motherboard yang handdal dan mempunyai daya tahan yang tinggi.diintegrasikan ke dalam HTML sehingga membuat halaman web menjadi dinamis dan interaktif. Web server dapat diukur kinerjanya walaupun ukuran kinerjanya tidak benar – benar tepat. tetapi suudah mewakili. Perangkat yang diperlukan meliputi alat komputer seperti prosesor yang handal dan cepat. misalnya koneksi ke database. · Script dapat dilihat tetapi tidak dapat diketahui secara jelas menggunakan fasilitas view source yang ada di browser sehingga ada proteksi keamanan disana. kartu jaringan yang handal. 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. · Dapat memanfaatkan aplikasi lain yang dimiliki server. 81. sehingga Apache sering disebut dengan HTTPD yang berarti daemon http. Apache bekerja dengan menggunakan Hyper Text Transfer Protikol. Oleh karena itu dalam membangun web server harus disertai database server sebagai pendukungnya. Web server ini diciptakan oleh suatu aplikasi salah satunya adalah Apache. dan 8080. Data – data yang sudah diisikan oleh user akan disimpan oleh web server dengan memanfaatkan software database. 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. · Tidak harus menggunakan browser tertentu karena server yang akan mengerjakan script PHP tersebut. Hal – hal yang diperlukan dalam mmembangun web server Berdasarkan apa yang telah disampaikan pada penyampian di atas. ü Banyaknya proses yang dapat diciptakan dan diselesaikan dalam satu waktu. Hal yang diperlukan untuk membangun web server adalah pemenuhan akan kebutuhan perangkat keras atau software dan perangkat lunak yang digunakan dalam membangun server. dan peralatan lain yang diperlukan . 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. Port defaultt dari Apache adalah port 80. ü Kahandalan dan kestabilan dalam melayani user. ü Banyaknya user yang dapat dilayani dala satu waktu. ü 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. misalnya halaman web buku tamu. Hasil yang dikirimkan umumnya berupa teks atau gambar yang dapat dikenali oleh browser apapun. Keuntungan dari serverside adalah sebagai berikut. Protokol ini bekerja pada port 80. Salah sati software yang banyak digunakan sebagai database adalah MySQL. · Kebutuhan perangkat keras yaitu kebutuhan alat atau harware yang diperlukan dalam membangun sebuah server. Server-side artinya pengerjaan script yang dilakukan di server kemudian hasilnya dikirimkan ke browser. Karena itulah suatu web server harus memiliki dan mendukung PHP. Ukuran kinerja dari sebuah web server adalah sebagai berikut. penggunaan memory yang besar.

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

private} Kemudian generate private key 1024-bit: $ cd /usr/local/openssl $ sudo /usr/local/bin/openssl genrsa -out private/namadomain. kita akan melihat baris berikut saat menjalankan command ps ax | grep mysql: 678 p0. $ cd /usr/ports/security/openssl $ sudo make install clean Buat direktori untuk menempatkan certificate SSL: $ sudo mkdir -p /usr/local/openssl/{certs.22 Type ‘help. Type ‘\c’ to clear the buffer.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. Your MySQL connection id is 603704 to server version: 5.’ or ‘\h’ for help. cara menginstalasi OpenSSL dalam hal ini menggunakan ports. $ mysql -u root -p Enter password: Welcome to the MySQL monitor.0. or \g.cnf $ sudo chgrp mysql /var/db/mysql/my.cnf /var/db/mysql/my.d/mysql-server start Bila berhasil. $ sudo /usr/local/etc/rc.45 /usr/local/libexec/mysqld –defaults-extra-file=/var/db/mysql/my.Copykan file konfigurasi MySQL: $ sudo cp /usr/local/share/mysql/my-medium. mysql> \q Bye 2.2. Commands end with .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: .S 383:04.01 /bin/sh /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my.cnf – user=mysql –datadir=/var/db/mysql 701 p0.com.cnf Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL. Install OpenSSL Langkah selanjutnya adalah menginstalasi OpenSSL.I 0:00.

com.csr -out certs/namadomain.com. company) [Internet Widgits Pty Ltd]: PT.3 $ .$ /usr/local/bin/openssl req -new -key private/namadomain.tar. city) []: Kota Organization Name (eg.key -out certs/namadomain.key Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL.2. .com. section) []: Bidang Usaha Perusahaan Common Name (eg. · enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite. Nama Usaha Organizational Unit Name (eg. 2. Install Apache Kita asumsikan.comAlamat e-mail ini dilindungi dari spambot.3.bz2 $ cd httpd-2. source Apache hasil download disimpan di /home/users.2. 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.com.3.csr Country Name (2 letter code) [GB]: ID State or Province Name (full name) [Some-State]: Propinsi Locality Name (eg. your name or your server’s hostname) []: namadomain./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.com. $ cd /home/users $ tar -jxvf httpd-2.com Email Address []: postmaster@namadomain.crt -signkey private/namadomain.

0 Handler module. · enable-vhost-alias: Support dengan banyak virtual host. Install PHP Sebelum kita menginstalasi PHP./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. · enable-ssl: Mengaktifkan module SSL/TLS. install aplikasi-aplikasi via ports yang diperlukan (recommended) PHP saat instalasinya.0 $ .· enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav.2. Aplikasi-aplikasi tersebut adalah: .libxml2 (/usr/ports/textproc/libxml2) Kita asumsikan pula. · with-included-apr: Install apr. dan menghapus resource pada sebuah web server. · with-ssl=[DIR]: Di mana library SSL/TLS diinstall.x versi merupakan source yang sudah menyatu dengan Apache Source.bz2 $ cd php-5. Dengan protocol WebDAV ini memungkinkan membuat. APR atau Apache Portable Runtime pada Apache 2. $ cd /home/users $ tar -jxvf php-5. 2.2. memindah. source PHP yang didownload disimpan di /home/users.tar. .0.2.4.db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm) .gd (/usr/ports/graphics/gd) . menyalin.mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt) .

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

Kita harus membuat sendiri startup script-nya agar dapat dieksekusi oleh server pada saat booting.Include conf/extra/httpd-ssl. maka ubah pula kepemilikannya agar bisa dibaca oleh group www.d.g+x cgi-bin Web server akan membaca direktori icons. $ 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.conf: apache2_enable=”YES” . $ sudo chgrp -R www htdocs $ sudo chmod -R g+rX htdocs Karena menginstall Apache dari source file.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. Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan pada browser. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses oleh group www. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya. $ 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. kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya. Start up script diletakkan di direktori /usr/local/etc/rc. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja. $ sudo chgrp -R www cgi-bin $ sudo chmod -R u+x. Kemudian tambahkan dua baris berikut pada file /etc/rc.

Yaitu perangkat keras untuk membangun server.apache2_flags=”-DSSL” Ubah permission file start up script menjadi: $ sudo chmod 555 /usr/local/etc/rc. berarti kita sudah berhasil menginstall web server pada server.43 /usr/local/apache2/bin/httpd -DSSL 33551 ?? I 0:00.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. 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. 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.32 /usr/local/apache2/bin/httpd -DSSL Bila output di console sudah seperti di atas. .d/apache.88 /usr/local/apache2/bin/httpd -DSSL 33550 ?? I 0:00.

Sign up to vote on this title
UsefulNot useful