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

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

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

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

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

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

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

.32 /usr/local/apache2/bin/httpd -DSSL Bila output di console sudah seperti di atas.d/apache. Kesimpulan Dalam membangun sebuah web server pada intinya ada beberapa hal yang diperlukan.88 /usr/local/apache2/bin/httpd -DSSL 33550 ?? I 0:00.43 /usr/local/apache2/bin/httpd -DSSL 33551 ?? I 0:00.d/apache. berarti kita sudah berhasil menginstall web server pada server. Yaitu perangkat keras untuk membangun server.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.40 /usr/local/apache2/bin/httpd -DSSL 33552 ?? I 0:00.sh start Periksa apakah daemon httpd sudah aktif dengan command ps ax: $ ps ax | grep httpd 33549 ?? Ss 0:12.apache2_flags=”-DSSL” Ubah permission file start up script menjadi: $ sudo chmod 555 /usr/local/etc/rc.

Sign up to vote on this title
UsefulNot useful