• Tidak ada hasil yang ditemukan

Apache v2 Server. Pendahuluan

N/A
N/A
Protected

Academic year: 2021

Membagikan "Apache v2 Server. Pendahuluan"

Copied!
14
0
0

Teks penuh

(1)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 1

Apache v2 Server

Pendahuluan

Salah satu perangkat lunak yang dipergunakan secara luas pada sistem operasi Linux adalah Apache webserver (http://www.apache.org). Pengembangannya yang dimulai dari tahun 1995 oleh sekelompok kecil pemrogram yaitu Apache Software Foundation incorporated, tahun 1999 mulai berkonsentrasi untuk mendukung projek Apache HTTP server. Dengan berbasis jumlah pengguna lebih dari 25 juta server di seluruh dunia, membuat Apache HTTP server mempunyai keunggulan dari sisi fleksibilitas dan performansi. Untuk fitur lain yang ditawarkan, adalah sebagai berikut:

 Tingkat stabilitas yang tinggi.

Aplikasi secara keseluruhan, dan modul-modul tambahan bersifat opensource dengan masing-masing lisensi dari aplikasi.

 Bekerja pada berbagai macam platform arsitektur dan sistem operasi.  Menghadirkan tingkat keamanan yang lebih baik.

 Dapat diintegrasikan dengan berbagai modul seperti PHP, MySQL, yang dapat menambah fungsionalitas dari webserver.

Apache sendiri sebenarnya merupakan suatu web server yang dapat dikategorikan sederhana dalam implementasinya. Dan ini sesuai dengan tujuan awalnya sebagai penyedia layanan untuk halaman Internet. Beberapa web server komersial menyediakan berbagai macam fasilitas dalam lingkup web server, tetapi apabila ditelaah lebih lanjut malah akan menimbulkan celah keamanan yang cukup serius. Kesederhanaan dan desain bersifat modular dari server HTTPD Apache membawa sejumlah aspek sekuritas yang tinggi dan hasil survey telah menunjukkan bahwa apabila dilakukan perbandingan kinerja akan menunjukkan banyak hal yang lebih baik, seperti yang telah dijelaskan pada bagian atas dari modul ini.

Modul Apache

Bagian penting yang membuat aplikasi server Apache fleksibel dan tinggi fungsionalitas yang tinggi adalah karena dapat dilengkapi dengan tambahan modul. Apache sendiri secara standar disertai berbagai macam modules yang secara otomatis akan di-install. Untuk penjelasan lebih lanjut, dapat membuka alamat http://modules.apache.org. Terdapat berbagai informasi mengenai modul serta cara penginstallan yang perlu dilakukan. Beberapa contoh modul yang tersedia adalah sebagai berikut: 1. mod_digest

Mengaktifkan layanan autentikasi digest. 2. mod_cgi

Menyediakan fasilitas untuk mengeksekusi skrip CGI pada web server. 3. mod_php4

Fitur berikut ini adalah agar dapat mengeksekusi skrip PHP4 pada web server. 4. mod_php5

Fitur berikut ini adalah agar dapat mengeksekusi skrip PHP5 pada web server. 5. mod_perl

Menyediakan fasilitas agar administrator dapat mengaktifkan interpreter Perl ke dalam web server apache.

6. mod_aspdotnet

(2)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 2 7. mod_ssl

Menyediakan figur kriptografi mellui protokol Secure Socket Layer (SSL) dan Transport Layer Security (TLS).

8. mod_ssi

Mengaktifkan layanan yang mendukung Server Side Includes (SSI). 9. mod_auth

Modul ini akan mengaktifkan layanan HTTP basic authentication (nama pengguna dan password).

Instalasi aplikasi Apache2, MySQL, dan PHP

Pada distribusi Debian, aplikasi Apache2 telah disediakan dalam dvd paket yang ada. Tidak ketinggalan pula berbagai macam modul seperti php4, ssl, dan lainnya, dengan tujuan semakin mempermudah administrator dalam mempersiapkan sistem yang akan dibangun. Untuk kode sumbernya, dapat diperoleh langsung dari situs resmi apache yaitu http://www.apache.org.

Saat ini terdapat dua versi aplikasi yang dapat dipergunakan yaitu versi 1.3 dan versi 2.0. Untuk implementasinya, sebagian administrator masih menerapkan versi yang pertama karena berdasarkan fakta kestabilan selama periode waktu yang telah dilalui. Untuk versi yang terbaru, tentu saja telah dilengkapi dengan berbagai macam perbaikan terutama dari sisi keamanan dan kelemahan lain. Untuk konfigurasinya, antara dua versi tersebut mempunyai banyak kesamaan yang dapat diterapkan.

Untuk tahap penginstalan sendiri mempunyai dua versi, yaitu melalui konsol (terminal) menggunakan aptitude atau dari GUI menggunakan aplikasi synaptic. Masing-masing mempunyai kelebihan, akan tetapi perlu diketahui bahwa aplikasi GUI jarang ditemui pada mesin server, terkecuali untuk saat-saat tertentu, sehingga akan lebih mudah dan cepat melakukan proses instalasi melalui mode konsol. Banyak hal yang tidak dapat ditemui dari GUI, karena akar dan basis dari sistem Unix/Linux adalah terdapat pada konsol, dibuktikan dengan banyaknya fungsi yang dapat diimplementasikan.

Berikut ini adalah cara instalasi paket apache2 yang terdapat pada dvd debian, dengan mode konsol. Langkah pertama yang dilakukan adalah menggunakan aplikasi apt-get (untuk keterangan lebih lanjut, dapat menjalankan terlebih dahulu perintah man apt-get) untuk menginstall aplikasi.

aku:/etc# apt-get install apache2

Setelah melakukan penginstalan, pengguna dapat melanjutkan dengan pengetesan webserver dengan menggunakan perintah telnet (untuk komunikasi interaktif dengan host atau komputer lain dengan menggunakan protokol TELNET) ke komputer lokal dan ditambahkan dengan nomor port (standar

deb:~# apt-get install apache2 Reading package lists... Done Building dependency tree... Done

The following extra packages will be installed: apache2-mpm-worker apache2-utils apache2.2-common The following NEW packages will be installed:

apache2 apache2-mpm-worker apache2-utils apache2.2-common 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1732kB of archives.

After unpacking 4813kB of additional disk space will be used. Do you want to continue [Y/n]

(3)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 3 menggunakan port 80). Karena secara default aplikasi telnet belum tersedia, maka aplikasi tersebut harus diinstal terlebih dahulu. perintah yang digunakan adalah sebagai berikut:

apt-get install telnet

setelah berhasil menginstal, lakukan perintah di bawah ini seperti yang terlihat pada contoh: aku:~# telnet localhost 80

Apabila muncul tampilan seperti di atas, yang menandakan bahwa alamat komputer lokal telah menyediakan port 80 dengan layanan spesifik web server. Dengan mengetikkan perintah “hello” maka akan memberikan perintah ke server untuk menampilkan isi dari berkas utama (halaman depan) dari halaman situs standar dari apache2.

Hello

Selain melalui konsol, administrator dapat melakukan pengetesan hasil instalasi web server melalui jendela browser, misalkan mozilla web browser, dengan mengetikkan nama hostname dari komputer (atau nama domain yang telah diset dalam konfigurasi server DNS sebelumnya, seperti www.apedie.com) atau memanggil alamat lokal dari komputer, yaitu http://localhost. Akan muncul tampilan yang terlihat seperti pada gambar berikut ini

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head>

<title>302 Found</title> </head><body>

<h1>Found</h1>

<p>The document has moved <a href="http://deb.apedie.com.apedie.com/apache2-default/">here</a>.</p>

<hr>

<address>Apache/2.2.3 (Debian) Server at deb.apedie.com.apedie.com Port 80</address> </body></html>

Connection closed by foreign host. Trying 127.0.0.1...

Connected to localhost.localdomain. Escape character is '^]'.

(4)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 4

Pengenalan berkas konfigurasi (apache2.conf)

Setelah aplikasi apache diinstal pada sistem, akan secara otomatis diletakkan pada direktori /etc/apache2/ yang berisi semua berkas konfigurasi pengaturan server. Nama berkas yang utama adalah apache2.conf, dengan berbagai opsi yang dapat dirubah oleh administrator untuk disesuaikan dengan kebutuhan. Tetapi pada direktori /etc/apache2/ ini terdapat beberapa konfigurasi lain yang akan dibahas pada modul yang lain, seperti misalnya mengenai nomor port (pada berkas ports.conf) dan konfigurasi standar suatu situs.

Pada berkas apache2.conf tersebut, setiap baris konfigurasi mempunyai penjelasan tersendiri secara lebih lengkap dan jelas, sehingga akan sangat membantu serta memudahkan administrator ataupun pihak awam sekalipun untuk melakukan modifikasi pada konfigurasi yang telah ada. Tetapi akan dibahas beberapa opsi yang dirasa utama sebagai berikut:

ServerRoot "/etc/apache2"

Bagian berikut ini adalah merupakan petunjuk lokasi semua berkas konfigurasi diletakkan. Bagian di atas adalah menginformasikan bahwa lokasi berada pada direktori /etc/apache2.

User www-data dan Group www-data

Bagian berikut ini menandakan identitas account standar yang ditetapkan oleh apache2 yaitu www-data. Pada implementasinya, beberapa direktori dan berkas yang tidak mempunyai identitas owner dan group sebagai www-data akan tidak dapat diakses melalui browser, karena adanya mekanisme hak akses yang akan secara langsung membatasi interaksi dengan suatu berkas atau direktori.

/etc/init.d/apache2 restart

Perintah di atas akan menjalankan ulang server apache2, sehingga konfiguras-konfigurasi terbaru dapat diaktifkan. Administrator harus selalu menjalankan ulang (restart) layanan setelah dilakukan perubahan konfigurasi.

Pengenalan berkas konfigurasi (ports.conf)

Pada Apache versi 2.0, untuk konfigurasi nomor port yang digunakan ditempatkan pada satu berkas tersendiri yang bernama ports.conf, yang berada di lokasi direktori /etc/apache2/. Untuk isi dari berkas tersebut adalah sebagai berikut:

Listen 80

Arti dari baris perintah di atas adalah bahwa koneksi dengan web server akan dibangun melalui port 80. Apabila administrator ingin melakukan penambahan atau penggantian nomor port, dapat langsung mengganti angka tersebut secara langsung, atau menambahkan satu baris tambahan di bawahnya dengan nomor port yang baru. seperti misalnya komunikasi menggunakan SSL, maka administrator perlu mengaktifkan Apache2 melalui port 443, dengan menambahkan baris Listen 443 di bawahnya. Dan penting untuk me-restart ulang layanan Apache2 agar konfigurasi yang baru dapat diaktifkan.

(5)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 5

Pengenalan konfigurasi standar dari halaman web

Pada Apache2, konfigurasi standar agar dapat menampilkan halaman situs Internet akan ditempatkan pada lokasi direktori /etc/apache2/sites-available/. Terdapat satu berkas yang secara otomatis disertakan di dalam direktori tersebut yaitu default, yang berisikan konfigurasi utama dari web server seperti berikut ini:

Beberapa hal yang menjadi perhatian penting dalam konfigurasi Apache versi 2.0 di sistem Debian adalah secara otomatis apabila administrator mengetikkan alamat domain dari server atau alamat lokal (localhost) maka akan muncul pada URL address adalah sebagai berikut:

http://localhost/apache-default/.

Hal tersebut dikarenakan pengaktifan layanan RedirectMatch, sehingga semua pemanggilan akan langsung diarahkan ke direktori /apache-default yang terdapat di dalam /var/www/.

NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/>

Options Indexes FollowSymLinks MultiViews AllowOverride None

Order allow,deny allow from all

# This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place RedirectMatch ^/$ /apache2-default/

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin">

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny

Allow from all </Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit, # alert, emerg.

LogLevel warn

CustomLog /var/log/apache2/access.log combined ServerSignature On

Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/">

Options Indexes MultiViews FollowSymLinks AllowOverride None

Order deny,allow Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>

(6)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 6

Pemindahan lokasi berkas

Untuk alasan keamanan dan fleksibilitas penggunaan jangka panjang, standar aktivitas yang biasa dilakukan oleh administrator adalah memindahkan lokasi berkas yang berisi halaman web, yang pada awalnya terdapat di /var/www/, dirubah ke lokasi lain yang dirasa aman. Untuk tahap berikut, direktori dan berkas halaman web tersebut akan dipindah ke direktori home, dengan asumsi bahwa partisi berdiri sendiri di luar dari partisi sistem (/). lakukan perintah-perintah berikut melalui konsol.

cd /home

perintah ini akan membuat posisi direktori dari administrator akan dipindah ke direktori /home  mkdir www

perintah ini digunakan untuk membuat direktori baru bernama www  cd www

perintah ini untuk melakukan perpindahan direktori ke www (apabila dicek menggunakan perintah pwd, maka posisi administrator saat ini berada di lokasi direktori /home/www/)

pico index.html

digunakan untuk membuat suatu berkas html yang baru, dan dinamakan sebagai index.html. Nama file dengan akhiran .html ini merupakan standar yang digunakan sebagai halaman utama suatu situs Internet yang berbasis Apache (walaupun dapat diberikan nama berkas yang berbeda).  Isi kode html yang digunakan dalam berkas index.htm adalah sangat sederhana, yaitu membuat

suatu tampilan yang sangat sederhana, seperti terlihat pada contoh kode berikut:

<html> <head>

<title>Situsku</title> <head>

<body>

<h1>percobaan pertama ni</h1> </body>

</html>

ls -l

Lakukan perintah berikut agar dapat melihat isi dari direktori. Akan terlihat bahwa berkas index.htm sudah berhasil dibuat. Perhatikan pengaturan hak akses dan keterangan owner dan group dari berkas.

 Agar dapat diakses dari luar, pastikan bahwa hak aksesnya menjadi seperti ini:  owner, dapat membaca, menulis, dan execute.

 group, hanya dapat membaca dan execute.  other, hanya dapat membaca dan execute.

(7)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 7 Dari kondisi di atas, diperoleh angka 755 yang merupakan konfigurasi standar untuk suatu halaman web. Diimplementasikan dengan menggunakan perintah:

chmod 755 index.html

atau dapat pula dengan mengetikkan perintah: chmod +x index.html

 setelah berkas index.html berhasil dibuat, maka rubahlah owner dan group dari semua berkas dan direktori penyimpannya (/home/www) dengan account standar yaitu www-data yang dapat dilihat dari berkas konfigurasi apache2.conf. perintah yang digunakan adalah sebagai berikut:

chown -R www-data:www-data /home/www

Konfigurasi berkas default pada lokasi /etc/apache2/sites-available/

Lakukan perubahan pada konfigurasi berkas default yang terdapat di lokasi direktori /etc/apache2/sites-available/

cd /etc/apache2/sites-available/ pico default

Lihat pada bagian DocumentRoot dan Directory. Pada konfigurasi standar, akan ditempatkan pada /var/www/. Lokasi penggantiannya disesuaikan dengan lokasi direktori yang telah dipersiapkan, yaitu /home/www/.

Menonaktifkan fungsi RedirectMatch dengan menambahkan tanda # di bagian awal baris menjadi seperti berikut ini:

#RedirectMatch ^/$ /apache-default/

Maksud yang ingin dicapai dengan menonaktifkan konfigurasi tersebut adalah apabila terdapat permintaan untuk menampilkan halaman utama dari server, akan langsung memanggil berkas index.htm yang telah dibuat pada direktori yang telah ditentukan sebelumnya.

 Secara default, konfigurasi pada Apache2 akan mengaktifkan signature atau informasi mengenai aplikasi server secara terperinci, mulai dari jenis server yang aktif hingga modul-modul yang diinstall. Hal ini dapat pengguna lihat pada waktu mengakses melalui browser, di bagian bawah dari halaman. Untuk alasan keamanan, pengguna dapat menonaktifkan (dari sebelumnya on) fitur Signature off

 Menonaktifkan fitur dokumentasi dari Apache2, sehingga tidak dapat diakses melalui browser oleh pengguna. Hal ini dikarenakan alasan keamanan, sehingga pengunjung situs tidak dapat mengetahui aplikasi-aplikasi yang aktif di web server. Caranya adalah dengan menonaktifkan pada konfigurasi (ditambahkan tanda #) seperti yang terlihat pada contoh berikut ini:

#Alias /doc/ "/usr/share/doc/" #<Directory "/usr/share/doc/">

(8)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 8 #Options Indexes MultiViews FollowSymLinks

#AllowOverride None #Order deny,allow #Deny from all

#Allow from 127.0.0.0/255.0.0.0 ::1/128 #</Directory>

Restart ulang layanan apache2, dengan mengetikkan perintah: /etc/init.d/apache2 restart

Penambahan modul PHP5 & MySQL

Penambahan modul PHP dilakukan agar web server dapat mengenali kode PHP yang disertakan dalam pembangunan suatu aplikasi. Untuk mengetahui paket apa saja yang dapat diinstall, dapat melalui aplikasi aptitude yang diketikkan melalui mode konsol. Berikut ini akan ditambahkan sepuluh paket baru antara lain sebagai berikut: libapache2-mod-php5, php-pear, php5, mysql, gd, php5-dev, php5-xml, dan php5-curl. Kemudian untuk paket dependensi atau ketergantungannya secara otomatis akan diinstal oleh sistem.

aku:/home/bebas# apt-get install libapache2-mod-perl2 mysql-server-5.0 libapache2-mod-php5 php5-cgi php5 php5-cli php5-curl php5-gd php5-mysql php-pear

Setelah modul PHP berhasil diintegrasikan ke dalam web server, maka administrator dapat mencoba untuk mengetes apakah modul tersebut dapat berjalan baik atau tidak. Dengan membuat satu skrip php terlebih dahulu yang diletakkan pada lokasi root web server, yang isinya adalah sebagai berikut:

<? phpinfo(); ?>

deb:~# apt-get install libapache2-mod-perl2 mysql-server-5.0 libapache2-mod-php5 cgi php5 cli curl gd php5-mysql php-pear

Reading package lists... Done Building dependency tree... Done

The following extra packages will be installed:

apache2-mpm-prefork libdbd-mysql-perl libdbi-perl libdevel-symdump-perl libgd2-xpm libnet-daemon-libdevel-symdump-perl libplrpc-libdevel-symdump-perl mysql-client-5.0 php5-common

Suggested packages:

dbishell libgd-tools libcompress-zlib-perl tinyca php5-dev php4-dev Recommended packages:

mailx

The following packages will be REMOVED: apache2-mpm-worker libgd2-noxpm

The following NEW packages will be installed:

apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-php5 libdbd-mysql-perl libdbi-perl libdevel-symdump-perl libgd2-xpm libnet-daemon-perl

libplrpc-perl mysql-client-5.0 mysql-server-5.0 php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-mysql

0 upgraded, 19 newly installed, 2 to remove and 0 not upgraded. Need to get 45.2MB of archives.

After unpacking 116MB of additional disk space will be used. Do you want to continue [Y/n]?

(9)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 9 dan disimpan dengan nama berkas tes.php

Kemudian pada browser ketikkan alamat berikut ini: http://localhost/tes.php. Sehingga akan muncul tampilan yang dapat dilihat pada gambar 5.2.

Konfigurasi server basisdata MySQL

Agar server semakin lengkap fungsionalitasnya, maka administrator dapat pula menyertakan aplikasi basisdata server seperti MySQL yang juga telah disediakan dalam paket Debian. Pengembangan MySQL sendiri dimulai pada tahun 1979 oleh Michael Widenius menggunakan perangkat basisdata Unireg. Kemudian pada tahun 1996 mulai dipublikasikan secara luas untuk mesin yang menjalan sistem operasi Linux dan Solaris. Saat sekarang, telah tersedia pula kode sumbernya, serta dapat dijalankan pada berbagai platform sistem operasi ataupun arsitektur komputer.

Alasan pemilihan MySQL tentu tidak hanya berdasarkan sifatnya yang open-source ataupun gratis, tetapi dapat pula disertakan keunggulan lain yang dihadirkan, yaitu:

 Mendukung ODBC pada sistem operasi Windows.

 Terintegrasi dengan baik bersama PHP dan beberapa pemrograman lain, sehingga memudahkan pemrogram untuk membangun aplikasi.

 Dapat digunakan pada berbagai jenis platform.  Mempunyai mekanisme keamanan yang baik.

Untuk pengaktifannya, administrator harus melakukan penginstalan terlebih dahulu aplikasi yang dibutuhkan, yaitu mysql-server-5.0. Kegiatan tersebut telah dilakukan pada bagian atas dari tulisan ini, sewaktu penginstallan skrip PHP. Untuk versi dari MySQL yang digunakan adalah versi 5.0. Mengenai paket-paket yang mengalami ketergantungan dengan aplikasi berikut, akan secara otomatis terinstall.

(10)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 10

Masuk ke dalam sistem mysql, ketikkan mysql pada konsol, dan terlihat bahwa tanpa password langsung dapat mengakses ke dalam aplikasi.

Hal ini sangat tidak dianjurkan karena pengguna illegal dapat langsung login ke dalam server, yang tentu saja dapat melakukan kegiatan-kegiatan yang kurang baik. untuk mengatasinya adalah dengan memberikan pembatasan melalui kata kunci terhadap account root, kemudian menciptakan user baru dengan level di bawah root, dimana hak aksesnya akan dibatasi.

Cara yang paling sederhana untuk mengamankan server MySQL adalah dengan menggunakan password. Caranya adalah, administrator melakukan konfigurasi secara manual dengan mengetikkan perintah:

mysqladmin -u root password tes

maksud dari perintah di atas adalah mengeset apabila akan melakukan login ke mysql dengan hak akses sebagai root yang menguasai secara keseluruhan basisdata, perlu memasukkan password tes terlebih dahulu.

 Mencoba mengakses konsol mysql yang telah dilakukan langkah pengamanan password seperti sebelumnya adalah dengan mengetikkan perintah

mysql –u root -p

setelah mengetikkan perintah di atas, maka pengguna akan diminta password terlebih dahulu ketika akan mengakses konsol dari MySQL.

Melihat layanan yang aktif

Untuk melihat layanan aplikasi dan port aktif yang dijalankan, dapat menggunakan perintah netstat, yang berfungsi untuk menampilkan koneksi jaringan, tabel routing, statistik interfaces, koneksi masquerade, dan multicast memberships. Hal ini dilakukan untuk mengetahui layanan sistem, terutama setelah penginstallan Apache web server dan MySQL. Untuk opsi lebih lanjut, dapat dilihat menggunakan perintah manual (man netstat).

deb:/home/bebas# netstat –a

deb:/media/wine/repo# mysql

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8

Server version: 5.0.32-Debian_7etch1-log Debian etch distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

(11)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 11 Pada hasil eksekusi perintah di atas, administrator mengetahui bahwa layanan web server dan server basisdata MySQL telah aktif.

Troubleshooting Apache

Menjalankan suatu aplikasi seperti halnya Apache web server atau melakukan perubahan konfigurasi, dapat mengakibatkan terjadinya kesalahan-kesalahan yang tidak diharapkan. Apache sendiri menyediakan laporan yang rinci pada suatu berkas log yang merekam semua kesalahan yang terjadi. Lokasi penyimpanan berkas log tersebut ditempatkan secara otomatis pada lokasi direktori /var/log/apache2/. Lokasi ini berdasarkan sistem Debian, sehingga terdapat perubahan direktori pada sistem Linux yang lain. Pada direktori log tersebut, akan terdapat dua berkas yaitu access.log dan error.log.

Berkas access.log akan berisi sebuah catatan dimana berkas html telah diakses oleh pengunjung situs. Bagian ini akan mencatat informasi mengenai status transfer data berjalan dengan baik, dimana terdapat data IP address pengunjung situs, bagaimana metode transfer data yang digunakan, serta waktu proses transfer dilakukan. Dengan mengetikkan perintah tail /var/log/apache2/access.log, akan muncul tampilan seperti berikut:

deb:~# tail /var/log/apache2/access.log

Sedangkan berkas error.log akan menyimpan semua informasi yang berkaitan dengan kesalahan yang terjadi selama menjalankan Apache2. Perlu diketahui bahwa tidak semua error yang terjadi bersifat fatal, karena terdapat beberapa di antaranya hanya merupakan kegagalan sementara dari koneksi dengan komputer klien, dimana kesalahan tersebut telah dapat diatasi permasalahannya oleh Apache. Cara membaca berkas error.log ini menggunakan perintah yang sama seperti yang telah disebutkan sebelumnya, yaitu tail /var/log/apache2/error.log. Tampilan yang akan muncul setelah eksekusi perintah di atas adalah sebagai berikut:

Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost.localdoma:832 *:* LISTEN tcp 0 0 localhost.localdo:mysql *:* LISTEN tcp 0 0 *:842 *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:10000 *:* LISTEN tcp 0 0 *:auth *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 deb.apedie.com:domain *:* LISTEN tcp 0 0 localhost.locald:domain *:* LISTEN tcp 0 0 localhost.localdom:smtp *:* LISTEN tcp 0 0 localhost.localdoma:953 *:* LISTEN

tcp 0 0 localhost.localdo:51588 localhost.localdoma:832 TIME_WAIT tcp 0 0 localhost.localdoma:884 localhost.locald:sunrpc TIME_WAIT tcp6 0 0 *:www *:* LISTEN

tcp6 0 0 *:ssh *:* LISTEN

127.0.0.1 - - [18/Sep/2006:07:12:24 +0700] "GET /doc/apache2-doc/manual/style/css/manual-print.css HTTP/1.1" 200 13017

"http://localhost/doc/apache2-doc/manual/" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050914 Firefox/1.0.4

(12)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 12 deb:~# tail -f /var/log/apache2/error.log

Apabila administrator ingin melihat log yang terjadi secara realtime, dapat dengan menambahkan opsi -f setelah perintah tail (Untuk lebih jelasnya, dapat membaca manual dari aplikasi tail, melalui perintah man tail). Hal ini dapat digunakan untuk mengetahui tahapan-tahapan proses secara detail seperti misalnya pada saat aplikasi dijalankan, dan kesalahan pada saat eksekusi aplikasi. Contoh implementasinya menggunakan perintah tail -f /var/log/apache2/error.log dapat dilihat pada hasil eksekusi sebagai berikut:

deb:~# tail -f /var/log/apache2/error.log

Untuk keluar dari proses tail, dapat dengan menekan tombol CTRL+C.

[Sun Sep 17 23:53:23 2006] [notice] Apache/2.0.54 (Debian

GNU/Linux) PHP/4.3.10-16 configured -- resuming normal operations [Mon Sep 18 05:46:28 2006] [notice] Apache/2.0.54 (Debian

GNU/Linux) PHP/4.3.10-16 configured -- resuming normal operations [Mon Sep 18 07:11:51 2006] [error] [client 127.0.0.1] File does not exist: /var/www/doc

[Mon Sep 18 07:11:51 2006] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico

[Sun Sep 17 23:53:23 2006] [notice] Apache/2.0.54 (Debian

GNU/Linux) PHP/4.3.10-16 configured -- resuming normal operations [Mon Sep 18 05:46:28 2006] [notice] Apache/2.0.54 (Debian

GNU/Linux) PHP/4.3.10-16 configured -- resuming normal operations [Mon Sep 18 07:11:51 2006] [error] [client 127.0.0.1] File does not exist: /var/www/doc

[Mon Sep 18 08:07:02 2006] [notice] caught SIGTERM, shutting down [Mon Sep 18 08:07:03 2006] [notice] Apache/2.0.54 (Debian

(13)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 13

MENGAKTIFKAN SUBDOMAIN

sebelumnya telah menambahkan terlebih dahulu subdomain dwa.apedie.com pada konfigurasi dns. jika belum, baca tutorial BIND.

langkah pertama yang harus dilakukan adalah menyiapkan direktori tempat penyimpanan. sangat dianjurkan untuk diletakkan pada partisi home (di partisi yang terpisah dengan root) sehingga apabila terjadi kerusakan pada partisi sistem, maka partisi home dapat diselamatkan.

Dalam tutorial ini, akan dibuat terlebih dahulu user baru dari sistem bernama dwa, dengan mengetikkan perintah:

adduser dwa

Lokasi penyimpanan dari data akan diletakkan mengikuti standar dari sistem yaitu pada direktori /home/dwa/ dan selanjutnya akan ditempatkan pada masing-masing direktori yang sesuai, yaitu untuk menyimpan dokumen atau berkas html ditempatkan pada public_html, untuk menyimpan skrip cgi pada direktori cgi-bin, dan untuk menempatkan log pada lokasi direktori logs. Hal tersebut dilakukan agar memudahkan dalam perawatan sistem secara berkala.

Berikut adalah tahap demi tahap pengimplementasian sub domain pada server:  Berpindah lokasi ke direktori home dari user dwa:

cd /home/dwa

Buat direktori-direktori berikut home directory dari pengguna dwa: mkdir /public_html/

mkdir /public_html/cgi-bin mkdir /public_html/logs

 akses ke dalam direktori public_html menggunakan perintah cd public_html/

 buat berkas ujicoba untuk melakukan pengetesan dari setingan tersebut bernama index.html (nama standar pada bagian konfigurasi di server) dengan isi sebagai berikut :

<html> <body>

<h1>dwa.apedie.com</h1> </body>

</html>

 Melakukan perubahan hak akses, hak pengguna, dan hak group secara rekursif dari direktori dan semua isi di dalamnya:

chmod -R 755 /home/dwa/public_html/ chown -R www-data /home/dwa/public_html/ chgrp -R www-data /home/dwa/public_html/

 setelah selesai menyiapkan direktori dan berkas yang diperlukan, sekarang saatnya untuk melakukan konfigurasi pada apache server. arahkan konsol pada direktori konfigurasi apache yaitu di /etc/apache2/, menggunakan perintah :

cd /etc/apache2/

 kemudian masuk ke bagian direktori sites-available, menggunakan perintah cd sites-available

(14)

Apache v2, MySQL Server, PHP5. (wilfridus.bambang@eng.maranatha.edu) 14

 buat file baru bernama dwa.apedie.com dengan isi sebagai berikut : NameVirtualHost * <VirtualHost *> ServerAdmin dwa@apedie.com ServerName dwa.apedie.com DirectoryIndex index.html DocumentRoot /home/dwa/public_html/

ScriptAlias /cgi-bin/ /home/dwa/public_html/cgi-bin/ <Location /cgi-bin>

Options +ExecCGI </Location>

ErrorLog /home/dwa/public_html/logs/error.log

CustomLog /home/dwa/public_html/logs/access.log combined </VirtualHost>

kemudian, lakukan link simbolik menggunakan perintah a2ensite (Apache2 Enable Site), yang akan menciptakan berkas simbolik pada direktori /etc/apache2/sites-enabled/. Apabila terdapat perubahan pada berkas aslinya, maka berkas link akan secara otomatis juga mengalami perubahan

a2ensite dwa.apedie.com

 selanjutnya, aktifkan konfigurasi yang telah dibuat tersebut dengan memanggil ulang layanan apache2 dengan menjalankan perintah :

/etc/init.d/apache2 restart

bagaimana selanjutnya membuktikan hasil konfigurasi tersebut benar atau salah, adalah dengan menjalankan alamat http://dwa.apedie.com pada browser.

Referensi

Dokumen terkait

Masalah lainnya adalah produk pupuk organik kompos yang diproduksi oleh Kelompok Tani Ternak Sido Mulyo belum pernah dianalisis unsur kimianya sehingga tim pengabdian dari

Dengan ini saya menyatakan bahwa skripsi saya yang berjudul “ REKAYASA KOLEKTOR PEMANAS AIR TENAGA SURYA MODEL PLAT DATAR ” adalah hasil kerja saya atas arahan pembimbing

Tokoh tipikal adalah tokoh yang hanya sedikit ditampilkan keadaan individualitasnya, dan lebih banyak ditonjolkan kualitas pekerjaan atau kebangsaannya (Alternbernd

Undang-Undang Nomor 11 Tahun 1995 tentang Cukai (Lembaran Negara Republik Indonesia Tahun 1995 Nomor 76, Tambahan Lembaran Negara Republik lndonesia Nomor 3613) sebagaimana

Dalam hal ini Tuhan Yesus tidak meminta kepada Allah agar semua orang yang percaya kepadaNya dilindungi oleh Allah dengan cara mengambil mereka dari dunia ini.. Sama

Berbeda halnya dengan biokompos dari bahan jerami padi, yang tidak difermentasi dengan kedua jamur tersebut ternyata tanaman kedelai terinfeksi oleh jamur Fusarium, hal ini

Berdasar pada hasil pengujian dengan menggunakan perhitungan chi square maka dapat diketahui bahwa variabel usia, kepemilikan kendaraan, pendapatan, waktu tempuh, biaya

Peraturan Menteri Negara Pemberdayaan Aparatur Negara dan Reformasi Birokrasi Nomor 16 Tahun 2009 tentang Jabatan Fungsional Guru dan Angka Kreditnya, PKB diakui