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
- Pastikan sistem sudah mutakhir
- Menginstal server database mysql 8 dan membuat pengguna WordPress
- Instal Server Web Nginx
- Instal PHP dengan dependensi
- Konfigurasi Pengaturan PHP dan PHP FPM
- Mengunduh dan Mengonfigurasi WordPress
- Siapkan Nginx untuk Melayani konten wordpress
- 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.