Konfiguras Web Server
Debian Wheezy
Ini nih janji saya kemarin, tutorial kali ini kita bakal bahas tetang web server, apa sih web server?? nah kita kan biasa tuh buka facebook di browser? Nah web server itu sama kayak yang nampilin facebook gitu, jadi web server itu server yang tugasnya buat nampilin halaman web ato kerennya web page :D. Ini list yang bakal jadi inti pembahasan kali ini
• Install web server
• Konfigurasi virtual web server • Konfigurasi virtual direktori • Merubah port default web server • Konfigurasi https
• Konfigurasi authentikasi • Install cms joomla
Ok biar kagak pusing kita langsung pembahasan aja ya!! 1. Install Web Server
Yang ini gampang kog, kita tinggal install paketny dengan perintah apt-get install apache2 php5
Selanjutnya masuk kedirektori /etc/apache2/sites-available
Di dalam direktori tersebut kita lihat ada dua file, yaitu default dan default-ssl, kali ini kita akan konfigurasi yang default, gunakan editor kesayangan anda
Perhatikan pada baris 1, 2, 3, 4, 5, dan 10. Baris 1 menunjukkan bahwa web server kita bisa
dikunjungi dengan sembarang IP (*) dengan port 80, baris 2 menunjukkan email administrator web server kita, baris 3 menunjukkan url untuk akses web server, sedangkan baris 4 menunjukkan url alias untuk mengakses web server, dan baris 5 serta 10 menunjukkan direktori dari web server, yaitu di /var/www/latihan.
Lanjut, buat direktori /var/www/latihan dengan perintah mkdir
Buat file index.html didalam direktori tersebut, file ini yang akan diakses oleh web server, (harus tau dikit-dikit tentang pemrograman html yah!!)
Bikin juga file phpinfo.php untuk menguji apakah web server kita support dengan php
Terahir kita tinggal restart service nya dengan perintah /etc/init.d/apache2 restart
Sebelum melakukan pengujian dari komputer client, kita pastikan bahwa dns server kita sudah jalan,
ini untuk url utama
ini untuk url aliasnya,
ini untuk phpinfonya, kan tadi nama filenya phpinfo.php, jadi untuk akses file itu ketik aja
latihan.com/phpinfo.php tapi kalo nama file nya misal info.php jadi buat ngaksesnya pake url
latihan.com/info.php (latihan.com disesuaikan dengan domain anda)
2. Konfigurasi virtual web server
Maksudnya kita bakal membuat satu komputer server agar bisa menampilkan lebih dari satu web page yang berbeda, boleh 2, boleh 3, ato berapapun deh, langkah pertama masuk ke direktori
/etc/apache2/sites-available. Terus copy file default menjadi sejumlah jumlah web page yang pengen dibuat, misal kita mau bikin 3, jadi copy aja jadi 3 file, namanya terserah kog. Nih contoh punya ane
Setelah itu lanjut edit ketiga file yang barusan kita copy, nih punya ane yang web1
ini yang web2
Kalo sudah semua kita tinggal disable file yang tidak perlu yaitu default dengan perintah a2dissite default dan kita aktifkan file yang kita perlukan yaitu web1, web2, dan web3 dengan perintah
a2ensite kayak dibawah ini
Selanjutnya kita buat direktori-direktori yang diperlukan,
Jangan lupa untuk membuat file index.html dimasing-masing folder
Terahir restart servicenya dengan perintah /etc/init.d/apache2 restart
Sebelum melakukan uji coba pastikan kita sudah membuat subdomain untuk web1, web2, dan web3,
3. Konfigurasi virtual direktori
Ini fungsinya sama seperti ftp, tapi bekerjanya di http alias port 80, langsung aja, pertama buat dulu direktori public_html di direktori user, yaitu /home/nama_useranda/ (user saya namanya islam)
Kalo udah kita tinggal aktifkan module userdir dengan perintah a2enmod userdir
Terahir kita tinggal restart apachenya dan langsung kita coba di browser client dengan url
latihan.com/~islam (latihan.com silahkan disesuiakan dengan domain masing2 terus ~islam juga disesuaikan dengan user masing2. Misal domian anda linux.com dan user anda namanya user berarti buat ngaksesnya pake url linux.com/~user
Ini nih punya ane
Disitu belum ada direktori sama sekali ya?? Kalo pengen munculin direktori di web itu tinggal bikin aja direktori di dalam public_html tadi, kayak gini nih kalo pengen buat direktori secara masal
Perintah pertama cd /home/islam/public_html/ maksudnya kita pindah direktori ke direktori
public_html, lanjut, perintah kedua mkdir foldera folderb folderc folderd maksudnya kita bikin direktori foldera,folderb,folderc, dan folderd di direktoi public_html it, perintah terahir, ls itu maksudnya kita liat ada apa aja didalam direktori public_html.
Nah, bagaimana jika kita ketikkan url kayak diatas kita pengennya keluar tampilan web, bukan tampilan direktori kayak diatas?? mudah kog, kita tinggal buat file index.html di dalam direktori
public_html tadi, ini file index.html milik saya
Kalo udah langsung deh refresh di browser
Ok, mudah kan?? Kita sudah selesai kog, lanjut ke pembahasan selanjutnya!!! 4. Merubah port default web server
Defaultnya web server pake port 80, kita bisa tuh rubah port default nya dengan cara edit file
Selanjutnya edit file yang anda gunakan di dalam direktori /etc/apache2/sites-available/
faham kan maksudnya?? jadi gini, didalam direktori tersebut defaultnya ada 2 file contoh, yaitu
default dan default-ssl, yang default itu untuk http, dan yang default-ssl itu untuk https. Nah kedua file tersebut hanya contoh konfiguras, jadi kalo misalkan kita mau menggunakan nama file lain boleh saja, tinggal copy aja dari file contoh itu dan konfigurasi seperlunya. Tapi kalo kita pake file lain jangan lupa buat ngaktifkan filenya pake cara a2ensite nama_file kayak contoh diatas!! Ok lanjut, disini yang saya gunakan file defaultnya
Kalo udah silahkan restart web servernya pake perintah /etc/init.d/apache2 restart terus kita langsung uji aja di browser komputer client, pake url domain:port
Disini domain saya adalah latihan.com dan port saya tadi adalah 81, jadi urlnya latihan.com:81
5. Konfigurasi https
Https adalah versi yang lebih aman dari http, konsepnya sama kog cuma aja lebih aman. Kog bisa lebih aman?? gini nih ceritanya:
Misal kita ketemuan sama calon mitra kerja yang sebelumnya sudah komunikasi via telephon, bagaimana kita tahu kalo yang ada dihadapan kita ini bener2 calon mitra kerja kita?? hal dasar yang mungkin kita bisa lakukan adalah melihat KTP nya dan mencocokkan nama pada ktp tersebut dengan data yang sudah kita miliki sebelumnya.
Analoginya seperti itu, tapi yang kita analogikan sebagai ktp tersebut pada web server dinamakan
private key, private key ini berbentuk file text yang didalamnya terdapat kode2 unik dengan panjang tertentu. Setiap halaman web https pasti punya yang namanya private key. Pertanyaannya,
bagaimana bisa jutaan bahkan miliaran halaman web didunia mempunyai private key yang unik?? Ada perusahaan yang mengatur semua ini, jadi setiap halaman web didunia tidak mungkin memiliki private key yang sama. Perusahaan ini bernama Certificate Authority (CA).
Selanjutnya setiap browser (baik google chrome, firevox, safari, internet explorer, dll) memiliki data2 mengenai halaman2 web beserta private keynya (data ini dibuat oleh pembuat aplikasi browser masing-masing). Jadi saat browser menerima halaman web, maka browser akan
menyocokkan apakah halaman web yang diterima memiliki private key yang sama dengan dta yang telah dimiliki. Sebagai contoh misal di dalam sebuah broser memiliki data tentang halaman web
contoh.com dengan private key adsfdgksdf. Saat browser menerima halaman web contoh.com maka browser akan memeriksa apakah benar halaman web yang diterima itu memiliki private key
adsfdgksdf (sesuai data yang dimiliki). Jika iya, maka halaman web akan ditampilkan di browser, namun jika tidak, maka browser akan menampilkan sebuah peringatan. Hal ini akan mencegah pemalsuan sebuah halaman web.
OK saya kira untuk teori cukup, langsung praktik deh, pertama kita akan membuat sebuah private key sendiri, untuk keperluan praktik kita tidak perlu membeli private key dari CA. Untuk
membuatnya ketikkan perintah openssl req -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Perhatikan langkah-langkah diatas dengan seksama, perintah diatas akan menghasilkan sebuah file
apache.pem di direktori /etc/apache2
Selanjutnya aktifkas modul ssl dengan perintah a2enmod ssl
Kalo udah kita tinggal aktifkan filenya dengan perintah a2ensite default-ssl dan terahir restart servicenya dengan perintah /etc/init.d/apache2 restart
Ini nih hasilnya, masih ada peringatan, karena private key yang kita buat tidak terdaftar di CA, nanti kalo privati key kita terdaftar di CA maka tidak akan ada peringatan seperti ini
6. Konfigurasi authentikasi
Hal ini berfungsi untuk mengamankan web kita, untuk konfigurasinya edit aja file
/etc/apache2/sites-available/default (silahkan sesuaikan dengan milik anda, file mana yang aktif)
Selanjutnya buat file .htaccess didirektori dari web server (bisa dilihat punya ane diatas ada di
/var/www) dan edit jadi kayak gini
Baris pertama maksudnya memberitau tempat penyimpanan file tentang password. Baris kedua itu pesan saat muncul perintah login nantinya. Baris terahir nunjukkin kalo tipe authentikasinya adalah basic. Setelah itu buat direktori /var/www/password
Dan langkah terahir kita buat usernya, misalkan saya membuat user dengan nama user perintahnya kayak gini
7. Install cms joomla
Kayaknya kagak asik deh kalo web server kita tampilannya cuma tulisan aja, kita bakal install cms joomla sekarng, kalo belum punya joomla langsung aja download jommla dari web resminya, gratis kog
Kalo udah tinggal upload aja file joomla nya ke server debian kita, bisa pake filezilla ato winscp, disini saya upload nya pake filezilla.
Kita lihat diatas bahwa saya pake port 22, itu tandanya saya uploadnya via ssh. Berarti sebelumnya harus dipastikan dulu bahwa ssh server sudah berjalan dengan baik. Ok silahkan langsung upload aj, biar enak uploadnya langsung di /var/www aja.
Kalo udah kita cek di debian servernya
Hapus file index.html dengan perintah rm index.html dan selanjutnya kita extract file joomla nya, sebelumnya install dulu aplikasi zip dan unzip dengan perintah apt-get install zip unzip
selanjutnya rubah hak akses direktori /var/www dengan perintah chmod 777 /var/www -R
Langkah selanjutnya kita diminta untuk konfigurasi database, ini berarti database server harus sudah bekerja dengan baik. Kita lihat dibawah ada kolom username, isikan dengan username mysql (root), kolom password masukkan password yang anda gunakan untuk mysql, pada kolom database name masukkan terserah anda, misalkan db_joomla, dan untuk table previx biarkan kosong dulu. Jangan di next dulu, kita harus membuat database terlebih dahulu di mysql server (langkah-langkah ada dibawah gambar ini)
Selanjutnya untuk membuat database baru, pilih menu Databases, kemudian pada kolom create new database, isikan nama database yang ingin dibuat (ingat, nama database yang dibuat harus sama dengan nama database yang dimasukkan saat installasi joomla tadi) kalau sudah pilih create
Jika sudah selesai membuat database, close aja tabnya, kita kembali ke tab installasi joomla, langsung netxt trus muncul tampilan kayak gini
Kayaknya udah selesai nih, ini hasil punya ane