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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful