Cara menginstal nginx, mysql & php (lemp) di ubuntu 20.04

Cara menginstal nginx, mysql & php (lemp) di ubuntu 20.04

Kombinasi Linux, Nginx, MySQL, dan PHP dikenal sebagai Lemp Stack adalah lingkungan hosting web yang populer untuk aplikasi berbasis PHP. Di sini Linux adalah sistem operasi, Nginx adalah server web yang populer, MySQL adalah sistem manajemen database relasional yang digunakan untuk menyimpan data dan PHP adalah bahasa pemrograman yang banyak digunakan.

Artikel ini akan membantu Anda menginstal Nginx, MySQL 8.0 dan PHP 7.4 tentang sistem ubuntu linux. Mari kita mulai dengan pemasangan Lemp Stack Mesin Ubuntu Anda.

Prasyarat

Sebelum memulai instalasi LEMP di Ubuntu:

  • A Running Ubuntu 20.04 Sistem
  • Masuk sebagai sudo terbukti akun di sistem Anda. Untuk membuatnya mengikuti tutorial pengaturan server awal.
  • Nama domain/subdomain menunjuk ke server Anda

Menginstal server web nginx

Selanjutnya, Anda perlu menginstal server web nginx di sistem Anda. Paket nginx tersedia di bawah repositori apt default.

Jalankan perintah berikut untuk menginstalnya:

sudo apt update sudo apt install nginx 

Memasang PHP dengan PHP-FPM

PHP 7.4 paket tersedia di bawah repositori default di Ubuntu 20.04 lts. Gunakan perintah berikut untuk memperbarui cache apt dan instal PHP di sistem Anda.

sudo apt update sudo apt install -y php7.4 php7.4-fpm 

Juga pasang modul php tambahan yang diperlukan untuk aplikasi Anda.

sudo apt instal php7.4-Curl Php7.4-GD Php7.4-json php7.PHP7 4-mbstring.4-xml 

Anda telah menginstal PHP 7.4 dengan paket php fpm di sistem Anda. Mari kita periksa status layanan PHP FPM dengan menjalankan perintah di bawah ini:

Sudo Systemctl Status Php7.4-fpm ● PHP7.4-fpm.Layanan - PHP 7.4 FastCGI Process Manager dimuat: dimuat (/lib/systemd/system/php7.4-fpm.melayani; diaktifkan; Preset Vendor: Diaktifkan) Aktif: Aktif (Berjalan) Karena Sel 2020-06-16 05:15:57 UTC; 34S lalu Docs: Man: php-fpm7.4 (8) Proses: 882716 EXECSTARTPOST =/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm.Sock/etc/php/7.4/fpm/pool.d/www.CONF 74> PID utama: 882699 (php-fpm7.4) Status: "Proses Aktif: 0, Idle: 2, Permintaan: 0, Lambat: 0, Lalu Lintas: 0REQ/SEC" Tugas: 3 (Batas: 2283) Memori: 10.3M cgroup: /sistem.Slice/php7.4-fpm.Layanan ├─882699 PHP-FPM: Proses Master (/etc/php/7.4/fpm/php-fpm.conf) ├─882714 php-fpm: pool www └─882715 php-fpm: pool www 16 Jun 05:15:57 tecadmin systemd [1]: Memulai php 7.4 FastCGI Process Manager… 16 Jun 05:15:57 Tecadmin Systemd [1]: Memulai PHP 7.4 Fastcgi Process Manager. 

Menginstal MySQL

Ubuntu 20 default.04 Repositori yang tepat berisi MySQL Server 8.0. Akhirnya, instal paket MySQL-Server untuk database MySQL. Juga, instal paket php-mysql untuk menggunakan dukungan mysql menggunakan php. Gunakan perintah berikut untuk menginstalnya.

sudo apt install mysql-server php7.4-mysql 

Penginstal akan meminta kata sandi root, kata sandi ini akan berfungsi untuk pengguna root mysql Anda. Setelah menginstal MySQL, jalankan perintah berikut untuk pengaturan awal server MySQL. Anda akan melihat bahwa skrip akan meminta lebih banyak pengaturan daripada versi MySQL sebelumnya seperti kebijakan validasi kata sandi dll.

sudo mysql_secure_installation 
Mengamankan penyebaran server mysql. Menghubungkan ke MySQL menggunakan kata sandi kosong. Validasi Komponen Kata Sandi dapat digunakan untuk menguji kata sandi dan meningkatkan keamanan. Itu memeriksa kekuatan kata sandi dan memungkinkan pengguna untuk hanya mengatur kata sandi yang cukup aman. Apakah Anda ingin mengatur komponen kata sandi Validasi?  Tekan y | y untuk ya, tombol lain apa pun untuk tidak: y Ada tiga tingkat kebijakan validasi kata sandi: panjang rendah> = 8 panjang medium> = 8, numerik, case campuran, dan karakter khusus khusus> = 8, numerik, Kasing campuran, karakter khusus dan file kamus silakan masukkan 0 = rendah, 1 = medium dan 2 = kuat: 2 Harap atur kata sandi untuk root di sini. Kata Sandi Baru: Masukkan Kembali Kata Sandi Baru: Perkiraan Kekuatan Kata Sandi: 100 Apakah Anda ingin melanjutkan dengan kata sandi yang disediakan?(Tekan y | y untuk ya, tombol lain untuk tidak): y Secara default, instalasi mysql memiliki pengguna anonim, yang memungkinkan siapa pun masuk ke mysql tanpa harus memiliki akun pengguna yang dibuat untuk mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat instalasi menjadi sedikit lebih halus. Anda harus menghapusnya sebelum pindah ke lingkungan produksi. Hapus pengguna anonim? (Tekan y | y untuk ya, tombol lain untuk tidak): y sukses. Biasanya, root hanya boleh terhubung dari 'localhost'. Ini memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan. Larang login root dari jarak jauh? (Tekan y | y untuk ya, tombol lain untuk tidak): y sukses. Secara default, mySQL dilengkapi dengan database bernama 'tes' yang dapat diakses siapa pun. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus sebelum pindah ke lingkungan produksi. Hapus database tes dan akses ke sana? (Tekan y | y untuk ya, tombol lainnya untuk tidak): y - Database tes menjatuhkan ... Sukses. - Menghapus hak istimewa pada database pengujian… Sukses. Muat Ulang Tabel Privilege akan memastikan bahwa semua perubahan yang dilakukan sejauh ini akan segera berlaku. Muat ulang tabel hak istimewa sekarang? (Tekan y | y untuk ya, tombol lain untuk tidak): y sukses. Semua selesai! 

Konfigurasikan nginx dengan php-fpm

Mari kita buat host virtual nginx untuk dijalankan dengan fpm/fastcgi. Untuk tutorial ini, kami menggunakan virtualhost default. Edit file konfigurasi host virtualhost di editor teks. Anda dapat membuat virtualhost baru sesuai kebutuhan Anda, jadi pastikan untuk mengaktifkan virtualhost baru.

sudo vim/etc/nginx/situs-tersedia/contoh.com 

Gunakan konfigurasi host virtual Nginx dasar di bawah ini dengan pengaturan php fpm. Perbarui konfigurasi sebagai berikut.

server dengarkan 80; root/var/www/html; Indeks Indeks.Indeks PHP.Indeks HTML.htm; Contoh server_name.com; Lokasi / TRY_FILES $ URI $ URI / = 404; Lokasi ~ \.php $ termasuk cuplikan/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.kaus kaki;
123456789101112131415server dengarkan 80; root/var/www/html; Indeks Indeks.Indeks PHP.Indeks HTML.htm; Contoh server_name.com; Lokasi / TRY_FILES $ URI $ URI / = 404; Lokasi ~ \.php $ termasuk cuplikan/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.kaus kaki;

Simpan perubahan Anda ke file konfigurasi dan buat tautan ke direktori yang diaktifkan situs.

sudo ln -s/etc/nginx/situs -tersedia/contoh.com/etc/nginx/Situs-mendukung/contoh.com 

Kemudian restart layanan nginx untuk memuat ulang perubahan.

Sudo Systemctl restart nginx 

Langkah 5 - Kelola Layanan

Kami telah selesai dengan pemasangan tumpukan lampu di Ubuntu 20.04 Sistem LTS. Perintah di bawah ini akan membantu Anda untuk memulai/menghentikan atau memulai kembali layanan Nginx dan MySQL yang berjalan dengan SystemD.

Untuk memulai kembali layanan Nginx dan MySQL, ketik:

sudo systemctl restart nginx sudo systemctl restart mysql 

Untuk memulai layanan Nginx dan MySQL, ketik:

sudo systemctl start nginx sudo systemctl mulai mysql 

Untuk menghentikan layanan Nginx dan MySQL, ketik:

sudo systemctl stop nginx sudo systemctl stop mysql 

Langkah 6 - Sesuaikan aturan firewall

Anda dapat secara langsung memberikan nama layanan seperti "http" atau "https" untuk mengizinkan. File firewalld menggunakan /etc /layanan untuk menentukan port layanan yang sesuai.

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https  sudo firewall-cmd --eload 

Langkah 7 - Verifikasi pengaturan

Setelah menyelesaikan semua pengaturan. Mari kita buat info.php File situs web dokumen root dengan konten berikut.

sudo echo "">/var/www/html/info.php 

Sekarang akses file ini di browser web. Anda akan melihat layar seperti di bawah ini dengan semua detail PHP di server.

Selamat! Anda telah berhasil mengonfigurasi server LEMP di Ubuntu 20 Anda.04 Sistem LTS.