GNU/Linux >> Belajar Linux >  >> Ubuntu

Konfigurasi Dasar PHP 7 dan Nginx di Ubuntu 16.04 Linux

Nginx dengan cepat menyalip Apache sebagai server web favorit. Untuk aplikasi web yang dibuat dalam bahasa seperti Rails dan Python, ini hampir ada di mana-mana, tetapi sedikit lebih lambat untuk digunakan di dunia PHP. Sebagian alasannya adalah betapa mudahnya PHP dan Apache berjalan bersama. Namun, PHP dan Nginx dapat bekerja sama dengan mudah, dan dengan dirilisnya PHP 7, menggabungkan keduanya dapat menjadi pilihan yang cukup cepat.

Paket

Hal pertama yang pertama. Perbarui Ubuntu dan dapatkan paket Nginx dan PHP.

# sudo apt-get update && sudo apt-get -y upgrade
# sudo apt-get -y install nginx php7.0 php7.0-fpm

Saat penginstalan selesai, semua paket seharusnya sudah ada di tempatnya, dan benar-benar berjalan. Untuk memastikan bahwa ini masalahnya, Anda dapat memeriksa apakah layanan Nginx dan PHP-FPM berjalan di Systemd.

# sudo systemctl status nginx
# sudo systemctl status php7.0-fpm

Jika Systemd mengonfirmasi bahwa kedua layanan berjalan, server seharusnya benar-benar aktif, dan Anda seharusnya dapat melihat halaman selamat datang Nginx default dengan menavigasi ke localhost di browser.

Konfigurasi

Tentu saja, itu tidak mendekati siap untuk benar-benar menjadi tuan rumah apa pun. Ada beberapa konfigurasi yang diperlukan untuk mengarahkan Nginx ke beberapa konten aktual dan meningkatkan keamanan. Direktori root untuk file konfigurasi Nginx terletak di /etc/nginx . Untungnya, sudah ada default dari Ubuntu yang membuat proses konfigurasi lebih mudah.

Nginx.conf

File konfigurasi utama untuk Nginx adalah nginx.conf . Buka di editor teks pilihan Anda. Ini akan membutuhkan izin root, jadi editor berbasis teks seperti Vim mungkin akan menjadi yang terbaik. Konfigurasi default sebagian besar baik-baik saja. Jelas ada hal-hal yang dapat dilakukan untuk meningkatkan kecepatan dan keamanan sistem, tetapi sebagian besar di luar cakupan tutorial dasar ini. Jika Anda ingin meningkatkan kinerja, opsi Gzip yang dikomentari akan membantu kompresi dan dapat mempercepat. Di sisi keamanan, menambahkan tiga baris berikut akan membantu mencegah aktivitas jahat.

add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

Konfigurasi Situs

Setelah garis ditambahkan, simpan dan keluar. Ada dua folder di root Nginx, sites-available dan sites-enabled . sites-available menyimpan konfigurasi situs. sites-enabled berisi symlink ke file konfigurasi di sites-available . Dengan cara ini, mengaktifkan dan menonaktifkan situs semudah membuat dan menghapus symlink.

Menggunakan editor teks Anda, buat file di /etc/nginx/sites-available/yoursite . File ini akan berisi konfigurasi khusus situs untuk situs web PHP 7 baru Anda. Contoh berikut berisi perincian dalam komentar tentang apa yang dilakukan setiap baris. Ini adalah konfigurasi yang cukup mendasar, tetapi ini akan menyelesaikan pekerjaan.


server { 
	
	#Nginx should listen on port 80 for requests to yoursite.com
	listen 80; 
	server_name yoursite.com; 

	#Create access and error logs in /var/log/nginx
	access_log /var/log/nginx/yoursite.access_log main; 
	error_log /var/log/nginx/yoursite.error_log info; 

	#Nginx should look in /var/www/yoursite for your website
	root /var/www/yoursite/;
	#The homepage of your website is a file called index.php 
	index index.php; 

	#Specifies that Nginx is looking for .php files
	location ~ \.php$ { 
		#If a file isn’t found, 404
		try_files $uri =404; 
		#Include Nginx’s fastcgi configuration
		include /etc/nginx/fastcgi.conf;
		#Look for the FastCGI Process Manager at this location 
		fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
	} 
}

Setelah file tersebut dibuat, simpan dan pindahkan ke sites-enabled direktori. Dari sana, buat symlink kembali ke file yang baru saja Anda buat.

# cd /etc/nginx/sites-enabled
# sudo ln -s /etc/nginx/sites-available/yoursite

Keamanan PHP.ini

Keamanan adalah target yang bergerak, dan tidak mungkin untuk tetap berada di depan setiap kemungkinan ancaman, tetapi selalu merupakan ide yang baik untuk mengunci instalasi server baru sebanyak mungkin. Ada beberapa tweak sederhana yang dapat dilakukan pada php.ini file konfigurasi yang akan membantu mengamankan PHP. Dengan editor teks Anda, buka /etc/php/7.0/fpm/php.ini . Ini adalah file yang sangat besar. Sekali lagi, Vim atau sesuatu dengan fungsi pencarian mungkin yang terbaik.

Pertama temukan disable_functions dan tambahkan phpinfo,system,mail,exec ke akhir string fungsi yang sudah ada. Kemudian temukan file_uploads dan atur ke Off . Selanjutnya, cari sql.safe_mode dan aktifkan On . Terakhir, temukan allow_url_fopen dan atur ke Off . Sebelum menutup file, tambahkan satu baris lagi di akhir.

register_globals = Off

Setelah semuanya selesai, simpan dan tutup. Mulai ulang server dan server akan siap digunakan.

# sudo systemctl restart php7.0-fpm
# sudo systemctl restart nginx

Ke mana Harus Pergi Selanjutnya

Saat itu, server Ubuntu harus dapat menjalankan sebagian besar situs web PHP. File PHP apa pun yang ditempatkan di /var/www/yoursite akan dijalankan oleh server. Ini akan mencari index.php file terlebih dahulu dan situs web dapat bercabang di sana. Tentu saja, masih banyak lagi yang dapat dilakukan untuk mengonfigurasi PHP dan Nginx untuk kecepatan, keamanan, dan hampir semua situasi kasus khusus, tetapi sekarang Anda memiliki titik awal yang kuat.


Ubuntu
  1. Instal dan Konfigurasi PHP OPcache di Ubuntu 20.04

  2. Cara Menginstal OpenLiteSpeed ​​dan PHP di Ubuntu

  3. Menginstal dan mengatur Php dan Nginx di Ubuntu 20.04

  1. Cara Menginstal PHP 7.4 dan 8.0 Di Ubuntu 18.04 atau 20.04

  2. Boot ganda Ubuntu Linux dan Windows 7

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di Ubuntu 20.04

  1. Cara menginstal PHP di Ubuntu Linux

  2. Menginstal Nginx di Ubuntu 14.04 dan 16.04

  3. Kuota Linux - instalasi dan konfigurasi di Ubuntu dan Debian