Memasang Web Server (LAMP) di Ubuntu 16.04

Pengantar

Sebelumnya diasumsikan bahwa kita sudah memiliki Ubuntu 16.04 Server 64bit. Jika Anda belum mengetahui cara instalasi Ubuntu 16.04 dapat dilihat disini. Karena ini untuk server, maka IP Address nya harus di set static. Secara default Ubuntu 16.04 Server tidak dipasangi Graphical User Interface, jadi semua dikendalikan dengan console, text based command.

Rencana yang akan dipasang adalah :

  1. Apache2
  2. MySQL 5
  3. PHP 7

Langkah 1 | Pasang Apache2 Web Server:

– Login lah sebagai user ubuntu yang pertama kali dibuat, user pertama ini memiliki kekhususan karena secara default sudah sebagai sudo user, atau user yang dapat berperan sebagai root. Saat ini prompt dari console Anda masih berupa “$” yang menandakan sebagai role user ‘bukan root’.

Selanjutnya masuklah sebagai root :

Salah satu tanda bahwa kita sedang dalam mode root adalah adanya prompt “#”.

Lakukan Update, agar seluruh komponen OS berada pada status update terkini.

DIlanjutkan dengan memasang/install Apache 2:

Jika berjalan baik tanpa error, selanjutnya kita periksa apakah sudah berfungsi dengan browse dengan browser ke alamat IP server tersebut.

http://<IP address>

Dan akan tampak kira-kira seperti gambar di bawah ini:

Langkah 2 | Pasang MySQL Server:

Ada beberapa pilihan database yang dapat kita lakukan antara lain : MySQL, MariaDB, PostgreSQL, dan sebagainya. Kali ini kita pilih MySQL

Dalam proses pemasangan ini Anda akan diminta memasukkan pilihan password untuk user database ‘root’:

Sekali lagi:

Keberadaan MySQL dapat diperiksa dengan:

Hasilnya kira-kira akan seperti ini :

Periksa versi MySQL Anda :

Jika Anda ternyata bermaksud memasang MariaDB, maka MySQL perlu dilepas terlebih dahulu atau dipasang pada port yang berbeda, hal itu tidak dibahas di artikel ini, insyaALLAH akan saya bahas di artikel mendatang. Demikian pula untuk meningkatkan keamanan dari MySQL atau MariaDB akan saya bahas pada artikel selanjutnya.

Langkah 3 | Pasang PHP 7:

Berikutnya kitapasang PHP 7

Selanjutnya kita periksa versi php yang telah terpasang dengan :

Kira-kira akan kita dapatkan hasil sebagai berikut :

Terkahir kita perisksa dengan fungsi phpinfo(), mari kita buat sebuah file info.php

Lalu diisi dengan code sebagai berikut :

Setelah disimpan, coba cek IP Anda :

Check IP :

lalu buka browser dengan IP tersebut: http://<IP address>/info.php, contoh :

 

 

 

Konfigurasi Apache 2.4 up untuk Virtualhost

Misalkan Anda memiliki server web dengan IP 222.222.222.222 dan akan mendaftarkan nama domain domainsaya.com di server tersebut, berikut adalah langkah konfigurasinya :

Setting DNS ditempat Anda mendaftarkan domain sehingga nama domain tersebut mengarah ke IP 222.222.222.222. Dengan demikian siapapun di internet ketika akan mencari domainsaya.com akan diarahkan ke IP 222.222.222.222.

Berikutnya tinggal setting di Web server kita, dalam hal ini Apache 2.4. Bagaimana caranya ?

Buatlah sebuah file conf di /etc/apache/site-available/domainsaya.conf. Isilah dengan :

File konfigurasi domainsaya.conf ini harus memiliki symbolic link di /etc/apache/site-enabled/ agar dapat berfungsi :

Kemudian Apache perlu kita reload

Semoga bermanfaat.

Tambahan :

Apache 2.4.3 telah menambahkan feature keamanan baru yang memungkinkan muncul pesan error “403 forbidden” yang tidak muncul jika menggunakan Apache 2.2.x. Atau bisa juga pesan berupa “client denied by server configuration”.
Fitur ini membutuhkan identitas pengguna untuk mengakses direktori. Fitur ini diaktifkan secara DEFAULT di dalam httpd.conf yang dibuat bersamaan pada saat instalasi Apache pertama kali. Kita dapat melihat aktifnya fitur ini dari directive :

Directive di atas tersebut akan menolak akses dari semua users. Untuk mengubahnya anda dapat saja menghapus directive tersebut, atau menambahkan directive lawannya di directory yang akan Anda buat terbuka akses nya :

diletakkan di :

Warning: date() on ZendServer

Apabila Anda menemukan error seperti ini ketika menggunakan fungsi date()  :

Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Jakarta’ for ‘WIT/7.0/no DST’ instead in /home/toosa/public_html/basicphp/date1.php on line 2

Ini tandanya Zend Server Anda belum terisi dengan benar. Karena itu masuklah ke Administrasi Zend Server, masuk ke Server Setup lalu cari directive date.timezone , isilah sesuai dengan time zone yang Anda inginkan, misalnya Asia/Jakarta.

 

Install Zend Server 5.3 Community Edition (CE)

IMHO, Pada prinsip nya Zend Server fungsinya sama seperti setup sebuah Web Server + PHP biasa, yaitu Apache + PHP, hanya saja di enhance dengan pengendalian server PHP yang lebih baik, dan ditambahkan fitur-fitur yang lebih mendukung kebutuhan level Enterprise.

Apabila Anda sudah memasang Apache dan PHP standard dari apt-get aptitude, atau Synaptic, maka beberapa file  PHP akan diganti dengan PHP dari Zend, misalkan php5-curl akan diganti dengan php-5.3-curl-zend-server dan seterusnya.

Ok mari kita mulai dengan asumsi :

  1. Menggunakan OS Linux Ubuntu, kebetulan saya menggunakan Ubuntu 10.10
  2. Kita akan menggunakan Apache 2 dan PHP 5.3, jadi Zend server yang dipilih adalah ZendServer CE PHP 5.3.

Tidak ada masalah jika di server Anda sudah ada Apache dan PHP5 sebelumnya, nanti akan di replace pada saat instalasi.

Mari kita lakukan langkah-langkah sebagai berikut :

  1. Login lah sebagai root
  2. Setting file /etc/apt/sources.list , tambahkan
    • deb http://repos.zend.com/zend-server/deb server non-free
  3. Kemudian tambahkan Zend's repository public key dengan cara :
    • wget http://repos.zend.com/zend.key -O- |apt-key add –
  4. Jalankan sikronisasi dengan server repository Zend :
    • aptitude update
  5. Install Zend Server
    • aptitude install zend-server-ce-php-5.3

Hingga saat ini instalasi sudah selesai, mari kita lihat hasilnya dengan melihat :

http://localhost:10081/ZendServer

atau

https://localhost:10082/ZendServer

 

Anda akan ditanya persetujuan :

 

Lalu Next  :

 

Masukkan password dan selanjutnya akan ditanya email, NEXT …

setelah itu SELESAI 🙂

 

Memfungsikan PHP di userdir Apache Ubuntu 10.10

Ketika apache dan php di install di Linux Ubuntu 10.10, php memang sudah bisa dijalankan di /var/www, tetapi ketika kita mengaktifkan modul userdir agar /home/username/public_html bisa digunakan, ternyata baru .html yang bisa diaktifkan, sedangkan *.php belum bisa berjalan. ini karena secara default php5.conf belum mengaktifkan php di public_html.

Bukalah file /etc/apache2/mods-enabled/php5.conf :

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule …> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    <IfModule mod_userdir.c>
         <Directory /home/*/public_html>
             php_admin_value engine Off
         </Directory>
    </IfModule>
</IfModule>
 

Anda harus memberikan remark (#) seperti di bawah ini :

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule …> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
   # <IfModule mod_userdir.c>
   #     <Directory /home/*/public_html>
   #          php_admin_value engine Off
   #     </Directory>
   # </IfModule>

</IfModule>

Terakhir jangan lupa merestart Apache nya :

$ /etc.init.d/apache2 restart