adv

Selasa, 03 Desember 2019

Instalasi PHP Apache Module pada Ubuntu 16.04




Instalasi PHP Apache Module pada Ubuntu 16.04





1. Instalasi PHP Apache Module

PHP dapat dipasang sebagai bagian dari Apache module. Cara ini adalah cara yang paling mudah dalam mengkombinasikan web server Apache dan PHP. Namun konsekuensinya adalah PHP akan mewarisi permission dari proses Apache. Hal ini tentunya akan berdampak pada aspek keamanan pada server anda. Lebih lanjut tentang aspek keamanan ini dapat anda baca pada PHP manual berikut



Langkah pertama dalam melakukan instalasi PHP sebagai bagian dari Apache module adalah dengan menjalankan perintah
$ sudo apt update
$ sudo apt install php libapache2-mod-php
Untuk mengecek apakah PHP telah berjalan di server anda, anda dapat membuat sebuah file dengan isi
<?php
  phpinfo();
?>
di root directory server yang secara default berada di /var/www/html/, misalkan dengan nama file /var/www/html/info.php.
Default owner directory /var/www/html/ adalah root, sehingga anda memerlukan hak akses root untuk membuat atau memodifikasi file dalam directory tersebut.
Kemudian cobalah akses file tersebut menggunakan web browser, misalnya dengan mengakses  atau . Bila anda mendapatkan output seperti pada Gambar 1 berarti proses instalasi PHP telah berhasil.



Gambar 1. Output phpinfo()

Pada Ubuntu 16.04 versi PHP yang digunakan adalah versi 7.0. Bila anda memerlukan versi lama atau versi lebih baru, maka anda harus menggunakan cara yang berbeda yang tidak dibahas dalam artikel ini.

2. Modifikasi Konfigurasi PHP

Tanpa langkah berikut, sebenarnya instalasi PHP tersebut telah dapat digunakan, namun kadang kita perlu melakukan beberapa modifikasi untuk menyesuaikan dengan kebutuhan program PHP yang nantinya kita buat.

Instalasi MySQL module

Bila anda ingin menggunakan PHP untuk mengolah RDBMS MySQL atau MariaDB, maka anda perlu mengaktifkan PHP MySQL module dengan cara menjalankan perintah
$ sudo apt install php-mysql
kemudian anda perlu me-restart service Apache dengan perintah
$ sudo systemctl restart apache2.service
Untuk memastikan bahwa modul php-mysql telah aktif, buatlah sebuah file di root directory server, misalnya /var/www/html/mysql.php dengan isi


<?php
$servername = "localhost";
$username = "root";
$password = "secret";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
echo("Connection success.");
}
$conn->close();
?>

kemudian akses file tersebut menggunakan web browser, misalnya dengan mengakses  atau . Jangan lupa, anda perlu mengganti $servername$username, dan $password pada script untuk disesuaikan dengan konfigurasi server anda. Bila output script tersebut adalah Connection success.maka instalasi anda berhasil, namun bila tidak maka berarti ada masalah dengan proses instalasi yang anda lakukan. 

Pencarian dan Instalasi Berbagai Modul PHP

Untuk meningkatkan fungsionalitas dari PHP, anda dapat menambahkan beberapa modul tambahan ke dalam PHP. Untuk mencari modul-modul yang tersedia dalam repository, gunakanlah perintah
$ sudo apt-cache search php-
Bila anda ingin pencarian yang lebih spesifik, kombinasikan dengan perintah grep, misalnya anda ingin mencari modul PHP yang berkaitan dengan zip, maka anda dapat menggunakan perintah
$ sudo apt-cache search php- | grep zip
Contoh output dari perintah tersebut adalah
libphp-pclzip - transitional dummy package
php-bz2 - bzip2 module for PHP [default]
php-pclzip - ZIP archive manager class for PHP
php-zip - Zip module for PHP [default]
php-zipstreamer - Stream zip files without i/o overhead
php7.0-bz2 - bzip2 module for PHP
php7.0-zip - Zip module for PHP
Bila anda sudah memutuskan modul apa yang perlu anda install, misalnya php-zip, maka gunakan perintah apt install untuk melakukan instalasi PHP modul tersebut. Berikut adalah contoh perintah untuk melakukan instalasi modul php-zip
$ sudo apt install php-zip
Kemudian restart service Apache dengan perintah
$ sudo systemctl restart apache2.service

Menyembunyikan Versi PHP pada HTTP Header

Bila anda tidak menginginkan versi PHP anda tampil pada HTTP Header, demi alasan keamanan misalnya, maka anda dapat memodifikasi file /etc/php/7.0/apache2/php.ini dan /etc/php/7.0/cli/php.ini. Pastikan variable expose_php pada kedua file tersebut bernilai Off seperti ini.
expose_php = Off
Kemudian restart service Apache dengan perintah
$ sudo systemctl restart apache2.service

Mengganti Default Directory Index

Bila anda memiliki dua file index, misalnya index.html dan index.php, dalam satu directory yang sama, maka yang dieksekusi oleh Apache adalah file index.html. Bila anda ingin mengubah urutan prioritas file index, maka anda dapat mengaturnya melalui file /etc/apache2/mods-available/dir.conf.
Ubahlah urutan index.php pada DirectoryIndex yang semula pada urutan keempat seperti ini
<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
menjadi urutan pertama seperti ini
<IfModule mod_dir.c>
        DirectoryIndex index.php  index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Kemudian restart service Apache dengan perintah
sudo systemctl restart apache2.service





Demikianlah cara melakukan instalasi PHP Apache Module pada Ubuntu 16.04. Selamat mencoba.