Membuat WordPress di VPS: Cara Setting Nginx dan Install WordPress [Bagian 2]

Tutorial ini merupakan lanjutan dari Membuat WordPress di VPS: Cara Install Nginx, PHP-FPM, MariaDB, phpMyadmin [Bagian 1].

Untuk mendapatkan performa yang baik dan mengoptimalkan WordPress dapat menggunakan Nginx, PHP-FPM dan database MariaDB. Saat ini Inwepo menggunakan VPS di Cloudkilat.com

Menggunakan VPS lebih baik dan leluasa dari pada menggunakan shared hosting. Jika kamu mempunyai uang lebih baiknya pindah ke VPS karena harga VPS sekarang sudah murah dan tidak beda jauh dengan shared hosting.

Memilih direktori untuk install WordPress

Biasanya direktori yang sering digunakan yaitu /var/ , /home/ dan /srv/ . Penulis memilih menggunakan direktori /srv/ untuk menginstall WordPress mengapa? karena menurut standar hirarki dari Linux tempat yang tepat untuk menyimpan dan mengelola web di /srv/

membuat direktori htdocs dan logs dengan perintah mkdir untuk di dalam direktori /srv/ berikut perintah dan struktur direktorinya:

mkdir -p /srv/www/inwepo.co/htdocs

mkdir -p /srv/www/inwepo.co/logs

Setting Nginx

Membuat virtual host di dalam direktori /etc/nginx/sites-available/

cd /etc/nginx/sites-available/

touch inwepo

cd adalah perintah untuk masuk ke dalam direktori dan perintah touch untuk membuat file virtual host. Kemudian edit file inwepo dengan nano atau vi editor.

ls -a adalah perintah untuk menampilkan seluruh isi folder di dalam folder tersebut.

ls -a
nano inwepo

Isi file virtual host inwepo dengan perintah berikut ini:

server {
listen 80;
#listen [::]:80 ipv6only=on default_server;
server_name inwepo.co www.inwepo.co 103.43.44.12;
root /srv/www/inwepo.co/htdocs;
access_log /srv/www/inwepo.co/logs/access.log;
error_log /srv/www/inwepo.co/logs/error.log;
if ($http_host != "inwepo.co") {
rewrite ^ http://inwepo.co$request_uri permanent;
}

index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

 # Use gzip compression
 # gzip_static on; # Uncomment if you compiled Nginx using --with-http_gzip_static_module
 gzip on;
 gzip_disable "msie6";
 gzip_vary on;
 gzip_min_length 10240;
 #gzip_proxied any;
 gzip_proxied expired no-cache no-store private auth;
 #gzip_types text/plain application/x-javascript text/xml text/css application/xml;
 gzip_comp_level 5;
 gzip_buffers 16 8k;
 gzip_http_version 1.0;
 gzip_disable "MSIE [1-6]\.";
 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/png image/gif image/jpeg;

 set $cache_uri $request_uri;

 # POST requests and urls with a query string should always go to PHP
 if ($request_method = POST) {
 set $cache_uri 'null cache';
 } 
 if ($query_string != "") {
 set $cache_uri 'null cache';
 } 

 # Don't cache uris containing the following segments
 if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
 set $cache_uri 'null cache';
 } 

 # Don't use the cache for logged in users or recent commenters
 if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
 set $cache_uri 'null cache';
 }

 # Use cached or actual file if they exists, otherwise pass request to WordPress
 location / {
 try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args ;
 }

 location ~ ^/wp-content/cache/minify/[^/]+/(.*)$ {
 try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1;
 } 

 # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
 location ~ /\. {
 deny all;
 access_log off;
 log_not_found off;
 }
 location / {
 try_files $uri $uri/ /index.php?$args;
 }

 # Add trailing slash to */wp-admin requests.
 rewrite /wp-admin$ $scheme:http://$host$uri/ permanent;

 # Cache static files for as long as possible - removed xml as an extension to avoid problems with Yoast WordPress SEO plugin which uses WP rewrite API.
 location ~* \.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
 try_files $uri =404;
 expires max;
 access_log off;
 }

 # Pass PHP scripts on to PHP-FPM
 location ~* \.php$ {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 try_files $uri /index.php;
 fastcgi_index index.php;
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 #fastcgi_pass 127.0.0.1:9000;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param SCRIPT_NAME $fastcgi_script_name;
 fastcgi_buffer_size 128k;
 fastcgi_buffers 256 16k;
 fastcgi_busy_buffers_size 256k;
 fastcgi_temp_file_write_size 256k;
 }
}

Ganti server_name dengan nama dan IP domain hosting kamu.

Virtual host akan mengarahkan setiap akses alamat www.inwepo.co ke inwepo.co, bila ingin setiap orang yang mengetik alamat inwepo.co diarahkan ke www.inwepo.co silakan tambahkan www.

if ($http_host != "inwepo.co") {
rewrite ^ http://inwepo.co$request_uri permanent;
}

menjadi seperti berikut ini:

if ($http_host != "www.inwepo.co") {
rewrite ^ http://www.inwepo.co$request_uri permanent;
}

Jika sudah mengisi dan mengubahnya lalu simpan file dengan perintah ctrl+x lalu dan enter.

Install WordPress

Download script WordPress terlebih dahulu dan menyimpannya di dalam direktori /srv/www/inwepo.co/htdocs. Berikut perintahnya:

cd /srv/www/inwepo.co/htdocs
wget http://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
cp -rvf wordpress/* .
rm -R wordpress
rm latest.tar.gz

wget adalah perintah mendownload, tar -zxvf perintah untuk mengekstrak file, cp -rvf wordpress/* adalah perintah untuk meng-copy semua file yang berada di dalam direktori wordpress dan rm adalah perintah menghapus.

Membuat simbolik link

Jika kamu membuka alamat domain kamu yang sudah terinstall nginx pasti yang akan terlihat hanya tulisan “welcome to nginx!”, untuk itu kita harus membuat simbolik link. Berikut perintahnya:

ln -s /etc/nginx/sites-available/inwepo /etc/nginx/sites-enabled/inwepo

sesuaikan nama file virtual host yang kamu buat. Lalu restart nginx.

service nginx restart

atau

/etc/init.d/nginx restart

Kemudian buka domain kamu lagi maka akan terdapat halaman konfigurasi WordPress.

wordpress install

Jika masih terdapat pesan welcome nginx coba hapus nama file default di dalam direktori /etc/nginx/sites-available/ dan /etc/nginx/sites-enabled/

Memberikan hak akses pada WordPress

Setelah halaman konfigurasi WordPress terlihat kita harus memberikan hak akses dengan perintah sebagai berikut:

chown -R www-data:www-data /srv/www/inwepo.co/htdocs

Lalu isikan username, password, database host, dan table prefix database name.

Membuat database WordPress

Untuk membuat database dapat melalui terminal maupun url web phpmyadmin, jika kamu mengikuti tutorial bagian 1 kamu pastinya sudah mengatur alamat akses phpmyadmin.

Login phpmyadmin, pilih menu basis data lalu masukan nama database yang kamu inginkan dan pilih tombol buat.

membuat database di phpmyadmin

wordpress install 2

Submit dan install. Jika berhasil menginstall WordPress maka akan terdapat post HELLO WORLD!

hello world wordpress

Jika sebelumnya kamu sudah pernah menginstall WordPress dan ingin memindahkan ke VPS kamu hanya perlu meng-copy semua file WordPress dan meng-export database ke phpMyAdmin.

  • Cara Backup dan Restore Database WordPress di phpMyAdmin
Komentar

Leave a Reply

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

Inwepo adalah media platform yang membantu setiap orang untuk belajar dan berbagi tutorial, tips dan trik cara penyelesaian suatu masalah di kehidupan sehari-hari dalam bentuk teks, gambar. dan video.

Dengan bergabung bersama kami dan membuat 1 tutorial terbaik yang kamu miliki dapat membantu jutaan orang di Indonesia untuk mendapatkan solusinya. Ayo berbagi tutorial terbaikmu.

Ikuti Kami di Sosmed

Copyright © 2020 Inwepo - All Rights Reserved.

To Top