Kamis, 05 November 2009

Membuat Server Dengan FreeBSD


Tentu saja kata web server tidak asing lagi di sebagian besar telinga kita, yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain sebagainya. Salah satu aplikasi yang sudah sangat populer adalah Apache HTTP Server. Aplikasi ini mulai dirilis ke publik sejak tahun 1995. Web server yang menggunakan aplikasi Apache di seluruh dunia saat ini berdasarkan survei Netcraft Web Server Survey pada November 2006 saja sudah lebih dari 60% dari total 101,435,253 situs.

Proyek Apache HTTP Server ini merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation. Lembaga ini bertujuan mengembangkan Apache sebagai aplikasi web server modern yang bisa dipergunakan di multi platform OS, khususnya Unix dan Windows.
Saya tidak akan membahas sejarah perkembangan Apache ini secara rinci. Untuk mengetahui lebih lengkap perkembangannya silakan kunjungi About the Apache HTTP Server Project.
Dalam artikel ini, saya tidak hanya membahas Apache secara khusus saja, namun juga beberapa aplikasi yang umum dipergunakan bersama aplikasi ini, seperti OpenSSL, MySQL, dan PHP.




Membangun Web Server di FreeBSD
Written by Administrator

Tentu saja kata web server tidak asing lagi di sebagian besar telinga kita, yaitu sebuah tempat untuk mempublikasikan informasi apa pun kepada publik melalui internet atau intranet tentang apa saja, baik oleh individu, kelompok, lembaga pemerintahan, perusahaan, dan lain-lain. Web server umumnya tidak berdiri sendiri, namun ada aplikasi yang mendukungnya, semacam PHP, OpenSSL, dan lain sebagainya. Salah satu aplikasi yang sudah sangat populer adalah Apache HTTP Server. Aplikasi ini mulai dirilis ke publik sejak tahun 1995. Web server yang menggunakan aplikasi Apache di seluruh dunia saat ini berdasarkan survei Netcraft Web Server Survey pada November 2006 saja sudah lebih dari 60% dari total 101,435,253 situs.

Proyek Apache HTTP Server ini merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation. Lembaga ini bertujuan mengembangkan Apache sebagai aplikasi web server modern yang bisa dipergunakan di multi platform OS, khususnya Unix dan Windows.
Saya tidak akan membahas sejarah perkembangan Apache ini secara rinci. Untuk mengetahui lebih lengkap perkembangannya silakan kunjungi About the Apache HTTP Server Project.
Dalam artikel ini, saya tidak hanya membahas Apache secara khusus saja, namun juga beberapa aplikasi yang umum dipergunakan bersama aplikasi ini, seperti OpenSSL, MySQL, dan PHP.
1. Download
Aplikasi yang dipergunakan dalam artikel ini adalah Apache versi 2.2.3, MySQL versi 5.0.22, OpenSSL versi 0.9.8d, dan PHP versi 5.2.0.
Dari semua aplikasi di atas, hanya Apache dan PHP yang akan diinstall secara manual, sedang MySQL dan OpenSSL diinstall via ports. Jadi yang akan didownload secara manual hanya Apache dan PHP.
Apache versi terakhir dapat didownload di http://apache.the.net.id/httpd/httpd-2.2.3.tar.bz2. Versi terakhir Apache saat artikel ini ditulis adalah versi 2.2.3. Dan versi PHP terakhir saat ini adalah versi 5.2.0. PHP dapat didownload di http://id2.php.net/get/php-5.2.0.tar.bz2/from/a/mirror.
2. Instalasi
2.1. Install MySQL
Sebelum menginstall Apache dan PHP, yang harus diinstall terlebih dahulu adalah MySQL dan OpenSSL. Untuk menginstalasi kedua aplikasi ini di FreeBSD cukup mudah melalui 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.
Untuk mengaktifkan MySQL saat booting, buka file /etc/rc.conf dan tambahkan baris:
mysql_enable = “YES”
Copykan file konfigurasi MySQL:
$ sudo cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf
$ sudo chgrp mysql /var/db/mysql/my.cnf
Kemudian jalankan command berikut untuk mengaktifkan daemon MySQL.
$ sudo /usr/local/etc/rc.d/mysql-server start
Bila berhasil, seharusnya Anda akan melihat baris berikut saat menjalankan command ps ax | grep mysql:
678 p0- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my.cnf –user=mysql –datadir=/var/db/mysql
701 p0- S 383:04.45 /usr/local/libexec/mysqld –defaults-extra-file=/var/db/mysql/my.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.
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 603704 to server version: 5.0.22
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> \q
Bye
2.2. Install OpenSSL
Langkah selanjutnya adalah menginstalasi OpenSSL, cara menginstalasi OpenSSL dalam hal ini menggunakan ports juga.
$ cd /usr/ports/security/openssl
$ sudo make install clean
Buat direktori untuk menempatkan certificate SSL:
$ sudo mkdir -p /usr/local/openssl/{certs,private}
Kemudian generate private key 1024-bit:
$ cd /usr/local/openssl
$ sudo /usr/local/bin/openssl genrsa -out private/namadomain.com.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:
$ /usr/local/bin/openssl req -new -key private/namadomain.com.key -out certs/namadomain.com.csr
Country Name (2 letter code) [GB]: ID
State or Province Name (full name) [Some-State]: Propinsi
Locality Name (eg, city) []: Kota
Organization Name (eg, company) [Internet Widgits Pty Ltd]: PT. Nama Usaha
Organizational Unit Name (eg, section) []: Bidang Usaha Perusahaan
Common Name (eg, your name or your server’s hostname) []: namadomain.com
Email Address []: postmaster@namadomain.compostmaster@namadomain.com This email address is being protected from spam bots, you need Javascript enabled to view it
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.csr -out certs/namadomain.com.crt -signkey private/namadomain.com.key
Certificate yang dibuat itu nantinya akan digunakan bila webserver support SSL.
2.3. Install Apache
Saya asumsikan, source Apache hasil download Anda disimpan di /home/users.
$ cd /home/users
$ tar -jxvf httpd-2.2.3.tar.bz2
$ cd httpd-2.2.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.
–enable-rewrite: Mengaktifkan rule based URL manipulation melalui module mod_rewrite.
–enable-dav: Mengaktifkan protocol WebDAV melalui module mod_dav. Dengan protocol WebDAV ini memungkinkan membuat, memindah, menyalin, dan menghapus resource pada sebuah web server.
–enable-ssl: Mengaktifkan module SSL/TLS.
–with-ssl=[DIR]: Di mana library SSL/TLS diinstall.
–enable-vhost-alias: Support dengan banyak virtual host.
–with-included-apr: Install apr. APR atau Apache Portable Runtime pada Apache 2.2.x versi merupakan source yang sudah menyatu dengan Apache Source.
2.4. Install PHP
Sebelum Anda menginstalasi PHP, saya sarankan untuk menginstall aplikasi-aplikasi via ports yang diperlukan (recommended) PHP saat instalasinya. Aplikasi-aplikasi tersebut adalah:
- mcrypt (/usr/ports/security/mcrypt) dan libmcrypt (/usr/ports/security/libmcrypt)
- db4 (/usr/ports/databases/db4) dan gdbm (/usr/ports/databases/gdbm)
- gd (/usr/ports/graphics/gd)
- libxml2 (/usr/ports/textproc/libxml2)
Saya asumsikan pula, source PHP yang Anda download disimpan di /home/users.
$ cd /home/users
$ tar -jxvf php-5.2.0.tar.bz2
$ cd php-5.2.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.0 Handler module.
–with-mysql[=DIR]: Menyertakan dukungan MySQL. DIR adalah di mana binary MySQL diinstall.
–with-openssl[=DIR]: Menyertakan dukungan OpenSSL.
–with-config-file-path=PATH: Di mana file php.ini akan diletakkan.
–with-png-dir[=DIR]: Menyertakan dukungan format file PNG.
–with-gettext[=DIR]: Menyertakan dukungan GNU gettext.
–with-gd[=DIR]: Menyertakan dukungan GD.
–with-zlib[=DIR]: Menyertakan dukungan zlib.
–with-libxml-dir[=DIR]: Menyertakan dukungan XML.
–with-mcrypt[=DIR]: Menyertakan dukungan mcrypt atau Multi-cipher cryptographic library.
–enable-mbstring: Mengaktifkan dukungan multibyte string.
–disable-short-tags: Nonaktifkan penggunaan tag pendek Edit file /usr/local/apache2/conf/php.ini dan sesuaikan dengan kebutuhan Anda. Pada dasarnya default file konfigurasi ini sudah cukup baik.
Karena PHP diinstall sebagai module pada Apache, kita perlu mengubah kepemilikan direktori PHP yang hanya akan mengijinkan akses kepada user root dan www saja.
$ sudo chown -R root:www /usr/local/lib/php
$ sudo chmod -R g-w,o-rwx /usr/local/lib/php
Edit file /usr/local/apache2/conf/httpd.conf dan ubah baris-baris berikut menjadi:

User www
Group www

ServerAdmin hostmaster@namadomain.comhostmaster@namadomain.com This email address is being protected from spam bots, you need Javascript enabled to view it
ServerName www.namadomain.com:80

DirectoryIndex index.html index.php


TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddHandler cgi-script .cgi

Aktifkan juga baris-baris berikut dengan menghilangkan tanda # di awal barisnya:
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-dav.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-ssl.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. Karena direktori ini kepemilikannya oleh root:wheel dan supaya bisa diakses oleh group www, kita ijinkan group www ini membaca dan mengeksekusi file-file di bawahnya.
$ 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. Hanya mengijinkan user root dan group www saja yang bisa mengaksesnya.
$ sudo chgrp -R www cgi-bin
$ sudo chmod -R u+x,g+x cgi-bin
Web server akan membaca direktori icons, maka ubah pula kepemilikannya agar bisa dibaca 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. Direktori ini nanti merupakan tempat menyimpan file-file web yang akan ditampilkan pada browser. Akses penulisan ke direktori ini hanya dibatasi kepada user root saja.
$ 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. Start up script diletakkan di direktori /usr/local/etc/rc.d. Startup script dapat didownload di sini: Apache-2 FreeBSD Startup Script
Kemudian tambahkan dua baris berikut pada file /etc/rc.conf:
apache2_enable=”YES”
apache2_flags=”-DSSL”
Ubah permission file start up script menjadi:
$ sudo chmod 555 /usr/local/etc/rc.d/apache.sh
Jalankan file tersebut untuk mengaktifkan daemon httpd:
$ sudo /usr/local/etc/rc.d/apache.sh start
Periksa apakah daemon httpd sudah aktif dengan command ps ax:
$ ps ax | grep httpd
33549 ?? Ss 0:12.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.32 /usr/local/apache2/bin/httpd -DSSL
Bila output di console Anda sudah seperti di atas, selamat! Anda sudah berhasil menginstall web server pada server Anda.

Read More...... Read More......

Jumat, 27 Februari 2009

CaRa MemBuAt WeB sErver DeNgaN OpEnSuSe

CARA MEMBUAT WEB SERVER DENGAN OPENSUSE

Untuk menginstall software tambahan pada Linux OpenSuSe anda, maka anda memerlukan CD/DVD Linux OpenSuSe Installer, biasanya kalau media CD memuat sampai 5 CD untuk Installer dan tambahan paket program softwarenya, jika anda memulai menginstall paket-paket rpm software yang dibutuhkan seperti libxml,xmms, thunderbird, biasanya anda memulainya dengan langkah :klik tombol KMenu - System - YAST kemudian pilih Software lalu pilih software management kemudian pada kolom search isikan paket yang akan anda install misalkan XMMS kemudian tekan enter dan pilih paket software yang diperlukan kemudian tekan tombol continue maka komputer akan memprosesnya dan dibutuhkan CD installer, maka anda harus memasukan CD installer yang dibutuhkan.


Untuk menginstall software tambahan pada Linux OpenSuSe anda, maka anda memerlukan CD/DVD Linux OpenSuSe Installer, biasanya kalau media CD memuat sampai 5 CD untuk Installer dan tambahan paket program softwarenya, jika anda memulai menginstall paket-paket rpm software yang dibutuhkan seperti libxml,xmms, thunderbird, biasanya anda memulainya dengan langkah :klik tombol KMenu - System - YAST kemudian pilih Software lalu pilih software management kemudian pada kolom search isikan paket yang akan anda install misalkan XMMS kemudian tekan enter dan pilih paket software yang diperlukan kemudian tekan tombol continue maka komputer akan memprosesnya dan dibutuhkan CD installer, maka anda harus memasukan CD installer yang dibutuhkan.

Jika setiap menginstall paket rpm dibutuhkan CD installer, maka apabila komputer linux anda terhubung dengan jaringan dan tanpa dilengkapi CD-ROM maka akan merepotkan sekali, apalagi kalau jumlah PC-nya banyak sekali, maka dari itu buatlah Repositori untuk memenuhi kebutuhan linux OpenSuSe anda dijaringan. caranya :

* langkah pertama, download cd iso linux OpenSuse 10.2 di Internet sebanyak 5 CD iso ( openSUSE-10.2-GM-i386-CD1.iso, openSUSE-10.2-GM-i386-CD2.iso, openSUSE-10.2-GM-i386-CD3.iso, openSUSE-10.2-GM-i386-CD4.iso, openSUSE-10.2-GM-i386-CD5.iso ), setelah itu simpan pada komputer yang akan dijadikan Repositori untuk kebutuhan jaringan anda, bisa di komputer dengan Op. Sys. Windows XP ataupun dengan sesama Op. Sys. Linux OpenSuSe 10.2.

* Langkah Kedua, setelah anda menyimpan CD iso tersebut di harddisk anda maka lakukan sebagai berikut :

-->jika anda menyimpannya pada Windows XP lakukan:

Copy file iso tersebut pada partisi hardisk yang anda inginkan misal di folder D:\Repositori\linuxsuse10.2 (buatlah folder Repositori dan linuxsuse jika belum ada) kemudian copy file iso pada folder tersebut dan lakukan sharing pada folder Repositori tersebut supaya bisa dibaca oleh jaringan.

Setelah itu pada linux OpenSuSe 10.2 anda lakukan instalasi Source dengan YAST, langkahnya klik tombol KMenu - System - YAST kemudian pilih Software lalu pilih Instalation Source maka akan tampilan jendela Configure software Catalogs lalu pada pilihan URL devices Cdrom bikin statusnya off dengan cara mengklik tombol source setting setelah itu baru tekan tombol Add akan tampil jendela Media Type, kemudian pilihlah SMB/CIFS tekan tombol Next, maka akan muncul jendela server and Directory pada kolom Server name isikan ip-address komputer yang dijadikan repositori tadi contoh: 192.168.0.10 kemudian pada kolom Share isikan nama folder yang di sharing tadi yaitu Repositori kemudian pada Path to Directory or ISO Image isikan path address dimana anda tadi meletakan file iso yaitu /linuxsuse 10.2/openSUSE-10.2-GM-i386-CD1.iso kemudian pada pilihan ISO image diberikan tanda centang, pada pilihan Anonymous hapus tanda centangnya lalu pada kolom User Name isikan user komputer windows xp tadi contoh: Administrator lalu isikan password pada kolom password setelah itu tekan tombol OK, tunggulah linux anda akan membuat link file iso tadi (creating Source iso), setelah selesai pada License Agrement pilih Yes, I agree .. kemudian tekan Next, lihatlah sekarang pada jendela Configure Software Catalog akan ada tambahan pada URL iso///?iso=openSUSE-10.2-GM-i386-CD1.iso&url=smb/CIFS//192.168.0.10/D:\Repositori\linuxsuse10.2 lalu sekarang coba anda menginstall kembali paket software openSuSe 10.2 dengan software management seperti langkah diatas maka setelah anda menuliskan paket pada kolom search contoh XMMS kemudian tekan Enter kemudian pilih/centang paket software yang diinginkan setelah anda menekan tombol continue maka anda sekarang tidak diminta memasukan cd installer openSuSe lagi, otomatis linux anda akan mengarah ke folder Repositori tadi.

--> jika anda menyimpannya pada Linux OpenSuSe lakukan:

Copy file iso tersebut pada partisi hardisk yang anda inginkan misalkan pada /home/denot/sourcelinuxsuse10.2 setelah itu anda cukup mengaktifkan NFS server pada YAST pada PC yang menyimpan file iso tadi,langkahnya sebagai berikut: klik tombol KMenu - System - YAST kemudian pilih Network service lalu pilih NFS Server setelah muncul jendela NFS Server Configuration pilih Start pada menu NFS Server kemudian tekan tombol Next, kemudian pada jendela Directories to Export pilih tombol Add Directory lalu tekan tombol Browse untuk mencari letak folder dimana anda menyimpan file iso tadi, yaitu di /home/denot/sourcelinuxsuse10.2 setelah itu tekan tombol Ok, maka akan muncul path atau alamat tadi pada kolom isian jendela Directory to Export tadi kemudian tekan lagi tombol OK, akan muncul jendela informasi pada menu Host Wild Card akan terisi * dan pada menu Options akan terisi ro,root_squash,sync lalu tekan OK, maka pada jendela Directories to Export tadi sekarang terisi alamat/path folder repositori yaitu /home/denot/sourcelinuxsuse10.2 setelah itu tekan tombol finish untuk menyelesaikan settingan repositori tersebut.

Cobalah sekarang pada komputer linux OpenSuSe yang akan diinstall paket software lakukan setting sebagai berikut untuk mengarahkan Repositori ke komputer yang dijadikan NFS Server tadi: install paket rpm yang dibutuhkan lakukan instalasi Source dengan YAST, langkahnya klik tombol KMenu - System - YAST kemudian pilih Software lalu pilih Instalation Source maka akan tampilan jendela Configure software Catalogs lalu pada pilihan URL devices Cdrom bikin statusnya off dengan cara mengklik tombol source setting setelah itu baru tekan tombol Add akan tampil jendela Media Type, kemudian pilihlah NFS lalu tekan tombol Next, pada jendela NFS Server isikan Server Name yaitu alamat ip-address linux OpenSuse yang dijadikan NFS Server tadi contoh: 192.168.0.20 lalu pada isian kolom Path to Directory or iso Image isikan alamat path tadi yaitu /home/denot/sourcelinuxsuse10.2/openSUSE-10.2-GM-i386-CD1.iso jangan lupa centang pada pilihan ISO Image kemudian tekan tombol Next, tunggulah linux anda sedang melakukan creating iso image, setelah selesai seperti biasa centang pada pilihan yes, I Agree... lalu tekan next, sekarang pada jendela Configure Software Catalogs akan terlihat link baru dengan URL iso///?iso=openSUSE-10.2-GM-i386-CD1.iso&url=nfs//192.168.0.20/home/denot/sourcelinuxsuse10.2 lalu sekarang coba anda menginstall kembali paket software openSuSe 10.2 dengan software management seperti langkah diatas maka setelah anda menuliskan paket pada kolom search contoh XMMS kemudian tekan Enter kemudian pilih/centang paket software yang diinginkan setelah anda menekan tombol continue maka anda sekarang tidak diminta memasukan cd installer openSuSe lagi, otomatis linux anda akan mengarah ke folder Repositori tadi.


Read More...... Read More......