Web Server Linux

Untuk konfigurasi web server dengan Apache pada Fedora Core 6, secara default sudah dapat jalan dengan hanya menjalankan service httpd saat boot atau dengan command sendiri. Tentunya harus disesuaikan dengan runlevel yang akan digunakan. Dalam bekerja sehari-hari, saya biasa menggunakan runlevel 5.

Kenapa saya harus membuat web server sendiri? Ada 3 alasan, yaitu:

  1. Belajar, mencoba keperkasaan LAMP (Linux-Apache-MySQL-PHP)
  2. Saya mau buat beberapa situs CMS dengan domain yang sengaja saya buat mirip dengan domain aslinya (ini sudah saya mulai saat saya memperkenalkan jaringan windows domain di lab komputer tempat saya bekerja). Impian saya kala itu adalah karena internet belum masuk lab, saya ingin seolah-olah siswa merasakan terhubung dengan jaringan internet, bisa punya web server sendiri (IIS), siswa bikin web sendiri dan aksesnya menggunakan domain lokal (meski akhirnya tidak dipakai oleh guru-guru. Sedih deh, padahal sudah saya buat panduannya. Hehe…). Pada kesempatan lain akan saya ceritakan pengalaman saya dalam membuat jaringan windows domain dan worgkroup.
  3. Tuntutan saat membuat proxy server untuk sekolah-sekolah YBHK, situs yang masuk dalam daftar blacklist squidguard otomatis akan saya redirect ke alamat web server local, yang menampilkan pesan singkat kami dari tim pengembang jaringan. Sebenarnya tanpa web server ini sih bisa jalan, tapi rasanya kurang pas jika siswa dan guru melihat kok alamatnya pakai IP address (so, saya gabungkan DNS server + Web server yang semuanya virtual ke proxy server yang saya buat). Sekalian iseng-iseng belajar bikin webhosting sendiri. Haha…

Proses konfigurasi yang saya lakukan:

  1. DNS server dipastikan berjalan dengan baik, termasuk untuk beberapa vitual domain untuk virtual Host yang akan saya buat.
  2. Edit file konfigurasi Apache.
  3. Membuat file tambahan untuk memudahkan manajemen virtual Host .
  4. Jalankan service httpd.
  5. Test konfigurasi web server menggunakan browser.

Konfigurasinya ada pada 2 file berikut:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/vhosts.conf (file buatan saya sendiri, untuk memudahkan manajemen virtual host web server saya)

Direktive Apache yang saya rubah dalam konfigurasi web server saya adalah:

### Section 1: Global Environment
User apache
Group apache

### Section 2: 'Main' server configuration
DocumentRoot "/var/www/html"

DirectoryIndex index.html index.html.var index.php index.php5

### Section 3: Virtual Hosts (IP based virtual hosts)
# Konfigurasi virtual host
Include conf/vhosts.conf

Sedangkan konfigurasi file /etc/httpd/conf/vhosts.conf saya 4 diantaranya (4 virtual host) sebagai berikut:
(Catatan: Anda harus sudah mengkonfigurasi domain untuk virtual tersebut, jika tidak, maka virtual Host saat diakses web browser tidak akan menemukan DNS servernya). Maksud saya dengan menggunakan IP Based virtual Host adalah agar PC yang saya gunakan dengan 1 NIC saja dapat memiliki beberapa domain.

NameVirtualHost 192.168.0.44:80

ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html
ServerName linuxer.local
ServerAlias www.linuxer.local
ErrorLog logs/error_log
CustomLog logs/access_log combined

ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/rpm
ServerName repository.local
ServerAlias www.repository.local
ErrorLog logs/repository.local -error_log
CustomLog logs/repository.local -access_log combined

ServerAdmin admin@linuxer.local
DocumentRoot /var/www/html/fxekobudi
ServerName fxekobudi.local
ServerAlias www.fxekobudi.local
ErrorLog logs/fxekobudi.local -error_log
CustomLog logs/fxekobudi.local -access_log combined

Sebagai catatan, bahwa direktori root harus dapat diakses oleh webserver (user dan groupnya), dengan demikian, perlu merubah permission direktori tersebut. Jalankan saja command berikut:

[root@ibm-eko fxekobudi]# chown apache.apache [nama direktori]

Selanjutnya untuk mengaktifkan service, saya gunakan command ini:

[root@ibm-eko fxekobudi]# /sbin/service httpd start

Dan saya aktifkan service named untuk runlevel 3 dan 5 dengan command:

[root@ibm-eko fxekobudi]# /sbin/chkconfig –levels 35 httpd on

Langkah terakhir adalah mencoba konfigurasi webserver kita, gunakan saja browser Mozilla Firefox, trus URLnya arahkan ke domain yang baru saja kita buat. Asyik juga khan, punya domain hosting sendiri, ngga hanya dalam format http://localhost.

Cara ini juga yang kayaknya dilakukan oleh perusahaan webhosting yang menggunakan Linux dan Apache. Mereka ngga perlu punya ribuan IP Public, cukup beberapa, terus dari yang beberapa itu dibuat menjadi ribuan virtual Host, salah satunya adalah shared hosting situs saya ini (http://fxekobudi.net) di MWN. Mungkin untuk 1 IP digunakan untuk ratusan domain shared hosting.

Impian saya sih jika kantor saya punya koneksi internet yang lebih baik dan punya beberapa IP Public, saya mau kelola situs-situs di tempat kerja saya pada server yang akan kami gunakan, sehingga ngga lagi terbatas oleh space share hosting (seperti saat ini), batasannya cuma kapasitas harddisk web server dan bandwith internet di tempat saya bekerja.

Impian besar saya berkaitan dengan Web server ini adalah buat usaha ISP di tanah kelahiran saya, Sarolangun…

Tagged on: , ,

13 thoughts on “Web Server Linux

  1. ian

    mas-mas semua mo tanya nih soal web server

    saya pake FC 6 dengan LAMPP sebagai web servernya…masalah yang sekarang kok LAMPP server saya tiba2 jadi aneh…

    kronologisnya seperti ini:

    saya dan team membangun aplikasi yang berbasis WEB(PHP) awalnya menggunakan webserver Apache2Triad…setelah aplikasi tersebut itu beres kemudian kita pindahkan aplikasi tersebut ke mesin LINUX(Fedora Core 6) yang rencananya dibuat demi kepentingan SERVER kita….

    setelah lama mencari2 web server kami pun mendapatkan LAMPP webserver yang memang untuk LINUX…kedian kami install di mesin LINUX kami…

    masalahnya pun dimulai….
    ada beberapa script PHP dalam aplikasi kita yang tidak bisa jalan setelah dimasukan ke mesin LINUX…seperti script PHP untuk Upload file, dan script ini
    ———————————————————————————————————–
    //script cek ip
    if (getenv(“HTTP_X_FORWARDED_FOR”)){
    $ip=getenv(“HTTP_X_FORWARDED_FOR”);
    } else {
    $ip=getenv(“REMOTE_ADDR”);
    }
    $ip=getenv(“REMOTE_ADDR”);
    $b=fopen(“./hit/data.txt”, “r”);
    $c=fread($b, filesize(“./hit/data.txt”));
    $b=fopen(“./hit/data.txt”, “w”);
    $isi=”$usernamen$hari_inin$jamn$ipn$c”;
    fputs($b, $isi);
    fclose($b);
    ————————————————————————————————————
    pertayaan saya:
    perbedaan apa yang membuat script PHP saya tidah bisa jalan normal ketika masuk ke webserver LAMPP??
    setting yang harus saya lakukan terhadap webserver LAMPP sehingga dapat berjalan seperti ketika saya menggunakan Apache2Triad di Windows???
    adakah webserver lain yang dapat saya gunakan untuk mesin LINUX selain LAMPP??

    terimasih atas jawabannya…

    FX. Eko Budi Kristanto:
    Terima kasih juga atas pertanyaannya Mas…
    Versi PHP yang disertakan pada Apache2 Triad apakah sama dengan PHP LAMP Mas Ian? Saya pernah mengalaminya sehingga menyebabkan error pada situs saya. Anda bisa menggunakan lighttpd sebagai webserver untuk Linux.

  2. cecepswp

    Bagus tutorialnya, saya udah cari banyak tutorial tentang linux web server ngga’ ada yang sepraktis ini. Jadi…untuk pemula seperti saya lebih mudah untuk memahaminya :)

  3. arekbali

    ternyata saya benar2 masih sangat pemula banget….
    buktinya aja..dari sekian banyak yang diceritakan sama sekali belum ada yang kesimpen dihardisk bawaan saya….

  4. tomi

    Kalo distro yang paling stabil untuk FTP apa ya MAS?

    FX. Eko Budi Kristanto:
    Saya rasa semua distro untuk server memiliki kinerja yang bagus Mas.. Silahkan coba dengan Debian atau Ubuntu Server, banyak yang sudah menggunakannya.

  5. oky

    mas,ku mo nnya gmn cranya bs dua booting os satu linux satu lagi windows,saya ingin lebih tahu jelas tentang web server,karena saya sedang mengambil tema laporan kerja praktek saya tentang web server,dan saya mohon bntuan dari mas,seblumnya trima kasih yah…

  6. joni

    Sebagai catatan, bahwa direktori root harus dapat diakses oleh webserver (user dan groupnya), dengan demikian, perlu merubah permission direktori tersebut. Jalankan saja command berikut:
    [root@ibm-eko fxekobudi]# chown apache.apache [nama direktori]

    untuk nama direktori diisi apa mas?
    terima kasih

    FX. Eko Budi Kristanto:
    Jika posisi kita (check dengan command pwd) adalah di home direktory user kita, maka nama-direktory adalah /var/www

  7. 5 mistakes

    Your blog is really interesting to me and your subject matter is very relevant. I was browsing around and came across something you might find interesting. I was guilty of 3 of them with my sites. “99% of site managers are doing these 5 mistakes”. http://bit.ly/tBfFqz You will be suprised how simple they are to fix.

  8. wahyu suzuki

    kalo membuat DNS server menggunakan linux slackware gi mana caranya mas broooo….????????
    :D