GNU/Linux >> Belajar Linux >  >> Ubuntu

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

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.


Ubuntu
  1. Cara Menginstal LEMP di Ubuntu 18.04

  2. Cara Menginstal Magento 2.4 dengan LEMP Stack di Ubuntu 20.04

  3. Cara Instal LEMP Stack Nginx, MySQL, PHP di Ubuntu 22.04

  1. Cara Memasang LEMP Stack di Arch Linux

  2. Cara Menginstal Nginx, MariaDB, PHP (LEMP Stack) di Debian 11

  3. Cara Menginstal LEMP Stack di Ubuntu 16.04

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

  2. Cara Menginstal LEMP Stack di Ubuntu 20.04

  3. Instal WordPress di Ubuntu 20.04 dengan Nginx, MariaDB, PHP7.4 (LEMP)