Install WordPress di Nginx
Menggunakan Nginx sebagai web server memiliki keunggulan tersendiri dibandingkan dengan menggunakan Apache. Salah satu keunggulan yang paling menonjol adalah ada pada performa dan kecepatan yang diberikan, dan sangat cocok bagi pengguna server dengan resource yang kecil seperti kapasitas RAM kurang dari 1 GB.
Meskipun Nginx cepat bukan berarti tidak bagus dibandingkan Apache, malahan hampir bisa disejajarkan dengannya. Seperti yang kita tahu, bahwa Apache memiliki keunggulan yang terletak pada banyaknya module yang ia didukung, dan Apache juga sudah lebih dahulu ada dibandingkan dengan Nginx.
Tidak dipungkiri lagi setiap kelebihan pasti ada kekurangan, begitu juga dengan Nginx. Salah satu kekurangan yang dimiliki Nginx adalah tidak ada dukungan .htaccess
(baca: Konversi .htaccess ke Nginx), dengan demikian kita akan kesulitan dalam hal pembuatan pretty URL seperti menghilangkan index.php
dan menghilangkan GET URL Paramenter
.
Tulisan kali ini kita akan membahas mengenai cara pemasangan Wordpress di Nginx yang disertai dukungan pretty URL pada postingan di Wordpress tersebut, seperti menghilangkan index.php
pada URL.
Apa itu Wordpress
Wordpress adalah aplikasi sumber terbuka (open source) yang dibangun menggunakan bahasa pemerograman PHP. Ia merupakan salah satu CMS (Content Management System) yang cukup populer dipakai sebagai pembuatan website.
Pada awalnya Wordpress digunakan untuk media blog, kini Wordpress telah berkembang tak hanya sekadar untuk situs pembuatan blog, melainkan juga untuk berbagai macam situs seperti company profile, e-commerce, dan forum.
Persyaratan
Untuk memulai melakukan tutorial ini, ada beberapa persyaratan yang harus Anda miliki.
- Memasang Nginx, PHP dan MariaDB/MySQL. Bisa Anda lihat pada tulisan saya sebelumnya yakni: Memasang Nginx, PHP dan Mariadb di Arch Linux.
- Server atau VPS setidaknya memiliki kapasitas RAM paling kecil 128 MB, akan tetapi saya menyarankan untuk lebih dari itu. Saya sendiri menggunakan VPS dengan RAM 512 MB.
- Masang
Wget
.
Tahap Unduhan
Pertama-tama kita unduh terlebih dahulu Wordpress-nya:
$ wget https://wordpress.org/latest.tar.gz
Kemudian ekstrak:
$ tar xvzf latest.tar.gz
Lalu langsung saja kita pindahkan misalnya di direktori default Nginx yakni di: /usr/share/nginx/html
Direktori tersebut berlaku untuk berbagai distro GNU/Linux.
$ sudo mv wordpress /usr/share/nginx/html
Tahap Konfigurasi
Karena sebelumnya kita memindahkan satu direktori Wordpress ke /usr/share/nginx/html
. Jadi kita perlu mengkonfigurasi virtual host dari berkas yang bernama default
yakni:
Pengguna Debian/Ubuntu
$ sudo vim /etc/nginx/sites-available/default
Pengguna Centos/Fedora/RHEL dan Arch Linux
Kebanyakan pengguna distro Non Debian/Ubuntu konfigurasi virtual host terletak pada:
$ sudo vim /etc/nginx/nginx.conf
Ganti root
direktori dengan /usr/share/nginx/html/wordpress;
Juga index
tambahkan index.php
. Seperti berikut:
... root /usr/share/nginx/html/wordpress; index index.php index.html index.htm; ...
Kemudian location / {}
tambahkan ini:
... location / { try_files $uri /index.php$is_args$args; } ...
Skrip di atas agar Wordpress Anda dapat menggunakan pretty URL.
Kemudian tambahkan ini, agar Nginx dapat menjalankan PHP:
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # Pengguna Ubuntu 14.04 # fastcgi_pass unix:/var/run/php5-fpm.sock; # Pengguna Ubuntu 16.04 # fastcgi_pass unix:/var/run/php7.0-fpm.sock; # Pengguna Arch Linux # fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # Jika Anda tidak tahu, coba cek di direktori /var/run/ # ls -l /var/run/ # fastcgi_pass unix:/var/run/ ... fastcgi_index index.php; include fastcgi_params; }
Perhatikan kode di atas untuk kode fastcgi_pass
, saya tulis untuk berbagai distro. Sengaja saya beri comment (tanda pagar #
) karena di sesuaikan dengan distro yang Anda gunakan. Ada sedikit perbedaan letak socket dari php-fpm
ini. Sesuaikan dengan distro yang Anda gunakan. Umumnya semua berada pada direktori /var/run
. Jika sudah benar, maka uncomment salah satu dari kode di atas.
Kemudian ubah semua permission direktori 755 sedangkan berkas 644, yakni dengan cara berikut:
$ cd /usr/share/nginx/html/wordpress $ sudo find . -type d -exec chmod 0755 {} \; $ sudo find . -type f -exec chmod 0644 {} \;
Kemudian jangan lupa pula owner
nya ubah ke www-data
(bagi pengguna Debian/Ubuntu) dan http
(bagi pengguna Arch Linux/RHEL/Fedora/Centos ). Saya asumsikan Anda hanya pengguna Wordpress sendiri. Dalam artian lain, tidak ada user lain selain Anda yang menggunakan Wordpress.
$ sudo chown http:http -R /usr/share/nginx/html/wordpress/*
Tahap Pembuatan Database
Sebelum beralih ke tahap instalasi Anda harus membuat databasesnya terlebih dahulu, kita gunakan Mariadb/MySQL. Pertama-tama login dahulu MariaDB/MySQL:
$ sudo mysql -u root -p'Password Anda'
Dan kita buat databasenya:
mysql > create database wordpress_db;
Kita buatkan username
juga:
mysql > create user wp_user_admin@localhost identified by 'PasswordAnda'; mysql > grant all privileges on wordpress_db.* to wp_user_admin@localhost; mysql > flush privileges;
Lalu keluar dengan mengetik perintah:
mysql > \q
Tahap Instalasi Wordpress
Sekarang baru kita memasuki tahap pamasangan WP. Langsung saja buka domain atau IP
address Anda di peramban (browser):
Klik Let's Go
. Kemdian,
Masukan nama database
, username
, dan password
yang telah kita buat sebelumnya. Kemudian masalah table prefix
, bebas Anda isi apa saja asalkan tambahkan underscore (garis bawah) setelahnya. Lalu Klik Submit
. Dan,
Langsung saja, klik Run the Install
.
Masukan informasi yang dibutuhkan di atas. Jika sudah, langsung klik Install Wordpress
.
Jika sudah seperti gambar di atas, Anda bisa langsung log In
. Dan hasilnya akan seperti gambar di bawah ini:
Jika berhasil Anda akan diarahkan ke halaman administrasi.
Tambahan
Untuk mempercantik WP kita, bisa buat prety URL dari Settings
-> Permalink
dan pilih:
Disesuaikan dengan situs Anda. Penulis lebih memilih post name
, karena menurut penulis ini pilihan yang baik untuk situs yang tidak terlalu sering di-update. Jika situs Anda seperti situs berita baiknya pilih day and name. Karena dengan demikian terlihat artikel Anda apakah sudah lama atau belum.
Semoga bermanfaat 😄