• Tidak ada hasil yang ditemukan

Port-based Virtual Host

Dalam dokumen FUNDAMENTAL LINUX SERVER ADMINISTRATOR (Halaman 121-137)

SERVICE HTTP

3) Port-based Virtual Host

Nomor port default untuk HTTP adalah 80. Namun, sebagian besar webservers dapat dikonfigurasi untuk beroperasi di hampir semua nomor port, asalkan nomor port tidak digunakan oleh program lain di server. Sebagai contoh, server mungkin host website www.example.com.Namun, jika ingin mengoperasikan situs kedua, tidak memiliki akses ke konfigurasi nama domain untuk nama domain atau tidak memiliki alamat IP lain yang bisa digunakan untuk melayani situs tersebut bisa dengan menggunakan nomor port lain, misalnya www.example.com:81untuk port 81, atau www.example.com:8000 untuk port 8000.

Kekurangan pada jenis ini adalah kebanyakan orang tidak akrab dengan non-standar menggunakan nomor port, dan nomor port yang lebih rumit mungkin lebih sulit untuk diingat. Kebanyakan webcrawlers berasumsi port 80 (default) saat mencoba merangkak situs dan begitu mungkin kehilangan non-standar nomor port. Manusia juga mungkin tidak menyadari non-standar nomor port dan mungkin tidak menyadari ke mana untuk melihat untuk mencari situs web. Non-standar menggunakan nomor port juga dapat dilihat sebagai tidak profesional dan tidak menarik bagi pengguna. Beberapa firewall, baik hardware atau software, blok semua tapi port yang paling umum. Ini akan menyebabkan situs non-host pada port standar untuk muncul tidak tersedia untuk beberapa pengguna. Namun, non-standar nomor port telah menemukan aplikasi pada perangkat lunak berbasis HTTP backends seperti Bit Torrent tracker mengumumkan script, yang merupakan bagian dari perangkat lunak backend dan biasanya tidak sepenuhnya dapat dilihat oleh pengguna.

Jenis ini biasanya hanya digunakan untuk situs-situs "rahasia" seseorang atau sebuah perusahaan. Dan juga perlu diingat bahwa port tersebut dalam keadaan terbuka.

Secara ringkas, format virtual host berdasar port ini adalah sebagai berikut:

121

Apabila terdapat dua domain seperti contoh di atas dan ingin menggunakan virtual host based port, maka konfigurasinya sebagai berikut:

Listen 80

122

 Konfigurasi Akses Apache

Untuk melakukan konfigurasi akses apache ini. Pada CentOS 6.5 packet apache nya ialah httpd. Langkah-langkah yang dilakukan adalah sebagai berikut:

1. Installkan packet apache terlebih dahulu dengan syntax berikut:

[root@server ~]# yum install httpd

Ketika proses instalasi akan muncul permintaan seperti berikut maka pilih y kemudian enter.

2. Setelah packet terinstall, lalu restart http dengan perintah:

root@server ~]# service httpd httpd

123 Apabila ketika melakukan restart failed seperti gambar di atas jangan khawatir karena itu wajar. Berarti packet http sebelumnya belum aktif . Maka, lakukan restart kembali dan akan berhasil.

3. Selanjutnya, masuk ke file konfigurasi httpd.conf dengan syntax berikut ini

root@server ~]# nano /etc/httpd/conf/httpd.conf

Lalu, tekan tombol Ctrl+W untuk mencari line ServerName www.example.com:80

Tambahkan script berikut ini:

Kemudian save konfigurasi dengan Ctrl+O dan Enter.

4. Lalu, restart httpd dengan perintah betikut ini:

root@server ~]# service httpd restart

5. Setelah itu, jalankan syntax berikut ini untuk memastikan jika packet httpd telah up atau berjalan. Dengan perintah berikut ini:

root@server ~]# chkconfig httpd on

6. Karena, CentOS memiliki tingkat kemanan yg cukup baik. Tidak sembarang port akan terbuka hanya port-port tertentu saja. Maka, untuk itu terlebih dahulu melakukan konfigurasi firewall untuk membuka port bagi service httpd ini. Port untuk httpd ini adalah port80 (https:443). Konfigurasi dapat dilakukan di file /etc/sysconfig/iptables dengan menjalankan syntax berikut ini:

root@server ~]# nano /etc/sysconfig/iptables

124 Di dalam fil tersebut tampilanya seperti berikut ini:

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

Tambahkan menjadi seperti berikut ini:

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

Lalu, save konfigurasi dengan Ctrl+O dan Enter.

125 7. Lalu, restart iptables dengan perintah:

[root@server ~]# service iptables restart

iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]

8. Kemudian, cek pada browser apakah konfigurasi yang dilakukan berhasil. Jika ia tampilan pada browser saat diakses akan seperti ini:

Berikut merupakan tampilan halaman welcome home dari CentOS.

9. Sedangkan untuk menampilkan DocumentRoot pada browser. Konfigurasi pada file /etc/httpd/conf.d/welcome.conf seperti berikut ini:

root@server ~]# nano /etc/httpd/conf.d/welcome.conf

Tampilan awalnya adalah sebagai berikut:

# This configuration file enables the default "Welcome"

# page if there is no default index page present for

# the root URL. To disable the Welcome page, comment

# out all the lines below.

#

<LocationMatch "^/+$">

Options -Indexes

ErrorDocument 403 /error/noindex.html

</LocationMatch>

http://[alamat ip address]

126 Lalu. Edit menjadi seperti ini:

Tambahkan tanda pagar (#) pada line <LocationMatch> hingga

</LocationMatch>

# This configuration file enables the default "Welcome"

# page if there is no default index page present for

# the root URL. To disable the Welcome page, comment

# out all the lines below.

#

#<LocationMatch "^/+$">

# Options -Indexes

# ErrorDocument 403 /error/noindex.html

#</LocationMatch>

Lalu, save konfigurasi dengan Ctrl+O dan Enter.

10. Lalu, restart httpd dengan perintah betikut ini:

root@server ~]# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

11. Kemudian, cek pada browser apakah konfigurasi yang dilakukan berhasil. Jika ia tampilan pada browser saat diakses akan seperti ini:

http://[alamat ip address]

127 12. Dan untuk menampilkan halaman dengan berbasis html dapat dilakukan dengan melakukan konfigurasi seperti berikut ini. Pertama, masuk ke di rektori /var/www/html lalu buat file index.html da nisi file index html tersebut sesuai dengan format. Berikut adalah syntax nya:

root@server ~]# cd /var/www/html root@server html]# touch index.html root@server html]# ls

index.html

root@server html]# nano index.html

Tekan Enter untuk nano index.html, lalu akan muncul tampilan nya dan ketikan scrypt berikut ini:

<html>

<head>

<title> Test </title>

<body>

<h1> Selamat datang di Institut Teknologi Bandung </h1>

</body>

</html>

Lalu, save konfigurasi dengan Ctrl+O dan Enter.

13. Lalu, restart httpd dengan perintah betikut ini:

root@server ~]# service httpd restart

Stopping httpd: [ OK ] Starting httpd: [ OK ]

14. Kemudian, cek pada browser apakah konfigurasi yang dilakukan berhasil. Jika ia tampilan pada browser saat diakses akan seperti ini:

http://[alamat ip address]

128

 PHP

PHP adalah singkatan dari PHP Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan Web yang disisipkan pada dokumen HTML. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website.

Karena penggunaan PHP memungkinkan Web dapat dibuat dinamis, maintenance situs Web tersebut menjadi lebih mudah dan efisien. PHP merupakan software Open-Source yang disebarkan dan dilisensikan secara gratis serta dapat di-download secara bebas dari situs resminya http://www.php.net. PHP ditulis menggunakan bahasa C.

 Keunggulan PHP

PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenis. PHP difokuskan pada pembuatan script server-side, yang bisa melakukan apa saja yang dapat dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta menerima cookies, bahkan lebih dari pada kemampuan CGI.

PHP dapat digunakan pada semua sistem operasi, antara lain Linux, Unix (termasuk variannya HP-UX, Solaris, dan Open BSD), Microsoft Windows, Mac OS, RISC OS. PHP juga mendukung banyak Web Server, seperti Apache, Microsoft Internet Information Server (MIIS), Personal Web Server (PWS), Netcape and iPlanet servers, Oreilly Website Pro Server, audium, Xitami, OmniHTTPd, dan masih banyak lagi lainnya, bahkan PHP dapat bekerja sebagai suatu CGI Processor.

PHP tidak terbatas pada hasil keluaran HTML (Hyper Text Markup Language).

PHP juga memiliki kemampuan untuk mengolah keluaran gambar, file PDF, dan movie flash. PHP juga dapat menghasilkan text seperti XHTML dan file XML lainnya.

129 Salah satu fitur yang dapat diandalkan oleh PHP yakni dukungannya terhadap banyak database seperti Adabas D, dBase, Direct MS-SQL, Empress, FrontBase, Hyperwave, IBM DB2, Informix, Ingres, Interbase, MSQL, MySQL, ODBC, Oracle, Ovrimos, PostgrSQL, Solid, Sybase, Unix DBM dan Velocis. Umumnya database MySQL digunakan untuk bekerja sama dengan PHP. PHP memiliki 8 tipe data, yaitu:

1) Boolean

Karakteristik script PHP dapat diuraikan sebagai berikut :

1. file PHP disimpan dengan extensi filenya yaitu : *.php3, *.php4, *.php

2. Script PHP biasanya diawali dengan tag ‘<?’ atau ‘<?php’ dan ditutup dengan tag ‘?>’

3. File PHP dapat menginduk atau disisipkan pada bahasa script lainnya atau dapat berdiri sendiri. Contoh skrip PHP yang disisipkan pada HTML :

<html>

130 [root@server ~]# nano /var/www/html/test.php

Sedang bentuk skrip PHP yang berdiri sendiri :

<?php

echo "Hai, Aku adalah skrip PHP!";

?>

NB : echo(), berfungsi untuk menampilkan output.

Selanjutnya, untuk melakukan pengkonfigurasian di CentOS 6.5 ini dapat dilakukan dengan melakukan langkah-langkah berikut ini :

1. Installkan terlebih dahulu packet php dengan menggunakan perintah berikut ini:

[root@server ~]# yum install php php-mysql

Ketika proses instalasi akan muncul permintaan seperti berikut maka pilih y kemudian enter.

2. Setelah packet terinstall, untuk menampilkan informasi dari php yang sudah diinstalkan tersebut di browser. Buatlah test page untuk memeriksa apakah apache, php dan modul php berjalan dengan semestinya. Dengan mengetikan perintah berikut ini:

131 Kemudian akan tampil sebuah halaman dan buatlah script sebagaimana berikut ini:

<?php phpinfo();

?>

Lalu, save file tersebut dengan menekan tombol Ctrl+ O kemudian Enter.

3. Setelah itu, restart httpd dengan perintah berikut ini:

[root@server ~]# service httpd restart

Stopping httpd: [ OK ] Starting httpd: [ OK ]

4. Kemudian buka browser dan periksa apakah konfigurasi yang dilakukan berhasil atau tidak. Dengan mengetikan pada browser seperti berikut ini:

http://[alamat ip address]/test.php

Apabila berhasil maka tampilan nya kan seperti berikut ini:

http://[alamat ip address]/test.php

132

 MysQl Server

MySQL adalah sistem manajemen database SQL yang bersifat Open Source dan paling populer saat ini. Sistem Database MySQL mendukung beberapa fitur seperti multithreaded, multi-user, dan SQL database managemen sistem (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan.

Ulf Micheal Widenius adalah penemu awal versi pertama MySQL yang kemudian pengembangan selanjutnya dilakukan oleh perusahaan MySQL AB. MySQL AB yang merupakan sebuah perusahaan komersial yang didirikan oleh para pengembang MySQL.

MySQL sudah digunakan lebih dari 11 millar instalasi saat ini. Informasi-informasi terbaru mengenai MySQL dapat diperoleh dengan mengunjungi http://www.mysql.com/ .

133

 Kelebihan MySQL

Berikut ini beberapa kelebihan MySQL sebagai database server antara lain : 1) Source MySQL dapat diperoleh dengan mudah dan gratis.

2) Sintaksnya lebih mudah dipahami dan tidak rumit.

3) Pengaksesan database dapat dilakukan dengan mudah.

4) MySQL merupakan program yang multithreaded, sehingga dapat dipasang pada server yang memiliki multiCPU.

5) Didukung programprogram umum seperti C, C++, Java, Perl, PHP, Python, dsb.

6) Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).

7) Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database.

8) Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.

9) Mendukung ODBC untuk sistem operasi Windows.

10) Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi.

MySQL dan PHP merupakan sistem yang saling terintegrasi. Maksudnya adalah pembuatan database dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web yang menggunakan script serverside seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.

Untuk melakukan konfigurasi MysQl sebelumnya installkan packet mysql terlebih dahulu dengan menggunakna perintah berikut ini:

1. Menginstall packet mysql

[root@server ~]# yum install mysql

Ketika proses instalasi akan muncul permintaan seperti berikut maka pilih y kemudian enter.

134 2. Lalu, aktifkan packet mysql dengan menjalankan perintah berikut ini:

[root@server ~]# service mysqld start

Starting mysqld: [ OK ] [root@server ~]#

3. Kemudian, untuk masuk ke mysql menggunakan perintah berikut ini:

[root@server html]# mysql -u root -p Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

135 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Saat diminta password tekan Enter saja.

Untuk menampilkan database nya gunakan peritnah berikut ini:

mysql> show databases;

+---+

| Database | +---+

| information_schema |

| mysql |

| test | +---+

3 rows in set (0.00 sec) mysql>

136

BAB 7

SERVIS NETWORK FILE

Dalam dokumen FUNDAMENTAL LINUX SERVER ADMINISTRATOR (Halaman 121-137)