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/mysqldJika tidak berjalan, mulai dengan perintah ini:
sudo systemctl start mariadbUntuk mengaktifkan MariaDB agar mulai otomatis saat boot, jalankan
sudo systemctl aktifkan mariadbSekarang jalankan skrip keamanan pasca instalasi.
sudo mysql_secure_installationSaat 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 rootUntuk keluar, jalankan
keluar;Periksa informasi versi server MariaDB.
mariadb --versionSeperti 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.2Langkah 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-curlEkstensi 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-fpmAktifkan mulai otomatis saat boot.
sudo systemctl aktifkan php7.2-fpmPeriksa status:
systemctl status php7.2-fpmContoh 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 wwwLangkah 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 disites-enabled
direktori dengan menjalankan perintah berikut. (Masih tersedia sebagai/etc/nginx/sites-available/default
.)sudo rm /etc/nginx/sites-enabled/defaultKemudian buat file blok server baru di bawah /etc/nginx/conf.d/ direktori.
sudo nano /etc/nginx/conf.d/default.confRekatkan 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 -tJika tes berhasil, muat ulang Nginx.
sudo systemctl reload nginxLangkah 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.phpRekatkan kode PHP berikut ke dalam file.
Simpan dan tutup file. Sekarang di bilah alamat browser, masukkan
server-ip-address/info.php
. Gantisever-ip-address
dengan IP Anda yang sebenarnya. Jika Anda mengikuti tutorial ini di komputer lokal Anda, ketik127.0.0.1/info.php
ataulocalhost/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.phpLangkah 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.