Install wordpress menggunakan nginx dan php-fpm di virtualmin

Bismillaahirrohmaanirrohiim…

Sebelumnya kita telah membahas cara install virtualmin, kemudian cara install nginx, PHP-FPM, PHP 7.2 di centos 7.

Jika belum menginstallnya, silahkan baca tutorial sebelumnya di sini dan di sini.

Sekarang kita akan mencoba install wordpress menggunakan nginx, php-FPM, php 7.2.
Kenapa harus repot-repot menggunakan PHP-FPM karena performanya jauh lebih baik dibanding menggunakan fastCGI.
Kenapa juga harus pake virtualmin, karena panel ini user friendly dan cukup lengkap.

Langsung saja, kita buka putty lalu login dengan user root.

Install wordpress terbaru

Arahkan pointer ke directory public_html

cd /home/namadomain/public_html

Kemudian download wordpress terbaru

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

jika wget belum terinstall, ketikkan perintah

yum install wget
Ekstrak file wordpress
tar -xvf latest.tar.gz

karena hasil ekstrak berada dalam folder “wordpress”, maka semua file dalam folder tersebut perlu dipindah ke root public_html:

cp -r wordpress/* /home/namadomain/public_html
rm -rf wordpress

Setelah itu, ganti permission file dan folder nya

Set user group semua folder dan file menjadi nginx:

chown userdomain:userdomain -R *

Di sini, user groupnya menggunakan user yang dipakai login FTP. Di situ saya tulis “userdomain” disesuaikan dengan user Anda saat membuat virtual server.

Ganti permission folder menjadi 755

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

Ganti permission file menjadi 644

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

Buka web dengan browser
http://namadomain/

Akan muncul halaman instalasi wordpress
isi sesuai data yang ada diserver

klik next sampai selesai.

Dan… jika tidak ada error instalasi akan berhasil (ya iyalah)

Setting permalink

Di sini karena kita menggunakan nginx, maka htaccess tidak akan jalan, jadi perlu kita konfigurasi nginx nya diserver.

kembali ke virtualmin

Buka menu Webmin -> Servers -> Nginx Webserver
klik “Edit Configuration File”

Setting seperti dibawah ini jika websitenya non https

server {
    listen       80 default_server;
    #listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
 
    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

 

Setting seperti ini jika websitenya https

server_names_hash_bucket_size 128;
server {
  server_name namadomain.com www.namadomain.com;
  listen 123.123.123.123;
  root /home/namadomain/public_html;
  index index.html index.htm index.php;
  access_log /var/log/virtualmin/namadomain.com_access_log;
  error_log /var/log/virtualmin/namadomain.com_error_log;
  fastcgi_param GATEWAY_INTERFACE CGI/1.1;
  fastcgi_param SERVER_SOFTWARE nginx;
  fastcgi_param QUERY_STRING $query_string;
  fastcgi_param REQUEST_METHOD $request_method;
  fastcgi_param CONTENT_TYPE $content_type;
  fastcgi_param CONTENT_LENGTH $content_length;
  fastcgi_param SCRIPT_FILENAME /home/namadomain/public_html$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  fastcgi_param REQUEST_URI $request_uri;
  fastcgi_param DOCUMENT_URI $document_uri;
  fastcgi_param DOCUMENT_ROOT /home/namadomain/public_html;
  fastcgi_param SERVER_PROTOCOL $server_protocol;
  fastcgi_param REMOTE_ADDR $remote_addr;
  fastcgi_param REMOTE_PORT $remote_port;
  fastcgi_param SERVER_ADDR $server_addr;
  fastcgi_param SERVER_PORT $server_port;
  fastcgi_param SERVER_NAME $server_name;
  fastcgi_param HTTPS $https;
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass localhost:8000;
  }
      location / {
          try_files $uri $uri/ /index.php?$args;
      }
  listen 123.123.123.123:443 default ssl;
  ssl_certificate /home/namadomain/ssl.combined;
  ssl_certificate_key /home/namadomain/ssl.key;
}

Dari konfigurasi di atas, sebenarnya saya hanya menambahkan kode dibawah ini:

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

Simpan atau Save and close.

Lalu restart nginx, dengan cara klik button “Apply Nginx Configuration”
atau lewat putty

systemctl restart php-fpm
systemctl restart nginx

Akhirnya selesai, dan kini wordpress kesayangan Anda telah menggunakan nginx, php-fpm, dan PHP 7.2 di centos 7.

Jika ada kendala atau masalah silahkan ketik dikomentar.

Leave a Reply

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