GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal LEMP Stack (Nginx, MariaDB, PHP7.2) di Ubuntu 18.04 LTS

Tutorial ini akan menunjukkan cara menginstal Nginx, MariaDB dan PHP7.2 (LEMP) di Ubuntu 18.04. Tumpukan perangkat lunak adalah seperangkat alat perangkat lunak yang dibundel bersama. LEMP adalah singkatan dari Linux, Nginx (Engine-X), MariaDB/MySQL dan PHP, yang semuanya open source dan gratis untuk digunakan. Ini adalah tumpukan perangkat lunak paling umum yang mendukung situs web dinamis dan aplikasi web. Linux adalah sistem operasinya; Nginx adalah server webnya; MariaDB/MySQL adalah server database dan PHP adalah bahasa skrip sisi server yang bertanggung jawab untuk menghasilkan halaman web dinamis.

Prasyarat

Untuk mengikuti tutorial ini, Anda harus menjalankan OS Ubuntu 18.04 di komputer lokal Anda atau di server jarak jauh. Jika Anda mencari VPS (Virtual Private Server), maka Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis $50 di DigitalOcean. (Hanya untuk pengguna baru). Jika Anda sudah menjadi pengguna DigitalOcean, Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis senilai $50 di Vultr (hanya untuk pengguna baru). Tanpa basa-basi lagi, mari kita mulai.

Langkah 1:Perbarui Paket Perangkat Lunak

Sebelum kita menginstal LEMP stack, merupakan praktik yang baik untuk memperbarui repositori dan paket perangkat lunak dengan menjalankan perintah berikut di OS Ubuntu 18.04 Anda.

sudo apt updatesudo apt upgrade

Langkah 2:Instal Server Web Nginx

Nginx adalah server web berkinerja tinggi dan sangat populer saat ini. Itu juga dapat digunakan sebagai proxy terbalik dan server caching. Masukkan perintah ini untuk menginstal server Web Nginx.

sudo apt install nginx

Setelah diinstal, kita dapat mengaktifkan Nginx untuk memulai otomatis saat Ubuntu di-boot dengan menjalankan perintah berikut.

sudo systemctl aktifkan nginx

Kemudian mulai Nginx dengan perintah ini:

sudo systemctl start nginx

Sekarang periksa statusnya.

systemctl status nginx

Keluaran:

● nginx.service - Server web berkinerja tinggi dan server proxy terbalik Dimuat:dimuat (/lib/systemd/system/nginx.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Kamis 2018- 17-05-02:20:05 UTC; 2 menit 56 detik yang lalu Dokumen:man:nginx(8) PID Utama:19851 (nginx) Tugas:2 (batas:2059) CGroup:/system.slice/nginx.service 19851 nginx:master process /usr/sbin/nginx - g daemon aktif; master_proses aktif; 19853 nginx:proses pekerja

Diaktifkan ” menunjukkan bahwa mulai otomatis saat boot diaktifkan dan kita dapat melihat bahwa Nginx sedang berjalan. Perhatikan bahwa perintah di atas tidak akan langsung berhenti setelah dijalankan. Anda perlu menekan “q ” untuk membuatnya berhenti.

Periksa versi Nginx.

nginx -v

Keluaran:

versi nginx:nginx/1.14.0 (Ubuntu)

Sekarang ketikkan alamat IP publik server Ubuntu 18.04 Anda di bilah alamat browser. Anda akan melihat halaman Web “Selamat datang di Nginx”, yang berarti server Web Nginx berjalan dengan baik. Jika Anda menginstal LEMP di komputer Ubuntu 18.04 lokal, ketik 127.0.0.1 atau localhost di bilah alamat browser.

Perhatikan bahwa beberapa penyedia server cloud mungkin memblokir semua lalu lintas masuk secara default, jadi jika browser Anda tidak dapat terhubung ke server web Nginx, Anda mungkin perlu menyetel aturan firewall di panel kontrol.

Terakhir, kita perlu membuat www-data (Pengguna Nginx) sebagai pemilik direktori web. Secara default dimiliki oleh pengguna root.

sudo chown www-data:www-data /usr/share/nginx/html -R

Langkah 3:Instal Server Database MariaDB

MariaDB adalah pengganti drop-in untuk MySQL. Ini dikembangkan oleh mantan anggota tim MySQL yang khawatir bahwa Oracle mungkin mengubah MySQL menjadi produk sumber tertutup. Masukkan perintah berikut untuk menginstal MariaDB di Ubuntu 18.04.

sudo apt install mariadb-server mariadb-client

Setelah terinstal, server MariaDB akan otomatis menatap. Gunakan systemctl untuk memeriksa statusnya.

systemctl status mariadb

Keluaran:

● mariadb.service - server database MariaDB Dimuat:dimuat (/lib/systemd/system/mariadb.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Kamis 17-05-2018 02:39:57 UTC; 49 detik yang lalu PID Utama:21595 (mysqld) Status:"Menerima permintaan SQL Anda sekarang..." Tugas:27 (batas:2059) CGroup:/system.slice/mariadb.service 21595 /usr/sbin/mysqld 

Jika tidak berjalan, mulai dengan perintah ini:

sudo systemctl start mariadb

Untuk mengaktifkan MariaDB agar mulai otomatis saat boot, jalankan

sudo systemctl aktifkan mariadb

Sekarang jalankan skrip keamanan pasca instalasi.

sudo mysql_secure_installation

Saat diminta untuk memasukkan kata sandi root MariaDB, tekan tombol Enter karena kata sandi root belum disetel. Kemudian masukkan y untuk mengatur kata sandi root untuk server MariaDB.

Selanjutnya, Anda dapat menekan Enter untuk menjawab semua pertanyaan yang tersisa, yang akan menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian. Langkah ini merupakan persyaratan dasar untuk keamanan database MariaDB. (Perhatikan bahwa Y dikapitalisasi, yang berarti itu adalah jawaban default. )

Secara default, paket MaraiDB di Ubuntu menggunakan unix_socket untuk mengautentikasi login pengguna, yang pada dasarnya berarti Anda dapat menggunakan nama pengguna dan kata sandi OS untuk masuk ke konsol MariaDB. Jadi Anda dapat menjalankan perintah berikut untuk login tanpa memberikan kata sandi root MariaDB.

sudo mariadb -u root

Untuk keluar, jalankan

keluar;

Periksa informasi versi server MariaDB.

mariadb --version

Seperti yang Anda lihat, kami telah menginstal MariaDB 10.1.29.

mariadb Ver 15.1 Distrib 10.1.29-MariaDB, untuk debian-linux-gnu (x86_64) menggunakan readline 5.2

Langkah 4:Instal PHP7.2

PHP7.2 disertakan dalam repositori Ubuntu 18.04 dan memiliki sedikit peningkatan kinerja dibandingkan PHP7.1. Masukkan perintah berikut untuk menginstal php7.2 dan beberapa ekstensi umum.

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2 -mbstring php7.2-xml php7.2-gd php7.2-curl

Ekstensi PHP biasanya dibutuhkan untuk sistem manajemen konten (CMS) seperti WordPress. Misalnya, jika instalasi Anda tidak memiliki php7.2-xml , maka beberapa halaman situs WordPress Anda mungkin kosong dan Anda dapat menemukan kesalahan di log kesalahan Nginx seperti:

Pesan PHP:PHP Kesalahan fatal:  Kesalahan Tidak Tertangkap:Panggilan ke fungsi yang tidak ditentukan xml_parser_create()

Memasang ekstensi PHP ini memastikan CMS Anda berjalan dengan lancar. Sekarang mulai php7.2-fpm.

sudo systemctl start php7.2-fpm

Aktifkan mulai otomatis saat boot.

sudo systemctl aktifkan php7.2-fpm

Periksa status:

systemctl status php7.2-fpm

Contoh keluaran:

● php7.2-fpm.service - Manajer Proses FastCGI PHP 7.2 Dimuat:dimuat (/lib/systemd/system/php7.2-fpm.service; diaktifkan; vendor prese Aktif:aktif (berjalan) sejak Kamis 2018 -05-17 03:04:46 UTC; 2 menit 43 detik yang lalu Dokumen:man:php-fpm7.2(8) PID Utama:31922 (php-fpm7.2) Status:"Proses aktif:0, idle:2, Permintaan :0, lambat:0, Lalu lintas:0req/se Tugas:3 (batas:2059) CGroup:/system.slice/php7.2-fpm.service 31922 php-fpm:master process (/etc/php/7.2 /fpm/php-fpm.conf) 31939 php-fpm:kumpulan www 31940 php-fpm:kumpulan www

Langkah 5:Buat Blok Server Nginx

Blok server Nginx seperti host virtual di Apache. Kami tidak akan menggunakan blok server default karena tidak memadai untuk menjalankan kode PHP dan jika kami memodifikasinya menjadi berantakan. Jadi hapus default symlink di sites-enabled direktori dengan menjalankan perintah berikut. (Masih tersedia sebagai /etc/nginx/sites-available/default .)

sudo rm /etc/nginx/sites-enabled/default

Kemudian buat file blok server baru di bawah /etc/nginx/conf.d/ direktori.

sudo nano /etc/nginx/conf.d/default.conf

Rekatkan teks berikut ke dalam file. Cuplikan berikut akan membuat Nginx mendengarkan pada port IPv4 80 dan IPv6 port 80 dengan nama server yang menangkap semua.

server { dengarkan 80; dengarkan [::]:80; nama server _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; lokasi / { try_files $uri $uri/ /index.php; } lokasi ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; termasuk fastcgi_params; sertakan snippets/fastcgi-php.conf; } # Masa pakai cache browser yang lama dapat mempercepat kunjungan berulang ke lokasi halaman Anda ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log mati; log_not_ditemukan mati; berakhir 360d; } # nonaktifkan akses ke lokasi file tersembunyi ~ /\.ht { access_log off; log_not_ditemukan mati; menyangkal semua; }}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika tes berhasil, muat ulang Nginx.

sudo systemctl reload nginx

Langkah 6:Uji PHP

Untuk menguji PHP-FPM dengan server Web Nginx, kita perlu membuat info.php file di direktori root dokumen.

sudo nano /usr/share/nginx/html/info.php

Rekatkan kode PHP berikut ke dalam file.

Simpan dan tutup file. Sekarang di bilah alamat browser, masukkan server-ip-address/info.php . Ganti sever-ip-address dengan IP Anda yang sebenarnya. Jika Anda mengikuti tutorial ini di komputer lokal Anda, ketik 127.0.0.1/info.php atau localhost/info.php .

Anda akan melihat informasi PHP server Anda. Ini berarti skrip PHP dapat berjalan dengan baik dengan server web Nginx.

Selamat! Anda telah berhasil menginstal Nginx, MariaDB dan PHP7.2 di Ubuntu 18.04. Untuk keamanan server Anda, Anda harus menghapus info.php file sekarang untuk mencegah peretas melihatnya.

sudo rm /usr/share/nginx/html/info.php

Langkah Selanjutnya

Anda mungkin ingin menginstal phpMyAdmin, yang merupakan panel admin berbasis web untuk server database MySQL/MariaDB.

  • Cara Menginstal phpMyAdmin dengan Nginx (LEMP) di Ubuntu 18.04 LTS

Anda juga dapat menginstal WordPress di atas tumpukan LEMP untuk membuat situs web atau blog Anda sendiri.

  • Instal WordPress di Ubuntu 18.04 dengan Nginx, MariaDB, PHP7.2 (LEMP)

Itu dia! Saya harap tutorial ini membantu Anda menginstal tumpukan LEMP di Ubuntu 18.04 LTS . Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati.


Ubuntu
  1. Cara Menginstal Nginx di Ubuntu 20.04

  2. Cara Menginstal MariaDB di Ubuntu 20.04

  3. Cara Menginstal LEMP di Ubuntu 16.04

  1. Cara Menginstal Nextcloud dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal LEMP Stack di Ubuntu 16.04

  3. Cara Instal Linux, Nginx, MySQL, PHP (LEMP Stack) di Ubuntu 18.04

  1. Instal Nginx, MySQL, PHP (LEMP Stack) Di Ubuntu 20.04 LTS

  2. Cara Menginstal LEMP Stack di Ubuntu 20.04

  3. Cara Menginstal LEMP Stack (Nginx, MariaDB, PHP7.1) di Ubuntu 17.10