Menginstal LEMP (Nginx, PHP, MySQL dengan mesin MariaDB dan PhpMyAdmin) di Arch Linux
Karena model Rilis Bergulir yang mencakup perangkat lunak mutakhir Arch Linux tidak dirancang dan dikembangkan untuk dijalankan sebagai server guna menyediakan layanan jaringan yang andal karena memerlukan waktu ekstra untuk pemeliharaan, peningkatan konstan, dan konfigurasi file yang masuk akal.
Namun, tetap saja, karena Arch Linux hadir dengan instalasi inti CD dengan sedikit perangkat lunak pra-instal, ini dapat mewakili titik awal yang kuat untuk menginstal sebagian besar layanan jaringan populer saat ini, termasuk < b>LEMP atau LAMP, Apache Web Server, Nginx, PHP, database SQL, Samba, server FTP, BIND dan lain-lain, banyak di antaranya disediakan dari Arch Repositori resmi Linux dan lainnya dari AUR.
Tutorial ini akan memandu cara menginstal dan mengkonfigurasi tumpukan LEMP (Nginx, PHP , MySQL dengan mesin MariaDB dan PhpMyAdmin) dari jarak jauh menggunakan SSH, yang dapat memberikan landasan yang kuat untuk membangun Aplikasi Server Web.
Persyaratan
Panduan Instalasi Arch Linux sebelumnya, kecuali bagian terakhir tentang jaringan dengan DHCP.
Langkah 1: Tetapkan IP Statis pada Antarmuka Jaringan
1. Setelah instalasi inti Arch Linux minimal, boot ulang server Anda, masuk dengan akun root atau akun sudo administratif yang setara, dan identifikasi nama perangkat NIC sistem Anda menggunakan tautan ip perintah.
ip link
2. Untuk menetapkan konfigurasi jaringan statis kita akan menggunakan paket Netctl untuk mengelola koneksi jaringan. Setelah Anda berhasil mengidentifikasi nama Antarmuka Jaringan Anda, salin templat file ethernet-static ke jalur sistem netctl dan ubah namanya menjadi skema penamaan deskriptif ( coba gunakan string “statis” yang digabungkan dengan nama NIC), dengan mengeluarkan perintah berikut.
cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens33
3. Langkah selanjutnya adalah mengedit file template baru ini dengan mengubah arahan file dan memberikan pengaturan jaringan Anda yang sebenarnya ( Antarmuka, IP/Netmask, Gateway, Broadcast, DNS) seperti pada kutipan di bawah ini.
nano /etc/netctl/static.ens33
Description='A basic static ethernet connection for ens33'
Interface=ens33
Connection=ethernet
IP=static
Address=('192.168.1.33/24')
Gateway='192.168.1.1'
Brodcast='192.168.1.255'
DNS=('192.168.1.1' '8.8.8.8')
4. Langkah selanjutnya adalah memulai koneksi jaringan Anda melalui alat sistem netctl dan memverifikasi konektivitas sistem Anda dengan mengeluarkan perintah berikut.
netctl start static.ens33
netctl status static.ens33
5. Jika Anda mendapatkan status keluar hijau aktif, Anda telah berhasil mengonfigurasi Antarmuka Jaringan dan inilah waktunya untuk mengaktifkannya secara otomatis pada layanan seluruh sistem. Uji juga jaringan Anda dengan menjalankan perintah ping terhadap nama domain dan juga, instal paket net-tools (fitur paling terkenal dari paket ini adalah perintah ifconfig yang Arch pengembang dianggap sudah tidak digunakan lagi dan menggantinya dengan iproute2).
Aktifkan konfigurasi NIC di seluruh sistem
netctl enable static.ens33
Instal paket net-tools
pacman -S net-tools
6. Sekarang Anda dapat menjalankan perintah ifconfig untuk memverifikasi pengaturan Antarmuka Jaringan Anda dan memeriksa apakah semuanya ditampilkan dengan benar, lalu boot ulang sistem Anda untuk memastikan semuanya sudah siap dan dikonfigurasi dengan benar.
ping linux-console.net
Langkah 2: Instal Perangkat Lunak LEMP
Seperti yang ditunjukkan dalam artikel ini, pendahuluan LEMP adalah singkatan dari Linux+Nginx+PHP/PhpMyAdmin+MySQL/MariaDB yang merupakan salah satu platform aplikasi web yang paling banyak tersebar saat ini setelah LAMP (the tumpukan yang sama dengan Apache dalam persamaan).
7. Sebelum benar-benar menginstal tumpukan LEMP kita perlu memperbarui sistem dan kemudian mendapatkan kendali jarak jauh ke server Arch Linux. Seperti yang mungkin Anda ketahui OpenSSH adalah kandidat utama untuk pekerjaan ini, jadi lanjutkan dan instal, mulai daemon SSH dan aktifkan di seluruh sistem.
sudo pacman -Syu
sudo pacman –S openssh
sudo systemctl start sshd
sudo systemctl status sshd
sudo systemctl enable sshd
Sekarang saatnya melanjutkan instalasi LEMP. Karena tutorial ini dimaksudkan sebagai panduan komprehensif, saya akan membagi instalasi tumpukan LEMP menjadi bagian-bagian kecil, langkah demi langkah.
8. Pertama-tama instal Nginx Web Server, lalu jalankan dan verifikasi statusnya dengan mengeluarkan perintah berikut.
sudo pacman -S nginx
sudo systemctl start nginx
sudo systemctl status nginx
9. Layanan selanjutnya yang akan diinstal adalah database MySQL. Keluarkan perintah berikut untuk menginstal server database MySQL dan pilih mesin MariaDB, lalu mulai dan verifikasi status daemon.
sudo pacman -S mysql
sudo systemctl start mysqld
sudo systemctl status mysqld
10. Langkah selanjutnya adalah menyediakan lingkungan yang sangat aman untuk database MySQL dengan memberikan kata sandi untuk akun root MySQL, menghapus akun pengguna anonim, menghapus database pengujian dan akun root yang dapat diakses dari luar localhost. Jalankan perintah berikut untuk meningkatkan keamanan MySQL, tekan [Enter] untuk kata sandi akun root saat ini, lalu jawab Ya untuk semua pertanyaan (juga siapkan kata sandi akun root Anda).
sudo mysql_secure_installation
Catatan: Jangan samakan akun root MySQL dengan akun root sistem Linux – keduanya adalah hal yang berbeda – tidak terlalu berbeda tetapi keduanya berjalan pada level yang berbeda.
Untuk memverifikasi keamanan MySQL saat login ke database menggunakan sintaks perintah mysql -u root -p, berikan kata sandi root Anda lalu keluar dari database dengan perintah exit;.
mysql -u root -p
11. Sekarang saatnya menginstal bahasa skrip sisi server PHP agar dapat mengembangkan dan menjalankan aplikasi web dinamis yang kompleks, tidak hanya melayani HTML/CSS kode.
Karena kita menggunakan Nginx sebagai server web, kita perlu menginstal modul yang didukung PHP-FPM untuk berkomunikasi melalui Fast Common Gateway dan mengubah konten dinamis yang dihasilkan oleh skrip PHP.
Keluarkan baris perintah berikut untuk menginstal layanan PHP-FPM, lalu mulai daemon dan verifikasi status.
sudo pacman –S php php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm
Untuk membuat daftar semua modul PHP yang tersedia, jalankan perintah berikut.
sudo pacman –S php[TAB]
sudo pacman –Ss | grep php
12. Salah satu langkah terakhir adalah menginstal Antarmuka Web PhpMyAdmin untuk database MySQL. Keluarkan perintah berikut untuk menginstal PhpMyAdmin bersama dengan modul PHP yang diperlukan, lalu buat tautan simbolis untuk jalur sistem PhpMyAdmin ke jalur root default Nginx.
pacman -S phpmyadmin php-mcrypt
sudo ln -s /usr/share/webapps/phpMyAdmin /usr/share/nginx/html
13. Kemudian konfigurasikan file php.ini untuk menyertakan ekstensi yang diperlukan oleh aplikasi PhpMyAdmin.
sudo nano /etc/php/php.ini
Temukan dengan tombol [CTRL+W] dan batalkan komentar (hapus ; di awal baris) baris berikut.
extension=mysqli.so
extension=mysql.so
extension=mcrypt.so
mysqli.allow_local_infile = On
Pada file yang sama cari dan edit open_basedir direktif agar menyerupai dengan direktori yang disertakan berikut ini.
open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/
14. Langkah selanjutnya adalah mengaktifkan PHP-FPM FastCGI pada arahan localhost Nginx. Keluarkan perintah selanjutnya untuk mem-backup konfigurasi file server web nginx.conf lalu ganti dengan konten berikut.
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo nano /etc/nginx/nginx.conf
Tambahkan seluruh konten berikut di nginx.conf.
#user html;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
charset koi8-r;
location / {
index index.php index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ /\.ht {
deny all;
}
}
}
15. Setelah semua konfigurasi file dibuat, yang perlu Anda lakukan hanyalah memulai ulang layanan Nginx dan PHP-FPM dan arahkan browser Anda ke URL http://localhost/phpmyadmin dari node lokal atau http://arch_IP/phpmyadmin dari komputer lain.
sudo systemctl restart php-fpm
sudo systemctl restart nginx
16. Jika semuanya berjalan sebagaimana mestinya, langkah terakhir adalah mengaktifkan LEMP seluruh sistem dengan perintah berikut.
sudo systemctl enable php-fpm
sudo systemctl enable nginx
sudo systemctl enable mysqld
Selamat! Anda telah menginstal dan mengkonfigurasi LEMP di Arch Linux dan, sekarang, Anda memiliki antarmuka dinamis penuh untuk memulai dan mengembangkan aplikasi web.
Meskipun Arch Linux bukan sistem yang paling cocok untuk dijalankan pada server produksi karena model rilis bergulirnya yang berorientasi pada komunitas, ia dapat menjadi sumber yang sangat cepat dan andal untuk lingkungan produksi kecil yang tidak kritis.