Minggu yang lalu, lebih tepatnya 21 Agustus 2015, tim pengembang PHP mengumumkan rilis terbaru dari PHP yang kini sudah mencapai versi 7 dan kini mulai di distribusikan ke pengguna dan pengembang untuk di tes sebelum masuk versi stable.
Namun, perlu di ingat bahwa PHP 7 ini masih veresi RC (Release Candidate) sehingga mungkin masih ada bug atau kelemahan kompabitilis dengan PHP versi sebelumnya sehingga tim PHP mengharapkan pengembang untuk melaporkan setiap bug atau kesalahan ke tracking system mereka. Tim pengembang PHP juga menghimbau agar pengguna tidak langsung menggunakan PHP 7 sebagai sistem utama selama masih dalam fase RC. Sisi baiknya adalah dalam versi 7 ini tim pengembang PHP telah memperbaiki beberapa kesalahan (dapat Anda lihat di halaman ini), dan fitur-fitur yang telah ditingkatkan plus peningkatan perfoma jika dibandingkan dengan versi sebelumnya.
Pada tutorial kali ini, AplikasiPC akan membahas mengenai tutorial cara install PHP 7, Apache, dan MariaDB pada CentOS 7 dan Debian 8 Jessie. Tutorial di bawah ini juga seharusnya dapat digunakan pada distro Linux yang berbasis CentOS seperti RHEL, Fedora, Scientific Linux, dan Debian based seperti Ubuntu/Mint.
Install PHP 7 di CentOS 7 dan Debian 8
Seperti yang telah AplikasiPC tulis sebelumnya, karena ini masih versi RC dan bukan stable, kita tidak dapat menginstallnya dari repositories. Untuk itu, kita perlu mendownload source code PHP 7 secara manual lalu compile program tersebut dari awal. Selain itu, perlu di ingat bahwa agar PHP 7 dapat berjalan dengan baik dan memiliki kegunaan penuh, kira perlu menginstall sekaligus dengan MariaDB dan Apache yang dapat Anda temukan di repositories.
Pada CentOS 7
# yum update && yum install httpd mariadb mariadb-server
Pada Debian 8
# aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb.common
Selanjutnya, download dan ekstrak tarball PHP menggunakan perintah berikut ini.
# wget https://downloads.php.net/~ab/php-7.0.0RC1.tar.gz # tar xzf php-7.0.0RC1.tar.gz -C /opt
Setelah selesai, pindah direktori ke /opt/php-7.0.0RC1 dan jalankan perintah script buildconf dengan parameter -force.
# ls
# cd /opt/php-7.0.0RC1.tar.gz # ./buildconf --force
Selanjutnya, kita perlu mengkonfigurasi PHP sesuai keperluan kita, Konfigurasi di bawah ini adalah konfigurasi standar PHP 7. Anda dapat melihat daftar konfigurasi lengkap di manual PHP.
# ./configure \ --prefix=$HOME/php7/usr \ --with-config-file-path=$HOME/php7/usr/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-curl \ --with-mcrypt \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib-dir=/usr \ --with-xpm-dir=/usr \ --with-freetype-dir=/usr \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-openssl \ --with-pdo-mysql=/usr \ --with-gettext=/usr \ --with-zlib=/usr \ --with-bz2=/usr \ --with-recode=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-apxs2
Jika Anda mendapatkan pesan kesalahan:
configure: error: no acceptable C compiler found in $PATH see 'config.log' for more details
Untuk mengatasinya install gcc beserta dependencies dependensinya dengan perintah di bawah ini dan jalankan perintah di atas kembali:
# yum install gcc [On CentOS 7 box] # aptitude install gcc [On Debian 8 box]
Setelah sukses, tunggu proses instalasi PHP 7 selesai (mencapai 15 menit). Jika ada libraries yang kurang, Anda dapat menginstallnya terlebih dahulu lalu jalankan konfigurasi kembali.
Contohnya disini AplikasiPC harus menginstall libxml2-devel setelah mendapat pesan error berikut ini:
configure: error: xml2-config not found. Please check your libxml2 installation.
Sayangnya, AplikasiPC tidak mungkin menjabarkan satu-persatu kesalahan ketika menginstall PHP 7 ini. Silahkan lihat halaman ini dimana telah disebutkan solusi untuk masalah-masalah yang sering terjadi ketika menginstall PHP.
Pada CentOS 7
Berikut adalah daftar program yang AplikasiPC install pada CentOS 7 sebelum dapat menginstall PHP 7 sepenuhnya.
gcc libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel
Anda dapat menginstall semua program tersebut dengan perintah tunggal di bawah ini:
# yum install gcc libxml2-devel pkgconfig openssl-devel bzip2-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel
Berikut adalah gambar yang menandakan konfigurasi PHP 7 Anda telah sukses.
Lalu jalankan
# make # make install
Ketika instalasi selesai, Anda dapat mengeceknya menggunakan perintah berikut ini:
Pada Debian 8
Lain dengan Debian, AplikasiPC harus menginstall program berikut ini agar konfigurasi PHP sukses:
make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev
Anda dapat menginstall program-program di atas menggunakan perintah di bawah ini.
# apt-get install make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev
Lalu tambahkan
โwith-libdir=/lib/x86_64-linux-gnu
pada konfigurasi dan buat symlink berikut ke file header gmp.h.
# ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
Selanjutnya jalankan make dan make install. Proses ini memakan waktu hingga 10-15 menit.
# make # make install
Mengatur php.ini dan Mengetes Instalasi PHP 7
Ketika Anda menginstall PHP menggunakan source, dua buah file contoh php.ini telah disediakan. Pada saat percobaan, file ini dapat kita temukan di 7.0.0RC1:
# ls -l /opt/php-7.0.0RC1 | grep php.ini
Anda perlu menyalin salah satu file tersebut ke folder /usr/local/lib. Direktori ini adalah direktori default lokasi penyimpanan file konfigurasi PHP 7.
# cp /opt/php-7.0.0RC1/php.ini-development /usr/local/lib
Dan jangan lupa untuk menambahkan konfigurasi di bawah ini pada file konfigurasi utama Apache.
/etc/httpd/conf/httpd.conf [On CentOS 7 box] /etc/apache2/apache2.conf in [On Debian 8 box]
LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so SetHandler application/x-httpd-php
Pada Debian 8, Anda dapat menghapus baris LoadModule dan juga Anda perlu menghapus dan membuat symlink berikut ini:
# cd /etc/apache2 # rm mods-enabled/mpm_event.conf # rm mods-enabled/mpm_event.load # ln -s mods-available/mpm_prefork.conf mpm_prefork.conf # ln -s mods-available/mpm_prefork.load mpm_prefork.load
Lalu restart Apache Web Server menggunakan perintah di bawah ini.
# systemctl restart httpd [On CentOS 7 box] # systemctl restart apache2 [On Debian 8 box]
Jika Anda mendapatkan pesan error pada CentOS 7 yang menandakan tidak dapat menemukan file module libphp7.so, Anda dapat menyalin file ini dari /opt/php-7.0.0RC1/.libs/libphp7.so.
Cara paling mudah untuk mengetes instalasi PHP/Apache adalah menggunakan perintah phpinfo(). Buat file dan beri nama test.php dengan isi berikut ini pada /var/www/html.
Lalu buka halaman tersebut melalui web browser.
http://ALAMAT_IP_SERVER_ANDA/test.php
Semoga tutorial cara install PHP 7, Apache, dan MariaDB di atas dapat membantu Anda.
kok gak bisa di restart apache2nya gara2 hapus file di mods-enabled, ada solusi ?
Cek error log mas
kalo upgrade di linux ubuntu gimana mas? apa one klik install itu sudah secara otomatis install lemp sekalian mas?
Utk Ubuntu sama dengan Debian mas, basisnya sama ๐
Sangat membatu , Tengkyu somat gan ^_^