GNU/Linux >> Belajar Linux >  >> Ubuntu

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

WordPress adalah sistem manajemen konten sumber terbuka dan gratis yang ditulis dalam PHP dan dipasangkan dengan database MySQL atau MariaDB. WordPress adalah salah satu CMS paling populer yang tersedia saat ini.

WordPress.com adalah platform software-as-a-service (SaaS) yang dihosting yang memungkinkan Anda membangun situs web menggunakan blok penyusun WordPress. Anda akan dikenakan biaya untuk meng-host situs web Anda di situs WordPress.

Perangkat lunak WordPress gratis dan Open Source tetapi untuk menjalankannya Anda perlu menyiapkan hosting. Dalam panduan ini kita akan menggunakan opsi ini, menyiapkan WordPress di Ubuntu 20.04.

Prasyarat

Untuk mengikuti panduan ini, kita memerlukan yang berikut:

  • Server Ubuntu 20.04 terbaru dengan koneksi internet
  • Akses root di server atau pengguna dengan akses sudo
  • Pengetahuan tentang penggunaan terminal Linux

Langkah-langkah yang diperlukan agar WordPress berfungsi di Ubuntu 20.04

  1. Pastikan sistem sudah mutakhir
  2. Menginstal server database mysql 8 dan membuat pengguna WordPress
  3. Instal Server Web Nginx
  4. Instal PHP dengan dependensi
  5. Konfigurasi Pengaturan PHP dan PHP FPM
  6. Mengunduh dan Mengonfigurasi WordPress
  7. Siapkan Nginx untuk Melayani konten wordpress
  8. Uji Instalasi WordPress

1. Pastikan sistem sudah mutakhir

Sebelum melanjutkan, izinkan kami memastikan bahwa server kami diperbarui. Gunakan perintah ini untuk 1. Perbarui repositori server, 2. Tingkatkan paket server ke rilis terbaru:

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2. Menginstal server database mysql 8 dan membuat pengguna WordPress

Paket mysql-server yang diperlukan tidak ada di repositori default Ubuntu. Jadi kita perlu mengaturnya.

Tim mysql menyediakan .deb yang dapat diunduh file yang akan mengkonfigurasi repositori untuk instalasi mysql server 8. Unduh dengan perintah ini:

curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb

Setelah unduhan selesai, kita perlu menginstal file deb yang diunduh. Gunakan perintah ini untuk menginstal:

sudo dpkg -i ./mysql-apt-config_0.8.19-1_all.deb

Ini akan membuka jendela konfigurasi yang meminta Anda untuk memilih versi server mysql dan komponen lain seperti cluster, pustaka klien bersama, atau meja kerja MySQL

Untuk saat ini karena kami hanya tertarik pada Instalasi Server Mysql, biarkan pengaturan default dan klik OK untuk melanjutkan.

Menginstal server mysql

Sekarang repo telah ditambahkan untuk menyertakan server mysql, sekarang kita dapat menginstal. Mari kita segarkan Repositori untuk mendapatkan yang terbaru dari repo yang ditambahkan menggunakan perintah ini:

$ sudo apt update

Kemudian Instal Server Mysql 8 menggunakan perintah ini:

sudo apt install -y mysql-server

Masukkan kredensial administrator Anda, dan sistem akan menginstal paket server MySQL, paket klien, dan file umum database.

Instalasi akan meminta Anda untuk memasukkan dan mengonfirmasi pengguna root dan kata sandi untuk database MySQL.

Setelah itu Anda akan diminta untuk memilih plugin Otentikasi. Disarankan agar Anda memilih untuk menggunakan sandi yang kuat:

Setelah itu kata sandi baru akan disetel dan layanan dimuat ulang.

Konfirmasikan bahwa server mysql aktif dan berjalan dengan perintah ini:

$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 13:08:22 UTC; 2min 23s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 45123 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 45173 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4710)
     Memory: 353.0M
     CGroup: /system.slice/mysql.service
             └─45173 /usr/sbin/mysqld

Sep 28 13:08:21 ip-172-26-11-229 systemd[1]: Starting MySQL Community Server...
Sep 28 13:08:22 ip-172-26-11-229 systemd[1]: Started MySQL Community Server.

Active: active (running) since ... bagian di atas menunjukkan bahwa aplikasi aktif dan berjalan.

Hubungkan ke server dan buat pengguna

Setelah instalasi mysql-server berhasil, mari kita sambungkan ke server dan buat pengguna WordPress.

Hubungkan ke server mysql yang menyediakan kata sandi yang kami berikan sebelumnya:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Kemudian buat database, pengguna, dan kata sandi:

mysql> create database wordpress_db;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'wordpress_user'@'%' identified by 'S0mStrongPa$$word';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on wordpress_db.* to 'wordpress_user'@'%';
Query OK, 0 rows affected (0.00 sec)

3. Instal Server Web Nginx

Nginx tidak akan berfungsi jika Apache diinstal dan dijalankan. Karena kita akan menggunakan Nginx, mari gunakan perintah ini untuk menghapus apache jika diinstal di sistem kita:

$ sudo apt remove apache2 -y

Untuk menginstal Nginx:

sudo dnf -y install nginx

Setelah instalasi selesai, mulai Nginx dan aktifkan untuk memulai secara otomatis setelah reboot

systemctl start nginx
systemctl enable nginx

Periksa status Nginx:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 16:28:30 UTC; 1min 2s ago
       Docs: man:nginx(8)
   Main PID: 56990 (nginx)
      Tasks: 3 (limit: 4710)
     Memory: 3.7M
     CGroup: /system.slice/nginx.service
             ├─56990 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─56991 nginx: worker process
             └─56992 nginx: worker process

Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Starting A high performance web server and a reverse pr>
Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Started A high performance web server and a reverse pro>

Untuk mengonfirmasi bahwa Nginx benar-benar berjalan dan dapat dijangkau, gunakan perintah ini:

curl http://server_ip/

Dimana server_ip adalah ip server Anda. Jika karena alasan apa pun Anda tidak mengetahui ip publik server Anda, gunakan ini untuk memeriksa

curl -4 icanhazip.com

Anda akan melihat halaman default Nginx.

4. Instal PHP dengan dependensi

Karena repositori default berisi php versi 7.4, mari kita instal dengan perintah ini:

sudo apt install php -y

Konfirmasikan versi yang diinstal dengan perintah php -v :

~$ php -v
PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Selanjutnya kita menginstal dependensi php. Ketergantungan php tersedia sebagai paket level os yang diawali dengan php- . Mari kita instal dependensi yang dibutuhkan WordPress dengan perintah ini:

sudo apt install -y \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

5. Konfigurasi Pengaturan PHP dan PHP FPM

Pengaturan php global untuk versi php yang diinstal disimpan di /etc/php/7.4/cli/php.ini mengajukan. Mari perbarui setelan ini.
Buka php.ini dengan editor teks favorit Anda, saya akan menggunakan vim

sudo vim /etc/php/7.4/cli/php.ini

Kemudian Cari variabel berikut dan perbarui nilainya seperti yang ditunjukkan di bawah ini:

post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi

6. Mengunduh dan Mengonfigurasi WordPress

Sekarang setelah server kita siap, mari unduh dan instal WordPress di server. Rilis terbaru WordPress dapat diunduh dari situs resmi mereka.
Mari kita buat direktori tempat konten WordPress kita akan disajikan di jalur ini /var/www/example.citizix.com .

sudo mkdir /var/www/example.citizix.com

Pastikan bahwa pengguna web memiliki konten:

sudo chown -R www-data.www-data /var/www/example.citizix.com

Unduh konten WordPress terbaru:

cd /tmp
curl -LO https://wordpress.org/latest.zip

Contoh Keluaran:

$ curl -LO https://wordpress.org/latest.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.7M  100 15.7M    0     0  6650k      0  0:00:02  0:00:02 --:--:-- 6647k
$ ls
latest.zip

Ekstrak dan pindahkan konten ke direktori server kami. Pastikan Anda memiliki unzip perintah atau instal dengan sudo apt install unzip .

unzip latest.zip
sudo mv wordpress/* /var/www/example.citizix.com

# Confirm content with
ls /var/www/example.citizix.com

Mengonfigurasi WordPress

Sekarang konten WordPress telah disalin ke direktori situs, mari perbarui konfigurasi db menggunakan file contoh yang disediakan.
Beralih ke direktori situs:

cd /var/www/example.citizix.com/

Salin wp-config-sample . Anda file ke wp-config.php .

cp wp-config-sample.php wp-config.php

Buka file konfigurasi di editor teks:

vim wp-config.php

Perbarui vars ini:DB_NAME , DB_USER , DB_PASSWORD , DB_HOST :

<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Simpan file teks setelah selesai.

Jadikan pengguna web sebagai pemilik direktori WordPress, sehingga memiliki akses dan mampu menyajikan file-file tersebut.

sudo chown -R www-data:www-data /var/www/example.citizix.com

7. Siapkan Nginx untuk Melayani konten wordpress

Sekarang konfigurasi sudah siap, mari konfigurasikan virtual host Nginx untuk menyajikan konten yang baru saja kita tambahkan ke /var/www/example.citizix.com
Mari kita buat situs virtual di direktori tempat Nginx menyajikan konten di sini /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/example.citizix.com.conf

Tambahkan konten berikut:

server {
    listen 80;

    server_name example.citizix.com;
    root /var/www/example.citizix.com;
    index index.php;

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

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Pastikan konfigurasi yang ditambahkan baik dengan menggunakan perintah ini untuk menguji:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Setelah Anda mengonfirmasi bahwa semuanya baik-baik saja, mulai ulang Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

8. Terakhir, Uji Instalasi WordPress

Setelah semua langkah di atas selesai, instalasi dari baris perintah selesai. Anda dapat membuka browser web favorit Anda dan mengarahkannya ke http://example.citizix.com/. Anda akan mendapatkan layar berikut yang meminta Anda untuk memulai penyiapan instalasi WordPress:

[Layar di sini]

Seharusnya mudah untuk mengikuti petunjuk untuk menyiapkan WordPress untuk pertama kalinya.


Ubuntu
  1. Cara Menginstal WordPress Menggunakan Nginx di Ubuntu 18.04

  2. Instal WordPress di Nginx Ubuntu

  3. Cara Menginstal WordPress dengan OpenLiteSpeed ​​di Ubuntu 18.04

  1. Ubuntu 20.04:WordPress dengan instalasi Nginx

  2. Cara Menginstal Server MySQL di Ubuntu 16.04

  3. Cara Menginstal Server MySQL di Ubuntu 17.04

  1. Ubuntu 20.04 WordPress dengan instalasi Apache

  2. Cara Menginstal MySQL di Ubuntu 18.04

  3. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04