Tutorial ini akan menunjukkan cara menginstal Nginx, MariaDB dan PHP7.1 (LEMP) di Ubuntu 17.10. Anda dapat mengikuti tutorial ini di VPS (Virtual Private Server) atau di komputer lokal Ubuntu 17.10. PHP7.1 disertakan dalam Ubuntu 17.10 dan memiliki sedikit peningkatan kinerja dibandingkan PHP7.0.
Langkah 1:Perbarui Paket Perangkat Lunak
Sebelum kita menginstal LEMP stack, ada baiknya untuk memperbarui repositori dan paket perangkat lunak. Jalankan perintah berikut di OS Ubuntu 17.10 Anda.
sudo apt update sudo 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. Masukkan perintah ini untuk menginstal server Web Nginx.
sudo apt install nginx
Setelah terinstal, kita dapat mengaktifkan Nginx untuk memulai otomatis saat Ubuntu di-boot dengan menjalankan perintah berikut.
sudo systemctl enable nginx
Kemudian mulai Nginx dengan perintah ini:
sudo systemctl start nginx
Sekarang periksa statusnya.
systemctl status nginx
Keluaran:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en Active: active (running) since Tue 2017-12-12 06:17:50 UTC; 51s ago Docs: man:nginx(8) Main PID: 15672 (nginx) Tasks: 2 (limit: 4915) Memory: 6.3M CPU: 37ms CGroup: /system.slice/nginx.service ├─15672 nginx: master process /usr/sbin/nginx -g daemon on; master_pr └─15675 nginx: worker process
“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:
nginx version: nginx/1.12.1 (Ubuntu)
Sekarang ketikkan alamat IP publik server Ubuntu 17.10 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 17.10 lokal, ketik 127.0.0.1
atau localhost
di bilah alamat browser.
Terakhir, kita perlu membuat www-data
(Pengguna Nginx) sebagai pemilik direktori root 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 17.10.
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 - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:enabled) Active: active (running) since Tue 2017-12-12 06:36:12 UTC; 6s ago Main PID: 17409 (mysqld) Status: "Taking your SQL requests now..." Tasks: 26 (limit: 4915) Memory: 59.9M CPU: 342ms CGroup: /system.slice/mariadb.service └─17409 /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 enable 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 menekan Enter sama dengan mengetik di Y. )
Secara default, paket MaraiDB di Ubuntu menggunakan unix_socket untuk mengotentikasi 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
exit;
Periksa informasi versi server MariaDB.
mariadb --version
Seperti yang Anda lihat, kami telah menginstal MariaDB 10.1.25.
mariadb Ver 15.1 Distrib 10.1.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Langkah 4:Instal PHP7.1
PHP7.1 disertakan dalam repositori Ubuntu 17.10 dan memiliki sedikit peningkatan kinerja dibandingkan PHP7.0. Masukkan perintah berikut untuk menginstal PHP7.1 dan beberapa ekstensi umum.
sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
Ekstensi PHP biasanya dibutuhkan untuk sistem manajemen konten (CMS) seperti WordPress. Misalnya, jika instalasi Anda tidak memiliki php7.1-xml
, maka beberapa halaman situs WordPress Anda mungkin kosong dan Anda dapat menemukan kesalahan di log kesalahan Nginx seperti:
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
Memasang ekstensi PHP ini memastikan CMS Anda berjalan dengan lancar. Sekarang mulai php7.1-fpm.
sudo systemctl start php7.1-fpm
Aktifkan mulai otomatis saat boot.
sudo systemctl enable php7.1-fpm
Periksa status:
systemctl status php7.1-fpm
Contoh keluaran:
● php7.1-fpm.service - The PHP 7.1 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.1-fpm.service; enabled; vendor preset:enabled) Active: active (running) since Tue 2017-12-12 06:53:08 UTC; 4min 25s ago Docs: man:php-fpm7.1(8) Main PID: 27560 (php-fpm7.1) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se Tasks: 3 (limit: 4915) Memory: 28.0M CPU: 58ms CGroup: /system.slice/php7.1-fpm.service ├─27560 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf) ├─27580 php-fpm: pool www └─27583 php-fpm: pool 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. Ganti 12.34.56.78 dengan alamat IP server Anda yang sebenarnya.
server { listen 80; listen [::]:80; server_name 12.34.56.78; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } location ~ /\.ht { deny all; } }
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.
<?php phpinfo(); ?>
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.
Cara Menginstal PHP7.2
PHP7.2 adalah versi stabil terbaru dari PHP, dirilis pada 30 November 2017 dan memiliki sedikit peningkatan kinerja dibandingkan PHP7.1. Kita dapat menambahkan PPA dari Ondrej Sury untuk menginstal PHP7.2 di Ubuntu 17.10. Orang itu juga pengelola Certbot PPA.
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update
Kemudian kita dapat menginstal PHP7.2 dan ekstensi umum dengan menggunakan perintah berikut.
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
Sekarang mulai PHP7.2-FPM.
sudo systemctl start php7.2-fpm
Aktifkan mulai otomatis pada waktu boot sistem.
sudo systemctl enable php7.2-fpm
Periksa statusnya:
systemctl status php7.2-fpm
Menggunakan PHP7.2-FPM dengan Nginx
Untuk membuat Nginx menggunakan PHP7.2-FPM, bukan PHP7.1-FPM, kita perlu mengedit file blok server Nginx.
sudo nano /etc/nginx/conf.d/default.conf
Temukan baris berikut.
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
Ubah php7.1-fpm
ke php7.2-fpm
.
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
Simpan dan tutup file. Kemudian muat ulang Nginx agar perubahan diterapkan.
sudo systemctl reload nginx
Jika Anda menyegarkan server-ip-address/info.php
halaman, Anda akan melihat Nginx sekarang menggunakan PHP7.2-FPM.
PHP7.1 dapat hidup berdampingan dengan PHP7.2. Jika Anda tidak ingin menggunakan PHP7.1, Anda dapat menghapusnya. Harap berhati-hati bahwa beberapa aplikasi web mungkin tidak kompatibel dengan PHP7.2 seperti NextCloud 12. Dalam pengujian saya, WordPress berjalan dengan baik dengan PHP7.2.
Selamat! Anda telah berhasil menginstal Nginx, MariaDB dan PHP7 di Ubuntu 17.10. Untuk keamanan server Anda, Anda harus menghapus file info.php sekarang untuk mencegah pengintaian.
sudo rm /usr/share/nginx/html/info.php
Itu dia! Saya harap tutorial ini membantu Anda menginstal LEMP stack di Ubuntu 17.10 . Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik.