Apa yang Telah Terjadi Antara Saya, Nginx, MySQL, PHP, WordPress, dan DigitalOcean.com? Part 3

 Instalasi WordPress

Sekarang saatnya meng-install WordPress.  Pertama-tama saya memutuskan untuk meletakkan lokasi WordPress di direktori /srv/www/. Saya membuat direktori www menggunakan perintah mkdir. Masuk ke dalam direktori www dan download WordPress dengan menggunakan wget.

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

Ekstrak file latest.tar.gz menggunakan perintah tar -zxvf latest.tar.gz. Maka akan ada direktori bernama wordpress. Anda bisa me-rename dengan nama lain atau biarkan saja apa adanya juga boleh. Anggap saja saya tidak mengubah nama direktori tersebut.

Sekarang kita buat file di /etc/nginx/sites-available/, anggap saja namanya wordpress. File ini berisi konfigurasi WordPress pada Nginx. Isi dari file tersebut adalah sebagai berikut:

server {
  listen 80 default_server;
  listen [::]:80 ipv6only=on default_server;
  server_name 128.199.110.54;
  root /srv/www/wordpress;
  access_log /srv/www/access.log;
  error_log /srv/www/error.log;
  if ($http_host != "128.199.110.54") {
    rewrite ^ http://128.199.110.54$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_proxied any;
  gzip_comp_level 5;
  gzip_buffers 16 8k;
  gzip_http_version 1.0;
  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;
  
  location ~ ^/wp-content/cache/minify/[^/]+/(.*)$ {
    try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1;
  }
  
  #location ~ ^/wp-content/plugins/wp-minify/min/[^/]+/(.*)$ {
  #	try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1;
  #	wp-minify/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|index\.php|wp\-comments\-popup\.php|wp\-links\-opml\.php|wp\-locations\.php)") {
    set $cache_uri "no 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 'no cache';
  }
  
  # 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;
  }
}

Contoh di atas saya menggunakan server name dengan alamat IP. Seandainya Anda memiliki domain sendiri, bisa diisi dengan nama domain Anda. Sementara saya gunakan alamat IP saja.

Setelah file wordpress tadi disimpan, kita buat link-nya ke folder /etc/nginx/sites-enable/ dengan menggunakan perintah ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enable/wordpress. Hapus symbolic link yang bernama default yang ada di direktori sites-enable. Selanjutnya restart Nginx dengan perintah service nginx restart. Buka browser ke alamat IP yang diberikan. WordPress sudah siap untuk di-install.

wordpress-install

Tapi tunggu dulu, masih ada yang kurang. Saya belum membuat sebuah database yang akan dipakai oleh WordPress. Saya akan membuat database yang saya beri nama wordpress dengan menggunakan mysql console. Saya akan login ke mariadb server dengan perintah berikut:

mysql -p

Masukkan password root. Setelah berhasil login, saya membuat database bernama wordpress dengan perintah sebagai berikut:

create database wordpress;

Setelah itu saya sudah bisa melanjutkan instalasi WordPress.

Menambahkan Nama Domain

Berdasarkan langkah-langkah tadi saya menggunakan alamat IP untuk nama server. Jika kita sudah mempunyai nama domain, kita bisa menggunakan nama domain tersebut. Tinggal ganti IP dengan nama domain. Namun masih ada yang harus saya lakukan agar pada saat nama domain yang diakses lewat browser mengarah ke droplet. Pertama, saya harus login ke registrar tempat saya mendaftarkan domain untuk mengubah name server dengan name server Digital Ocean. Kedua, saya harus login ke akun Digital Ocean untuk menambahkan nama domain ke droplet. Untuk lebih jelasnya, saya menggunakan referensi yang ada di sini.

Mungkin segitu aja tulisan saya kali ini. Sampai jumpa di tulisan berikutnya.

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.