Cara Install WordPress di Nginx Web Server

WordPress terkenal karena kemudahanya dan baik untuk SEO, sedangkan Nginx (Engine-X) terkenal karena performanya yang tinggi, stabil, memiliki banyak fitur, mudah dikonfigurasikan, dan juga menggunakan sedikit sumberdaya pada server. Postingan ini merupakan panduan bagaimana cara install WordPress di Nginx web server, dengan asumsi Linux, Nginx, MySQL, dan PHP sudah dikonfigurasi dengan baik pada server anda.

Setelah anda login via SSH sebagai root, langkah berikutnya adalah sebagai berikut:

1. Buat Database MySQL dan User Database MySQL

Sebelum mendownload file WordPress buat database MySQL dan user database MySQL dengan cara sebagai berikut, jangan lupa ganti sesuai dengan nama yang anda inginkan:

Login ke MySQL database:

mysql -u root -p

Buat Database MySQL

create database namaDatabaseAnda;

Buat user Database MySQL (123456 adalah password, ganti sesuai yang diinginkan)

CREATE USER 'UserDatabaseAnda'@'localhost' IDENTIFIED BY '123456';

Izinkan user untuk mengkases Database

GRANT ALL ON NamaDatabaseAnda.* TO 'UserDatabaseAnda'@'localhost';

Kemudian

FLUSH PRIVILEGES;

Setelah selesai exit dari MySQL dengan command berikut:

exit

2. Konfigurasi Nginx

Selanjutnya persiapan install WordPress dengan mengkonfigurasikan terlebih dahulu konfig nginx dan php-fpm.

Permalink WordPress

Konfigurasi permalink WordPress URL Rewrite di Nginx agar Search Engine Friendly (SEF).

Edit konfigurasi nginx default

vi /etc/nginx/default.conf

Copy paste kode berikut untuk mengganti konfig nginx default.conf, ganti yang merah sesuai nama domain agan

server {
listen 80;
server_name www.idnetter.com;
rewrite ^(.*) http://idnetter.com$1 permanent;
}

server {
listen 80;
server_name idnetter.com;

client_max_body_size 5m;
client_body_timeout 60;

access_log /var/log/nginx/idnetter.com-access;
error_log /var/log/nginx/idnetter.com-error error;

### Ini direktori letak file-file webiste nantinya
root /var/www/html/;
index  index.html index.php;

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

### security ###
error_page 403 =404;
location ~ /\. { access_log off; log_not_found off; deny all; }
location ~ ~$ { access_log off; log_not_found off; deny all; }
location ~* wp-admin/includes { deny all; }
location ~* wp-includes/theme-compat/ { deny all; }
location ~* wp-includes/js/tinymce/langs/.*\.php { deny all; }
location /wp-includes/ { internal; }
location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain;
}

### disable logging ###
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }

### caches ###
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; }
location ~* \.(woff|svg)$ { access_log off; log_not_found off; expires 30d; }
location ~* \.(js)$ { access_log off; log_not_found off; expires 7d; }

### php block ###
location ~ \.php?$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(.+\.php)(.*)$;
#Prevent version info leakage
fastcgi_hide_header X-Powered-By;
}
}

Unix Socket PHP-FPM

Edit konfigurasi php-fpm unix socket

vi /etc/php-fpm.d/www.conf

Ganti, copy-paste dengan kode berikut:

[php-fpm]
listen = /var/run/php-fpm.socket
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = nginx
group = nginx
request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/php-fpm.log
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 10
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 400
listen.backlog = -1
pm.status_path = /status
request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_admin_value[error_log] = /var/log/php-fpm/php-fpm-error.log
php_admin_flag[log_errors] = on

Reload service nginx dan php-fpm

service nginx reload
service php-fpm reload

3. Install WordPress

Dan langkah yang terakhir adalah menginstall WordPress. Letak dokumen root pada nginx secara default berada di : /var/www/html

cd /var/www/html

Kemudian download WordPress

wget https://wordpress.org/latest.tar.gz

Extract menggunakan command berikut:

tar -xvf latest.tar.gz

Copy folder/file-file script WordPress dengan code berikut

cp -r wordpress/* /var/www/html

Setelah berhasil dicopy, hapus folder wordpress beserta file didalamnya dengan command berikut, jika ada pertanyaan ketik: y kemudian enter

rm -rf wordpress

CHMOD

Mengubah file/folder permission

chown nginx:nginx -R *

Ubah perizinan direktori rwxr-xr-x (0755)

find . -type d -exec chmod 755 {} \;

Ubah perizinan file rw-r–r– (644)

find . -type f -exec chmod 644 {} \;

Install WordPress online melalui browser favorite anda seperti biasa.

Jika ada keterangan: Sorry, but I can’t write the wp-config.php file. Dan dibawahnya diminta membuat file secara manual dan copy-paste text konfigurasi, copy kode konfigurasi tersebut.

cara install wordpress nginx

Melalui terminal Putty Jalankan kode berikut:

vi /var/www/html/wp-config.php

Kemudian paste konfigurasinya dengan cara menekan huruf i kemudian klik kanan untuk paste. Pencet Ctrl+C kemudian ketik :wq selanjutnya Enter untuk menyimpan dan keluar.

Selanjutnya kembali ke Browser dan klik Run the install. Langkah selanjutnya isi form sesuai Website anda Username, Password, Email disesuaikan dan klik Install WordPress.

Alhamdulillah, Cara Installasi WordPress selesai, kini anda punya website WordPress online. Jangan lupa untuk check postingan idnetter yang lain dengan tautan WordPress.




Share this post:

Leave a Reply

Your email address will not be published. Required fields are marked *