GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal WordPress di Nginx Ubuntu

Nginx adalah server web terkenal yang digunakan untuk melayani halaman web di Internet. Nginx, yang pertama kali diluncurkan pada Oktober 2004, dengan cepat menjadi server web dan server proxy pilihan bagi ribuan pengembang web. Ini memiliki sejumlah keunggulan dibandingkan pesaingnya Apache. Pada artikel ini, kita akan mempelajari cara menginstal Nginx di Ubuntu dan menggunakannya untuk menghosting WordPress.

Sebelum kita mulai, izinkan saya menyatakan dengan tegas bahwa ini bukan perbandingan Nginx vs Apache atau server web lainnya. Apache diperkenalkan pada tahun 1999 dan menawarkan beberapa fitur yang berguna. Jika Anda ingin menginstal WordPress di Apache, kami sudah memiliki artikel tentang masalah ini, jadi periksalah.

Nginx pertama kali diluncurkan pada Oktober 2004, sekitar 17 tahun yang lalu. Sebagian besar pengembang web menyukai Nginx karena kapasitasnya untuk menangani beberapa permintaan klien secara bersamaan dengan cepat dengan sumber daya perangkat keras yang terbatas, membuat hosting situs web di Internet lebih murah. Nginx juga dapat digunakan sebagai proxy terbalik, mengarahkan permintaan klien ke server hosting utama, yang tidak memiliki akses Internet publik, membuat server hosting lebih aman daripada yang seharusnya.

Prasyarat untuk menginstal WordPress di Nginx

Pada artikel ini, kita akan menggunakan sistem operasi Ubuntu, PHP 8.1, Nginx, dan WordPress. Jika Anda tidak tahu apa itu WordPress, kami telah membahas WordPress dalam serangkaian artikel, WordPress 101.

  • Ubuntu 20.04
  • Nginx
  • PHP 8
  • WordPress

Ubuntu 20.04 adalah rilis dukungan jangka panjang dari Ubuntu. Jika Anda memerlukan bantuan untuk menginstal Ubuntu, silakan merujuk ke artikel ini di LinuxAndUbuntu. Setelah Anda menginstal Ubuntu, kita dapat melanjutkan untuk menginstal sisa paket yang diperlukan.

Jika Anda menggunakan layanan cloud seperti AWS, Google Cloud Platform, Linode, DigitalOcean, atau MassiveGRID, Anda dapat melewati tahap penginstalan. Semua penyedia cloud mendukung instalasi server Ubuntu sekali klik dengan Nginx. Jadi gunakan Ubuntu 20.04, dengan nama kode sebagai Focal Fossa. Sebagian besar penyedia cloud melakukan pra-instal firewall UFW di Ubuntu secara default. Saya sarankan Anda mengaktifkan firewall untuk meningkatkan keamanan server dan mengizinkan port TCP yang tercantum di bawah.

Jika UFW belum diinstal sebelumnya, jangan ragu untuk menginstalnya dari repositori –

apt install ufw
ufw enable
ufw allow http
ufw allow https
ufw allow 22

http dan https adalah port 80 dan port 443. Port 22 untuk koneksi SSH ke server. Jika server Anda menggunakan port khusus untuk ssh, izinkan port ssh khusus sebelum menutup koneksi SSH saat ini. Setelah mengaktifkan firewall UFW, itu akan memblokir semua port kecuali diizinkan secara manual. Jadi, setelah Anda menutup koneksi SSH yang sedang berlangsung, akses SSH tidak akan diizinkan hingga port SSH diizinkan.

Juga, perbarui sistem operasi untuk memastikan server sepenuhnya ditambal dengan pembaruan keamanan terbaru.

apt upgrade
apt upgrade
Pemberitahuan
Tidak disarankan untuk login sebagai root dan melakukan tindakan di server. Jadi siapkan akun pengguna baru dan berikan sudo hak istimewa.
adduser username

Perintah di atas akan memulai proses pembuatan pengguna. Ikuti instruksi sederhana dan kemudian berikan sudo kepada pengguna yang baru dibuat hak istimewa menggunakan perintah berikut –

usermod -aG sudo username

Sekarang reboot server dan ssh ke server dengan akun pengguna baru.

Instal Nginx

Menginstal Nginx sama dengan menginstal paket lain di sistem. Gunakan manajer paket apt untuk menginstal nginx dari repositori –

sudo apt install nginx

Setelah proses instalasi selesai, mulai/restart server menggunakan perintah berikut –

service nginx restart
service nginx status

Kunjungi alamat IP untuk memastikan server berfungsi dengan baik. Berikut ini adalah halaman nginx default yang mengonfirmasi berfungsinya nginx di server.

Konfigurasikan Nginx untuk melayani WordPress

Nginx dapat dengan mudah menangani banyak situs web di server yang sama menggunakan host virtual. Secara default, nginx membuat profil default yang menampilkan halaman selamat datang Nginx di atas. Kami akan menonaktifkan profil default terlebih dahulu, lalu membuat profil baru untuk menangani WordPress.

sudo unlink /etc/nginx/sites-enabled/default

Perintah di atas akan menonaktifkan profil Nginx default. Sekarang buat profil baru untuk instalasi WordPress kami.

sudo nano /etc/nginx/sites-available/example.com

Sekarang rekatkan konfigurasi berikut di editor teks.

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }
}

Sebelum Anda menyimpan file di atas, harap dipahami apa yang dilakukan konfigurasi di atas. Setelah kita mengaktifkan konfigurasi ini, Nginx akan mulai mencari permintaan untuk nama domain yang disebutkan sebagai nilai server_name dalam konfigurasi.

nama_server => nama domain untuk situs web kami
root => direktori root situs web kami disimpan di server
indeks => file yang akan dicari di root website
lokasi => blok lokasi memproses URI permintaan (Agak rumit dan memerlukan artikel terpisah tentang fungsinya)

Ganti gaminggroup.online dengan nama domain Anda sendiri. Dengan opsi root, kami telah menetapkan bahwa root situs web kami terletak di dalam /var/www/gaminggroup.online . Jadi pada langkah selanjutnya, kita akan membuat direktori website di /var/www .

Sekarang simpan file konfigurasi dengan ctrl + x dan tekan Enter .

Buat direktori Root Situs Web

sudo mkdir /var/www/gaminggroup.online

Sekarang setiap kali seseorang mengunjungi situs web kami example.com, berdasarkan permintaan, nginx akan menyajikan konten kepada pengguna dari /var/www/gaminggroup.online ini direktori. Untuk menguji konfigurasi kami, buat contoh index.html di dalam root situs web kami (/var/www/gaminggroup.online).

sudo nano /var/www/gaminggroup.online/index.html

Rekatkan contoh HTML berikut ke dalam file dan simpan.

<h2>Hello world!</h2>
<p>This is a test page for gaminggroup.online</p>

Sebelum menguji apakah semuanya berfungsi dengan baik, mari kita atur izin yang benar pada direktori root situs web sehingga server dapat mengakses file di dalamnya.

sudo chown -R www-data:www-data /var/www/gaminggroup.online/index.html

Periksa konfigurasi Nginx apakah ada kesalahan –

sudo ln -s /etc/nginx/sites-available/gaminggroup.online /etc/nginx/sites-enabled/
sudo nginx -t

Jika tidak ada kesalahan dalam konfigurasi, kami siap melakukannya. Kunjungi nama domain dan Anda akan melihat contoh halaman index.html yang kami siapkan.

sudo service nginx restart

Tangkapan layar di atas mengkonfirmasi keberhasilan kerja konfigurasi kami. Sekarang kita dapat melanjutkan ke persiapan untuk instalasi WordPress.

Mari instal server database dan buat database untuk WordPress.

Instal server MariaDB

sudo apt install mariadb-server

Jalankan mysql_secure_installation ke server setup'.

sudo mysql_secure_installation

Anda dapat membuat kata sandi pengguna root MySQL. Jika Anda tidak ingin membuat kata sandi pengguna root, cukup login ke pengguna root MySQL dengan menggunakan sudo msyql .

Jika Anda membuat kata sandi pengguna root, lalu login ke pengguna root menggunakan perintah berikut –

mysql -u root -p

Or

sudo mysql (type sudo password when prompted)

Buat basis data –

create database wordpress;
Kiat
Sangat disarankan untuk membuat pengguna MySQL baru untuk database WordPress.

Buat pengguna MySQL –

create user 'sandy'@'localhost' identified by 'password';

Berikan hak istimewa database (wordpress) kepada pengguna yang baru dibuat –

grant all privileges on wordpress.* to 'sandy'@'localhost';

Harap dicatat bahwa kami akan menggunakan pengguna database ini di WordPress sehingga dapat terhubung ke database. Menghubungkan WordPress ke database menggunakan pengguna root sangat dilarang.

Mari instal paket yang diperlukan termasuk PHP dan beberapa ekstensi PHP yang diperlukan WordPress untuk berfungsi.

Tambahkan repositori PHP 8

sudo add-apt-repository ppa:ondrej/php

Instal PHP dan ekstensi PHP –

sudo apt install php-cli php-fpm php-mysql php-json php-mbstring php-xml php-gd php-curl

Dan itu saja untuk instalasi WordPress kami. Hapus contoh file index.html dari /var/www/gaminggroup.online .

Unduh WordPress –

wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/

Pindahkan file WordPress ke direktori root situs web –

sudo mv /tmp/wordpress/* /var/www/gamingroup.online

Perbaiki izin –

sudo chown -R www-data:www-data /var/www/gaminggroup.online
sudo find /var/www/gaminggroup.online/ -type d -exec chmod 755 {} \;
sudo find /var/www/gaminggroup.online/ -type f -exec chmod 644 {} \;

Tambahkan location berikut ini blokir di konfigurasi situs setelah location yang ada blokir agar berfungsi dengan WordPress.

location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }

Konfigurasi akhir akan terlihat seperti ini –

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }
}

Dan itu saja untuk pengaturan WordPress kami. Sekarang langkah-langkah lebih lanjut harus diselesaikan dari browser web. Kunjungi nama domain Anda dari browser web dan itu akan mengarahkan Anda ke halaman instalasi WordPress.

Klik "Ayo pergi!" untuk pengaturan database dengan WordPress. Sekarang masukkan nama database, nama pengguna database, kata sandi pengguna database yang telah kita buat di atas, dan klik “Kirim”.

Klik “Jalankan instalasi” dan Anda dapat memasukkan judul situs web, mengatur administrator WordPress, dll. Jangan khawatir, Anda selalu dapat mengubah detail ini nanti.

Dan kejutan kejutan! Kami telah menginstal WordPress di Nginx. Beberapa hari ke depan, Anda harus menghabiskan waktu untuk menyiapkan situs web, memasang tema baru, plugin, dan menerbitkan konten yang luar biasa. Bagikan dengan kami apa yang Anda buat!

Kesimpulan

Meskipun instalasi sudah selesai tetapi karena ini adalah server yang tidak dikelola, Anda harus mengurus server Anda sendiri. Pastikan untuk menjaga server tetap mutakhir dengan menginstal pembaruan secara teratur atau lebih baik mengatur pemutakhiran tanpa pengawasan untuk menginstal pembaruan secara otomatis. Juga, atur Canonical Livepatch untuk menginstal pembaruan Kernel tanpa membuat server reboot.

Jika Anda ingin memigrasikan WordPress dari web hosting lama ke server ini, silakan baca panduan ini. Atau, baca panduan ini jika Anda ingin memigrasikan situs Weebly Anda ke WordPress.


Ubuntu
  1. Cara Menginstal WordPress Menggunakan Nginx di Ubuntu 18.04

  2. Host WordPress di Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  3. Cara Menginstal LEMP di Ubuntu 16.04

  1. Cara Menginstal Nginx di Ubuntu 18.04

  2. Cara Menginstal WordPress di Ubuntu 22.04

  3. Instal phpMyAdmin di Ubuntu 20.04 dengan Nginx

  1. Cara Menginstal Server Web Nginx di Ubuntu 18.04

  2. Cara menginstal NGINX di Ubuntu 20.04 Focal Fossa

  3. Instal Nginx di Ubuntu