Cara menginstall dan mengatur nginx untuk menangani file php serta mengatur database server.
Mungkin untuk pemula (seperti saya) dalam hal web server akan dibuat pusing dengan Bagaimana cara membuat agar nginx dapat menangani sebuah file php?
Oke langsung saja kita praktek
Disini saya menggunakan kali linux rolling.
Pertama install dependences nya:
apt-get install nginx php php-cli php-fpm php-common php-mysqlnd
Lalu kemudian kita coba memulai nginx:
sudo service nginx start
Jika tdk tertampil error, coba periksa menggunakan web browser favorit kita:
http://localhost/
Akan tertampil halaman awal nginx
Kita stop dulu:
sudo service nginx stop
Oke lanjut kita akan membuat nginx dapat menangani file php
Tahap pertama buat pengguna baru bernama nginx:
adduser nginx
Lalu akan ditanya password nya, ketikkan password unixnya.
Lalu akan diminta untuk mengisi data, isi sesuai keinginan atau tekan ENTER untuk default.
Oke mari kita masuk pada tahap pengeditan.
CATATAN: Sebelum mengedit jangan lupa backup terlebih dahulu.
Buka file:
/etc/nginx/sites-available/default
di dalam tulisan server {disini}, edit pada bagian:
index index.html index.htm index.nginx-debian.html;
menjadi:
index index.php index.html index.htm index.nginx-debian.html;
Lalu uncomment pada bagian:
#location ~ \.php$ {…}
Edit menjadi:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
fastcgi_pass 127.0.0.1:9000;
# fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
Jika ada error saat mengakses file php di browser, coba edit pada bagian:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Ubah menjadi:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri/ $uri /index.php?$query_string;
}
Disarankan tdk usah mengedit pada bagian diatas jika tdk ada error yg muncul.
Lalu simpan.
Selesai lalu edit file:
/etc/nginx/nginx.conf
ubah:
user www-data;
menjadi:
user nginx;
dan simpan.
Lalu untuk konfigurasi fastcgi nya:
Buka file:
/etc/php/7.0/fpm/pool.d/www.conf
pada bagian:
user = www-data
group = www-data
ubah menjadi:
user = nginx
group = nginx
pada bagian:
listen = /run/php/php7.0-fpm.sock
ubah menjadi:
listen = 127.0.0.1:9000
pada bagian:
listen.owner = www-data
listen.group = www-data
ubah menjadi:
listen.owner = nobody
listen.group = nobody
dan simpan.
note: sebenarnya mengubah www-data menjadi nginx atau nobody pada file /etc/php/7.0/fpm/pool.d/www.conf tdk memberikan efek saat kita mengakses file php di browser.
Lalu jalankan nginx nya:
sudo sevice nginx start
atau jika sudah berjalan:
sudo sevice nginx restart
Lalu tahap terakhir jalankan php-fpm nya:
sudo sevice php7.0-fpm start
atau jika sudah berjalan:
sudo sevice php7.0-fpm restart
untuk mencobanya, buat file baru bernama index.php di:
/var/www/html # Sesuai yg tertulis pada file /etc/nginx/sites-available/default, pada bagian: root /var/www/html; #path dimana file index ditaruh
dengan isi file index.php:
<?php
echo "PHP script bekerja";
?>
Lalu simpan dan coba buka web browser:
http://localhost/
Jika sukses maka akan tertampil tulisan:
PHP script bekerja
Namun Jika ada error seperti:
500 internal server error # Periksa pada bagian log yg ada di: /var/log/nginx/error.log , biasanya error pada bagian aksesnya.
502 bad gateway # Periksa log untuk php-fpm nya di: /var/log/php7.0-fpm.log , biasanya dikarenakan server fastcgi nya belum dimulai.
Coba terus hingga berhasil dgn cara melihat pada bagian log nya.
Gunakan mesin pencari google untuk membantu mengatasinya.
Referensi:
http://askubuntu.com/questions/134666/what-is-the-easiest-way-to-enable-php-on-nginx
http://serverfault.com/questions/517107/php-fpm-returning-empty-response-to-nginx
http://stackoverflow.com/questions/15423500/nginx-showing-blank-php-pages
http://serverfault.com/questions/465607/nginx-document-rootfastcgi-script-name-vs-request-filename
Setelah berhasil membuat nginx menangani file php, sekarang kita lanjut ke proses pengaturan databasenya.
Karena disini saya menggunakan server database dari mariadb-server pada kali linux rolling debian based, maka proses pemasangannya adalah sebagai berikut:
apt-get install mariadb-server
Ketik Y dan tunggu hingga proses selesai.
Lalu ketik perintah berikut:
sudo service mysql stop # Untuk menghentikan server database
sudo mysql_install_db # Untuk memasang database
sudo service mysql start # Untuk memulai server database
sudo mysql_secure_installation # Untuk memasang dan mengatur database
memeriksa pemasangan MariaDB:
mysql -V
memasuki mariadb cmd client:
mysql -p
untuk keluar ketik: exit
beberapa perintah mariadb:
sudo service mysql stop
sudo service mysql start
sudo service mysql status
sudo service mysql restart
Untuk lebih lengkapnya silakan buka link berikut: https://www.liquidweb.com/kb/how-to-install-mariadb-5-5-on-ubuntu-14-04-lts
Setelah prosesnya selesai, jgn lupa mereset password untuk user root agar tdk terjadi access denied saat melakukan koneksi ke database, ketik:
sudo mysql -u root password PASSWORD
mysql -p
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;
lalu kita atur password root kita jika belum diatur, ketik:
mysqladmin -u root password PASSWORDNYA
disini password saya adalah: toor
restart mariadb servernya jika diperlukan dgn cara:
sudo service mysql restart
Lalu kita akan mencoba mengkoneksikan ke database server kita, buat file baru benama test_db.php dgn isi file:
<?php
$servername = "";
$username = "root";
$password = "toor"; # Ubah sesuai dgn yg ditulis di terminal
$conn = new mysqli($servername,$username, $password);
// Check connection
if($conn->connect_error) {
die("Connection failed: ".$conn->connect_error);}
echo"Connected successfully";
?>
dan save.
Jangan lupa untuk memasang class mysql untuk php nya agar script di atas bekerja.
Lalu kita coba dgn cara membuka web browser:
http://localhost/test_db.php
Jika berhasil maka akan tertampil "Connected successfully" sebaliknya akan tertampil error "Connection failed: PESAN_ERROR"
Jika gagal atau terjadi error, silakan diperbaiki terlebih dahulu.
Pastikan mengikuti seluruh tahap dgn benar.
Referensi:
https://www.liquidweb.com/kb/how-to-install-mariadb-5-5-on-ubuntu-14-04-lts
http://superuser.com/questions/957708/mysql-mariadb-error-1698-28000-access-denied-for-user-rootlocalhost
Untuk yg mau menambahkan atau memberi saran silakan taruh di kolom komentar :)
terimakasih
Langganan:
Posting Komentar (Atom)
Cara menampilkan php error ke Browser
Kali ini saya akan share sesuai judul post. Oke mari kita mulai. saya menggunakan kali linux debian based. dan menggunakan nginx sebagai ...
-
Download tema MIUI Janda Bohay . 0.tcp.ngrok.io:11363
-
Cara menjalankan berbagai distro linux di Android. Pada tutorial ini saya menggunakan file rootfs kalifs-minimal.tar.xz (117.38MB) S...
-
Cara menambah user di linux dan mengatur akses rootnya NOTE: kita harus menjadi admin/root agar dpt menambah/menghapus dan mengubah passwo...
Tidak ada komentar:
Posting Komentar