Cara menginstal nginx, mariadb 10, php 7 (lemp stack) di 16.10/16.04

Cara menginstal nginx, mariadb 10, php 7 (lemp stack) di 16.10/16.04

Itu Lemp Stack adalah akronim yang mewakili adalah sekelompok paket (Linux OS, Nginx Web Server, database MySQL \ MariaDB dan bahasa pemrograman dinamis sisi server PHP) yang digunakan untuk menggunakan aplikasi web dinamis dan halaman web dan Web.

Tutorial ini akan memandu Anda tentang cara menginstal tumpukan lemp dengan Mariadb 10, PHP 7 Dan Http 2.0 Mendukung Nginx pada Ubuntu 16.10 Dan Ubuntu 16.04 Edisi Server/Desktop.

Persyaratan

  1. Pemasangan Ubuntu 16.04 edisi server [Instruksi juga berfungsi Ubuntu 16.10]

Langkah 1: Instal server web nginx

1. Nginx adalah server web modern dan efisien sumber daya yang digunakan untuk menampilkan halaman web kepada pengunjung di internet. Kami akan mulai dengan menginstal server web nginx dari repositori resmi Ubuntu dengan menggunakan baris perintah apt.

$ sudo apt-get install nginx 
Instal Nginx di Ubuntu 16.04

2. Selanjutnya, keluarkan perintah netstat dan systemctl untuk mengonfirmasi jika Nginx dimulai dan mengikat di port 80.

$ netstat -tlpn 
Periksa koneksi port jaringan nginx
$ sudo systemctl status nginx.melayani 
Periksa status layanan nginx

Setelah Anda memiliki konfirmasi bahwa server dimulai, Anda dapat membuka browser dan menavigasi ke alamat IP server Anda atau catatan DNS menggunakan protokol HTTP untuk mengunjungi halaman web Nginx Default.

http: // ip-address 
Verifikasi halaman web nginx

Langkah 2: Aktifkan nginx http/2.0 protokol

3. Itu Http/2.0 Protokol yang dibangun secara default dalam rilis terbaru Binari Nginx Ubuntu 16.04 hanya bekerja bersamaan dengan SSL dan menjanjikan peningkatan kecepatan besar dalam memuat halaman web SSL Web.

Untuk mengaktifkan protokol di nginx Ubuntu 16.04, Pertama -tama arahkan ke file konfigurasi situs Nginx yang tersedia dan cadangan file konfigurasi default dengan menerbitkan perintah di bawah ini.

$ cd/etc/nginx/situs-tersedia/$ sudo mv default.cadangan 
File Konfigurasi Situs Backup Nginx

4. Kemudian, menggunakan editor teks Buat halaman default baru dengan instruksi di bawah ini:

Server Listen 443 SSL HTTP2 Default_Server; Dengarkan [::]: 443 SSL HTTP2 Default_Server; root/var/www/html; Indeks Indeks.Indeks HTML.indeks htm.PHP; Server_name 192.168.1.13; Lokasi / TRY_FILES $ URI $ URI / = 404;  ssl_certificate/etc/nginx/ssl/nginx.CRT; ssl_certificate_key/etc/nginx/ssl/nginx.kunci; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS EECDH+CHACHA20: EECDH+AES128: RSA+AES128: EECDH+AES256: RSA+AES256: EECDH+3DES: RSA+3DES:!MD5; ssl_dhparam/etc/nginx/ssl/dhparam.PEM; SSL_SESSION_CACHE Dibagikan: SSL: 20M; ssl_session_timeout 180m; Resolver 8.8.8.8 8.8.4.4; Add_header ketat-transport-keamanan "Max-AGE = 31536000; #includeSubdomains" selalu; Lokasi ~ \.php $ termasuk cuplikan/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.kaus kaki;  Lokasi ~ /\.ht tolak semua;  server dengarkan 80; Dengarkan [::]: 80; Server_name 192.168.1.13; return 301 https: // $ server_name $ request_uri;  
Aktifkan protokol nginx http 2

Cuplikan konfigurasi di atas memungkinkan penggunaan Http/2.0 dengan menambahkan http2 Parameter ke semua arahan mendengarkan SSL.

Juga, bagian terakhir dari kutipan yang terlampir dalam Petunjuk Server digunakan untuk mengarahkan semua lalu lintas non-SSL ke host default SSL/TLS. Juga, ganti nama server Petunjuk untuk mencocokkan alamat IP Anda sendiri atau catatan DNS (lebih disukai FQDN).

5. Setelah Anda selesai mengedit file konfigurasi default nginx dengan pengaturan di atas, buat dan daftarkan file dan kunci sertifikat SSL dengan mengeksekusi perintah di bawah ini.

Isi sertifikat dengan pengaturan khusus Anda sendiri dan perhatikan Nama yang umum Pengaturan agar sesuai dengan catatan DNS FQDN Anda atau alamat IP server Anda yang akan digunakan untuk mengakses halaman web.

$ sudo mkdir/etc/nginx/ssl $ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout/etc/nginx/ssl/nginx.kunci -out/etc/nginx/ssl/nginx.crt $ ls/etc/nginx/ssl/ 
Hasilkan Sertifikat dan Kunci SSL untuk Nginx

6. Juga, buat yang kuat DH Cypher, yang diubah pada file konfigurasi di atas SSL_DHPARAM Baris instruksi, dengan mengeluarkan perintah di bawah ini:

$ sudo openssl dhparam -out/etc/nginx/ssl/dhparam.PEM 2048 
Buat Kunci Diffie-Hellman

7. Sekali Diffie-Hellman Kunci telah dibuat, verifikasi apakah file konfigurasi nginx ditulis dengan benar dan dapat diterapkan oleh Nginx Web Server dan restart daemon untuk mencerminkan perubahan dengan menjalankan perintah di bawah ini.

$ sudo nginx -t $ sudo systemctl restart nginx.melayani 
Periksa konfigurasi nginx

8. Untuk menguji apakah Nginx menggunakan Http/2.0 Protokol mengeluarkan perintah di bawah ini. Kehadiran dari H2 Protokol yang diiklankan mengkonfirmasi bahwa Nginx telah berhasil dikonfigurasi untuk menggunakan HTTP/2.0 protokol. Semua browser terkini modern harus mendukung protokol ini secara default.

$ openssl s_client -connect localhost: 443 -nextprotoneg "
Uji nginx http 2.0 protokol

Langkah 3: Instal PHP 7 Interpreter

Nginx dapat digunakan dengan interpreter bahasa pemrosesan dinamis PHP untuk menghasilkan konten web dinamis dengan bantuan FastCGI Process Manager yang diperoleh dengan menginstal php-fpm Paket biner dari repositori resmi Ubuntu.

9. Untuk meraih Php7.0 dan paket tambahan yang akan memungkinkan PHP berkomunikasi dengan Nginx Web Server mengeluarkan perintah di bawah ini di konsol server Anda:

$ sudo apt instal php7.0 php7.0-fpm 
Pasang PHP 7 dan PHP-FPM untuk Ngin

10. Sekali Php7.0 Penerjemah telah berhasil diinstal pada mesin Anda, mulai dan periksa php7.0-fpm Daemon dengan mengeluarkan perintah di bawah ini:

$ sudo systemctl mulai php7.0-fpm $ sudo Systemctl Status php7.0-fpm 
Mulai dan verifikasi layanan php-fpm

11. File konfigurasi Nginx saat ini sudah dikonfigurasi untuk digunakan Php fastcgi Manajer Proses untuk Konten Dinamis Server.

Blok server yang memungkinkan Nginx untuk menggunakan interpreter PHP disajikan pada kutipan di bawah ini, jadi tidak ada modifikasi lebih lanjut dari file konfigurasi NGINX default.

Lokasi ~ \.php $ termasuk cuplikan/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.kaus kaki;  

Di bawah ini adalah tangkapan layar dari instruksi apa yang Anda butuhkan untuk tidak mengkomentasikan dan memodifikasi adalah kasus file konfigurasi default NGINX asli.

Aktifkan php fastcgi untuk nginx

12. Untuk menguji hubungan server web nginx dengan PHP FastCGI Process Manager Buat PHP info.php File Konfigurasi Uji dengan mengeluarkan perintah di bawah ini dan verifikasi pengaturan dengan mengunjungi file konfigurasi ini menggunakan alamat di bawah ini: http: // domain/info ip_or.php.

$ sudo su -c 'echo "" | tee/var/www/html/info.php ' 
Buat File Info PHP Verifikasi info php fastcgi

Periksa juga apakah Http/2.0 Protokol diiklankan oleh server dengan menemukan garis $ _Server ['server_protocol'] pada blok variabel php seperti yang diilustrasikan pada tangkapan layar di bawah ini.

Periksa http 2.0 Info Protokol

13. Untuk menginstal ekstra Php7.0 modul menggunakan pencarian php7 yang tepat.0 Perintah untuk menemukan modul php dan menginstalnya.

Juga, cobalah untuk menginstal modul PHP berikut yang dapat berguna jika Anda berencana untuk menginstal WordPress atau CMS lainnya.

$ sudo apt instal php7.0-MCRYPT PHP7.0-mbstring 
Instal Modul PHP 7

14. Untuk mendaftarkan modul tambahan php baru restart Php-fpm Daemon dengan mengeluarkan perintah di bawah ini.

$ sudo systemctl restart php7.0-fpm.melayani 

Langkah 4: Instal basis data mariadb

15. Akhirnya, untuk menyelesaikan kami Lemp Tumpukan Kami Membutuhkan Komponen Basis Data MariaDB untuk Menyimpan dan Mengelola Data Situs Web.

Install Mariadb Sistem Manajemen Basis Data dengan menjalankan perintah di bawah ini dan restart Php-fpm Layanan untuk menggunakan modul MySQL untuk mengakses database.

$ sudo apt instal mariadb-server mariadb-client php7.0-MYSQL $ SUDO SYSTEMCTL RESTART PHP7.0-fpm.melayani 
Instal mariadb untuk nginx

16. Untuk mengamankan instalasi mariadb, jalankan skrip keamanan yang disediakan oleh paket biner dari repositori Ubuntu yang akan meminta Anda mengatur kata sandi root, menghapus pengguna anonim, menonaktifkan login root dari jarak jauh dan menghapus database uji.

Jalankan skrip dengan mengeluarkan perintah di bawah ini dan jawab semua pertanyaan dengan Ya. Gunakan tangkapan layar di bawah ini sebagai panduan.

$ sudo mysql_secure_installation 
Amankan instalasi mariadb untuk nginx

17. Untuk mengonfigurasi mariadb sehingga pengguna biasa dapat mengakses database tanpa sistem sudo Hak istimewa, buka antarmuka baris perintah MySQL dengan hak istimewa root dan jalankan perintah di bawah ini di MySQL Interpreter:

$ sudo mysql mariadb> gunakan mysql; Mariadb> perbarui pengguna set plugin = "where user =" root "; mariadb> flush privileges; mariadb> exit 
Izin Pengguna Mariadb

Akhirnya, login ke basis data mariadb dan jalankan perintah sewenang -wenang tanpa hak istimewa root dengan mengeksekusi perintah di bawah ini:

$ mysql -u root -p -e 'show database' 
Periksa basis data mariadb

Itu semua! Sekarang Anda memiliki file Lemp Tumpukan dikonfigurasi Ubuntu 16.10 Dan Ubuntu 16.04 server yang memungkinkan Anda untuk menggunakan aplikasi web dinamis yang kompleks yang dapat berinteraksi dengan database.