XAMPP

Instalasi LAMPP

Tags: , , , ,

XAMPPIni tutorial instalasi XAMPP cara saya (di Linux jadinya LAMPP - Linux Apache Mysql PHP Perl). Kelebihannya :

  • Portabel. Anda mo ganti - ganti distro.., mo install ulang Linux anda.. Gak ngefek.
  • Edit konfigurasi lebih gampang. File berada di direktori yang dimiliki akses penuh oleh user, dan gampang diakses.

Kebutuhan pra instalasi (pre-requirement) :

- Partisi sistem operasi dan partisi tempat menyimpan data terpisah

Mengapa pakai cara ini?

Begini. Saya dulu sempat berganti - ganti distro Linux antara Ubuntu dan Debian. Belakangan saya tetap di Ubuntu. Tetapi setiap rilis Ubuntu baru, saya memilih untuk melakukan fresh install (selalu gagal dengan upgrade). Nah selama berganti - ganti distro itu, saya tetap bermain - main dengan web development. Dan sangat susah jadinya kalau LAMPP nya tidak “portabel”.

LAMPP sendiri defaultnya harus diletakkan di /opt/lampp. Ada beberapa kesulitan yang saya hadapi dengan letak direktori seperti itu.

  • File - file web berada di htdocs. Nah, saya harus mengeset permission di /opt/lampp/htdocs agar bisa diakses user. Bisa diatasi memang, dengan meletakkan htdocs di direktori lain / partisi lain, lalu dibuat symbolic links (shorcut) ke direktori tersebut. Atau dengan mengubah konfigurasi LAMPP anda.
  • Ok. Untuk folder htdocs masih bisa diatasi. Tapi setelah anda install ulang Linux anda, direktori /opt/lampp anda juga kan hilang. Eitss.. aman.. Htdocs kan sudah dibackup. Tinggal install ulang LAMPP, pasang di /opt/lampp, dan sesuaikan htdocsnya. Selesai? Belum.. Database nya bagaimana? Anda lupa backup? Ya udah.. mati aja.. Ha..ha..
  • Anda juga baru ingat, kalau ternyata anda sudah melakukan beberapa modifikasi dengan file php.ini serta httpd.conf. Weeww.. Lupa backup juga.. ? Mati lagi.. untuk kedua kalinya.. :D

Nah.. salah satu cara yang cukup aman folder /opt/lampp nya yang di symbolic links. Gini versi lengkapnya :

  1. Download LAMPP nya : http://www.apachefriends.org/en/xampp-linux.html
  2. Ekstrak filenya di partisi yang terpisah dari partisi sistem operasi. Untuk kasus saya, saya letakkan di /media/adata/opt/lampp
  3. Buat symbolic links : sudo ln -s /media/adata/opt/lampp /opt/
  4. Set permission file & folder : chmod -R 777 /media/adata/opt/lampp (ya.. ini memang rentan dengan security, tapi berhubung webku cuma diakses localhost, saya cuek aja..)
  5. Set permission config phpmyadmin : chmod 644 /media/adata/opt/lampp/phpmyadmin/config.inc.php (file config memang harus diset seperti itu)
  6. Symbolic links lain : sudo ln -s /opt/lampp/lampp /usr/sbin (agar bisa command lampp bisa diakses langsung dari konsol oleh root (atau sudo) )
  7. Symbolic links untuk MySQL : sudo ln -s /opt/lampp/bin/mysql (agar mysql bisa diakses langsung dari konsol)
  8. Symbolic links lain bisa ditambahkan kalau memang butuh.. (misal htdocs ingin anda pindah ke direktori lain). Saya sendiri menaruh file htdocs di /media/bdata/public_html. Folder htdocs di lampp saya pindah ke /media/bdata, dan saya ganti namanya jadi public_html. Kemudian buat symbolic links lagi : ln -s /media/bdata/public_html /media/adata/opt/lampp/htdocs

Nah, kalau sudah siap silahkan coba jalankan : sudo lampp start (masukkan password jika diminta). Jika mendapatkan pesan semacam ini :

Starting XAMPP for Linux 1.6.6...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Berarti webserver nya sudah berjalan. Silahkan akses lewat browser (misal : Firefox) dengan alamat : http://localhost

Jika distro anda tidak menggunakan sudo secara default, tetapi menggunakan account root. Silahkan lakukan perintah su -c (masukkan password root), setelah itu hilangkan sudo dari setiap perintah yang digunakan.

Jika suatu saat anda berganti distro, atau install ulang linux anda. Langkah yang perlu dilakukan adalah langkah 3, 6, dan 7.

Moga - moga bermanfaat..


Instalasi Apache

Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali dirancang untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT.
Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan Apache :

  • Kontrol Akses.
    Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP
  • CGI (Common Gateway Interface),
    yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)
  • PHP (Personal Home Page/PHP Hypertext Processor);
    program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik
  • SSI (Server Side Includes)


Tutorial ini berisi panduan instalasi webserver dengan menggunakan apache 2 (httpd-2.2.0). Source di asumsikan ada di /usr/local/src, untuk mendapatkan source file Apache 2 dapat di download pada alamat website dibawah ini :

http://apache.cbn.net.id/httpd/httpd-2.2.0.tar.bz2

Instalasi paket aplikasi dari source code memerlukan beberapa persiapan yang harus diperhatikan. Setidaknya harus ada program yang digunakan untuk proses kompilasi Apache, seperti C/C++ dan file pendukung lainnya. Hal penting yang perlu diketahui dalam instalasi source code adalah penggunaan option-option pada saat tahap konfigurasi. Selanjutnya untuk langkah-langkah instalasi source kode yang diperlukan adalah seperti berikut :
  • Terlebih dahulu meletakkan file source code Apache pada directory penyimpanan sementara, misalnya di /usr/local/src.

    [root@server03 johan]# cd /usr/local/src/
  • Setelah berada dalam directory /usr/local/src, langkah selanjutnya adalah melakukan pengextrakan terhadap file httpd-2.2.0.tar.gz dengan cara sebagai berikut

    [johan@server03 src]#tar -jxvf httpd-2.2.0.tar.tar
  • Hasil ekstrak diatas akan menghasilkan sebuah directory baru bernama httpd-2.2.0. Untuk melakukan langkah selanjutnya, terlebih dahulu harus masuk ke dalam direktori tersebut.

[johan@server03 src]#cd httpd-2.2.0

  • Berikutnya melakukan proses konfigurasi dengan memberikan perintah ./configure. perintah ./configure dapat di ikuti oleh beberapa option.

[johan@server03 httpd-2.2.0]#./configure --prefix=/usr/local/apache2 --enable-so --enable-auth-digest

Option diatas berfungsi untuk mengaktifkan dukungan terhadap Dynamic Shared Object (DSO). Option ini sangat diperlukan jika nantinya ingin menggunakan PHP pada Apache web server. Sedangkan --prefix=/usr/local/apache2 akan menempatkan file kompilasi pada directory usr/local/apache2. Untuk mengetahui option-option lainnya yang tersedia, dapat diberikan perintah ./configure ?help.

  • Langkah selanjutnya melakukan kompilasi paket instalasi. Proses ini memerlukan waktu yang cukup lama namun bergantung pada spesifikasi komputer yang digunakan.

[johan@server03 httpd-2.2.0]#make

  • Langkah terakhir melakukan proses kompilasi sesungguhnya sekaligus mengkopi file-file instalasi yang diperlukan ke directory /usr/local/apache2

[johan@server03 httpd-2.2.0]#make install

  • Setelah proses instalasi selesai, pada direktori /usr/local akan di tambahkan sebuah direktori baru bernama apache2. Di sinilah dapat di temukan file-file penting Apache Web server, seperti file konfigurasi, daemon apache, serta file-file lain yang diperlukan. Setelah proses diatas apache sudah dapat dijalankan dengan konfigurasi default. Untuk menjalankan daemon Apache dapat diberikan perintah sebagai berikut :

[johan@server03 ~]#/usr/local/apache2/bin/apachectl start

Sedangkan untuk menghentikan daemon apache

[johan@server03 ~]#/usr/local/apache2/bin/apachectl stop

File konfigurasi Apache terletak pada directory /usr/local/apache2/conf/httpd.conf (atau PREFIX/conf, tergantung direktori yang di set saat configure Apache ditahap instalasi). Di dalam file httpd.conf sudah disertakan keterangan dalam konfigurasi jalannya apache. File httpd.conf diesekusi pertama kali saat daemon apache dijalankan.
File httpd.conf mempunyai tiga bagian utama, diantaranya yaitu :

  • Global environment
    Berisi konfigurasi Apache secara umum, seperti berapa banyak user dapat mengakses pada saat yang bersamaan.
  • Section (Main) Configuration
    Konfigurasi utama yang tidak termasuk dalam virtual host. Bagian ini juga termasuk seting default untuk virtual host.
  • Virtual host
    Konfigurasi untuk virtual host, yakni memanggil nomor IP dan DNS yang berbeda meskipun masih dalam satu administrasi oleh Apache.

Beberapa option yang terdapat pada file httpd.conf untuk konfigurasi dasar apache, adalah sebagai berikut :

ServerType [standalone/inetd]
Option diatas digunakan untuk menentukan apakah menjalankan Apache sebagai http daemon sendiri atau lewat inetd. Pilihan inetd hanya untuk platform Unix.

ServerRoot "/usr/local/apache2"
Option diatas digunakan untuk menentukan direktori utama di mana file konfigurasi, dan log diletakkan.

MaxClients 150
Option diatas digunakan untuk menentukan jumlah maksimal server yang dijalankan. Misalnya nilai ini mencerminkan jumlah maksimal klien yang mengakses secara simultan. Jika nilai ini terpenuhi, maka klien akan "terkunci". Disarankan untuk tidak memberikan nilai yang rendah.

Listen 3000
Listen 12.34.56.78:80

Option diatas digunakan oleh Apache untuk melayani port spesifik dan atau alamat IP yang spesifik pula. Konfigurasi ini bermanfaat jika ingin menggunakan satu mesin dengan beberapa nomor IP dan atau beberapa nama DNS samaran (Canonical DNS address).

Port 80
Port yang dipergunakan oleh server. Jika menggunakan port 1023, jalankan httpd sebagai root.

User nobody
Group nogroup

Option diatas merupakan nama user dan group yang menjalankan httpd. Perlu dicatat di mesin HPUX, user nobody tidak ada akses ke memori, dan disaranakan untuk membuat user dan grup khusus untuk menjalankan httpd.

ServerAdmin root@domain.Anda.com
Alamat yang dipergunakan untuk mengirim/memberitahukan halaman-halaman yang dibuat secara otomatis oleh server. Misalnya, pesan-pesan kesalahan.

ServerName domain.anda.com
Dipergunakan untuk seting nama yang akan diberikan kepada user. Anda dapat pergunakan nama lain selain nama host Anda. Untuk pemberian nama, harus nama DNS yang valid, sesuai dengan seting name server yang mencatat mesin Anda.

DocumentRoot "/usr/local/apache2/htdocs"
Option diatas merupakan direktori utama yang dipergunakan oleh apache untuk menyimpan file html. Anda bisa membuat link simbolik jika ingin meletakkannya dalam direktori lain.

UserDir public_html
Nama direktori yang ditambahkan ke dalam direktori home dari user, jika ada permintaan user. Misal, permintaan http://prime-strategy.co.id/~johan akan membuat direktori public_html di direktori home untuk user johan. Anda dapat memberikan seting secara default dari direktori tersebut, misalnya :


AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Order allow,deny
Allow from all


Order deny,allow
Deny from all

Kesulitan dalam penerapan direktori ini biasanya adalah Access Forbidden atau User not Found. Untuk itu pastikan bahwa :
User yang bersangkutan terdaftar dalam sistem
Pemilik daemon httpd punya hak baca terhadap direktori tersebut.
Perhatikan konfigurasi file .htaccess yang ada di tiap direktori.

ErrorLog /var/log/error_log

Letak file log error. Untuk jika Anda tidak mendefinisikan file log error, maka setiap error di tersebut akan dilog di sini juga.
Agar apache dapat menjalankan file ? file CGI, ada beberapa option yang harus diaktifkan dalam file httpd.conf. Namun biasanya option-option itu sudah active secara default sewaktu kita mengintall apache. Adapun option-option itu adalah sebagai berikut :

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

Option diatas mempunyai pengertian bahwa file-file cgi dialiaskan dari directory /usr/local/apache2/cgi-bin. Jadi ketika ada user megakses alamat web, semisal http://prime-strategy.co.id/cgi-bin/ maka user tersebut akan langsung menuju direktori /usr/local/apache2/cgi-bin/. Setiap alias yang didefinisikan harus diberikan atribut terhadap direktorinya. Misalnya untuk alias di atas diberikan atribut :


AllowOverride None
Options None
Order allow,deny
Allow from all

Agar apache bisa mengesekusi file CGI selain di directory /usr/loca/apache2/cgi-bin maka dapat ditambahkan option berikut.

AddHandler cgi-script .cgi

Untuk keamanan web dapat kita tingkatkan dengan menggunakan autentikasi yang disediakan oleh apache yaitu dengan menggunakan file .htacces dan .htpasswd. Dengan menggunakan metode otentikasi ini, kita berharap bahwa keamanan server kita bisa di tingkatkan khususnnya dari sisi web dapat lebih terlindungi. Untuk dapat menerapkan metode diatas dapat dilakukan dengan cara sebagai berikut :

  • Membuat file .htacces didalam directory web yang akan kita lindungi, misalnya /usr/local/apache2/htdocs/johan
    [johan@server03 ~]#cd /usr/local/apache2/htdocs/johan
    Kemudian buat file .htacces
    [johan@server03 johan]#vi .htaccess
    Kemudian isi dengan baris berikut

allow from all
AuthType Basic
AuthUserFile /home/johan/secret/.htpasswd
AuthName "Silahkan Anda Login Dulu"
require valid-user

  • Setelah membuat file .htacces maka langkah selanjutnya adalah membuat file .htpasswd yang berisi username dan password untuk login

[johan@server03 ~]#cd /usr/local/apache2/bin
[johan@server03 bin]#htpasswd -c /home/johan/secret/.htpasswd johan

Dan kemudian isikan password.
sedangkan untuk menambahkan login user agar bisa akses web yang telah di proteksi

[johan@server03 bin]#htpasswd /home/johan/secret/.htpasswd nahoj

Dan kemudian isikan password.
Bedanya tidak ada parameter -c untuk penambahan user. Setelah langkah-langkah diatas selesai di jalankan maka kita dapat melakukan test dengan cara membuka web yang telah kita proteksi. Maka akan muncul kotak login terlebih dahulu sebelum dapat mengakses web tersebut.

Jika kita ingin menggunakan domain atau hostname lebih dari satu dalam satu server, maka kita dapat menambahkan konfigurasi pada file httpd.conf. Pertama yang harus dilakukan adalah mendefinisikan dulu IP Address dan Port yang digunakan, minimal satu. Contoh :NameVirtualHost 192.168.1.2:80

Semisal kita ingin membuat 2 hostname pada satu server dengan nama johan1.com dengan ketentuan data-data yang mau di tampilkan berada di directory /usr/local/apache2/htdocs/johan1 dan johan2.com dengan ketentuan data-data yang mau di tampilkan berada di directory /usr/local/apache2/htdocs/johan2
Maka konfigurasi pada httpd.conf dapat dilakukan dengan cara berikut :

NameVirtualHost 192.168.1.2:80


ServerAdmin webmaster@johan1.com
DocumentRoot /usr/local/apache2/htdocs/johan1
ServerName johan1.com
ErrorLog logs/johan1-error_log
CustomLog logs/johan1-access_log common


ServerAdmin webmaster@johan2.com
DocumentRoot /usr/local/apache2/htdocs/johan2
ServerName johan2.com
ErrorLog logs/johan2-error_log
CustomLog logs/johan2-access_log common

Setelah mengkonfigurasi file httpd.conf maka langkah selanjutnya adalah mebuat file log pada directory yang telah ditentukan sebagai file log di httpd.conf

[johan@server03 ~]#touch johan1-error_log
[johan@server03 ~]#touch johan1-access_log
[johan@server03 ~]#touch johan2-error_log
[johan@server03 ~]#touch johan2-access_log



0 Response to "XAMPP"

Posting Komentar

The BlogCatalog Community Blog

prend

Powered By Blogger

Kolom Tutorial

promosi blog

musik asyik