LEMP adalah kumpulan dari empat komponen perangkat lunak sumber terbuka yang digunakan bersama untuk meng-host situs web di Internet. Dalam tumpukan LEMP, L mewakili sistem operasi Linux, E mewakili server web Nginx, M mewakili server database MariaDB/MySQL, dan P mewakili bahasa pemrograman PHP. Karena semua komponen bersifat open-source di tumpukan LEMP, komponen ini digunakan dalam aplikasi berskala tinggi di seluruh web.
Dalam posting ini, kami akan menunjukkan cara menginstal LEMP stack di Oracle Linux 8.
Prasyarat
- Server yang menjalankan Oracle Linux 8 di Atlantic.Net Cloud Platform
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Oracle Linux 8 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Instal Nginx Web Server di Oracle Linux 8
Nginx adalah komponen pertama dari tumpukan LEMP. Secara default, paket Nginx disertakan dalam repositori default Oracle Linux 8. Anda dapat menginstalnya menggunakan perintah berikut:
dnf install nginx -y
Setelah Nginx terinstal, mulai layanan Nginx dan aktifkan untuk memulai saat sistem di-boot ulang.
systemctl start nginx systemctl enable nginx
Anda juga dapat memverifikasi status Nginx dengan perintah berikut:
systemctl status nginx
Untuk memverifikasi versi Nginx, jalankan perintah berikut:
nginx -v
Anda akan melihat output berikut:
nginx version: nginx/1.14.1
Sekarang, buka browser web Anda dan ketik URL http://your-server-ip . Anda akan melihat halaman default Nginx pada layar berikut:
Langkah 3 – Instal MariaDB Database Server di Oracle Linux 8
MariaDB adalah server database sumber terbuka yang digunakan untuk menyimpan konten situs web. Secara default, MariaDB disertakan dalam repositori default Oracle Linux 8. Anda dapat menginstalnya menggunakan perintah berikut:
dnf install mariadb-server mariadb -y
Setelah MariaDB terinstal, mulai layanan MariaDB dan aktifkan untuk memulai pada sistem reboot:
systemctl start mariadb systemctl enable mariadb
Anda dapat memeriksa status MariaDB menggunakan perintah berikut:
systemctl status mariadb
Anda akan mendapatkan perintah berikut:
● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-06-11 00:46:12 EDT; 6s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 27020 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 26883 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 26859 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 26988 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 11409) Memory: 80.0M CGroup: /system.slice/mariadb.service └─26988 /usr/libexec/mysqld --basedir=/usr
Anda juga dapat memverifikasi versi MariaDB dengan perintah berikut:
mysqladmin -V
Anda akan melihat output berikut:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Sekarang, Anda perlu mengamankan instalasi MariaDB. Anda dapat mengamankannya dengan perintah berikut:
mysql_secure_installation
Anda akan diminta untuk mengatur kata sandi root seperti yang ditunjukkan di bawah ini:
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
Selanjutnya, Anda akan diminta untuk menghapus pengguna anonim seperti yang ditunjukkan di bawah ini:
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y
Ketik Y dan tekan Enter. Anda akan diminta untuk melarang login root dari jarak jauh:
... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y
Ketik Y dan tekan tombol Enter. Anda akan diminta untuk menghapus database pengujian:
... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y
Tekan Y dan tekan tombol Enter. Anda akan diminta untuk memuat ulang tabel hak istimewa:
- Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y
Ketik Y dan tekan tombol Enter untuk mengamankan MariaDB.
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Langkah 4 – Instal PHP di Oracle Linux 8
Anda dapat menambahkannya dengan menjalankan perintah berikut:
dnf install epel-release -y dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Sekarang, daftarkan semua versi PHP yang tersedia pada output berikut:
dnf module list php
Anda akan melihat semua versi PHP yang tersedia di output berikut:
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 1.8 MB/s | 2.1 MB 00:01 Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language
Sekarang, reset modul PHP default dan aktifkan PHP versi 8.1 dengan perintah berikut:
dnf module reset php dnf module enable php:remi-8.1
Selanjutnya, instal PHP dengan ekstensi lain yang diperlukan menggunakan perintah berikut:
dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache -y
Selanjutnya, edit file konfigurasi default PHP-FPM dan ubah pengguna dari apache menjadi nginx:
nano /etc/php-fpm.d/www.conf
Ubah baris berikut:
user = nginx Group = nginx
Simpan dan tutup file, lalu jalankan layanan PHP-FPM dan aktifkan untuk memulai saat sistem reboot:
systemctl start php-fpm systemctl enable php-fpm
Langkah 5 – Buat Contoh Situs Web dengan Nginx
Di bagian ini, kami akan menunjukkan cara meng-host situs web sederhana menggunakan virtual host Nginx. Pertama, buat direktori untuk menyimpan konten situs web:
mkdir -p /var/www/html/website
Selanjutnya, ubah kepemilikan dan izin situs web menggunakan perintah berikut:
chown -R nginx:nginx /var/www/html/website chmod -R 755 /var/www/html/website
Selanjutnya, buat halaman PHP sederhana menggunakan perintah berikut:
nano /var/www/html/website/info.php
Tambahkan kode PHP berikut:
<?php phpinfo(); ?>
Simpan dan tutup file, lalu buat file konfigurasi virtual host Nginx:
nano /etc/nginx/conf.d/website.conf
Tambahkan baris berikut:
server { listen 80; server_name website.example.com; location / { root /var/www/html/website/; index info.php; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index info.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Simpan dan tutup file, lalu edit file konfigurasi utama Nginx:
nano /etc/nginx/nginx.conf
Tambahkan baris berikut setelah baris http {:
server_names_hash_bucket_size 64;
Simpan dan tutup file, lalu verifikasi konfigurasi Nginx menggunakan perintah berikut:
nginx -t
Anda akan melihat output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, restart layanan Nginx untuk menerapkan konfigurasi:
systemctl restart nginx
Langkah 6 – Verifikasi Situs Web Nginx
Sekarang, buka browser web Anda dan ketik URL http://website.example.com . Anda akan melihat halaman PHP pada layar berikut:
Kesimpulan
Dalam posting ini, kami belajar cara menginstal server LEMP di Oracle Linux 8. Sekarang Anda dapat menggunakan fitur hosting virtual Nginx untuk meng-host beberapa situs web pada satu mesin. Cobalah di hosting VPS dari Atlantic.Net!