Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Cara Install WordPress dengan LEMP di Ubuntu 18.04

6 min read

Cara-Install-WordPress-dengan-LEMP-di-Ubuntu-18.04

WordPress adalah Content Management System (CMS) terpopuler. Platform yang dibangun menggunakan PHP ini memudahkan penggunanya untuk membuat berbagai macam blog dan website dengan backend MySQL.

Selain itu, CMS ini juga terkenal akan pengoperaisannya yang gampang. Setelah konfigurasi utama selesai, pengguna dapat mengelola website melalui frontend.

Dalam panduan ini, Anda diajak belajar cara menginstal WordPress dengan LEMP stack (Linux, Nginx, MySQL, dan PHP) di server Ubuntu 18.04.

Hal-Hal yang Perlu Disiapkan

Selain mengakses server Ubuntu 18.04, panduan cara install WordPress di VPS ini mengharuskan Anda untuk:

  • Membuat sudo user di server Anda. Panduan ini menggunakan sebuah non-root user dengan sudo privileges.
  • Meng-install LEMP stack. WordPress membutuhkan sebuah server, database, dan PHP agar dapat berfungsi. Dalam panduan ini, Anda akan menggunakan LEMP stack yang meliputi Linux, Nginx, MySQL dan PHP.
  • Mengamankan website Anda dengan SSL. WordPress menampilkan konten bersifat dinamis dan mengelola informasi para penggunanya. Untuk melindunginya, Anda perlu menggunakan TLS/SSL, yaitu teknologi yang menjaga keamanan website. Ada dua cara untuk memasang SSL:
    • Jika memiliki nama domain, Anda bisa mendapatkan SSL certificate gratis melalui Let’s Encrypt.
    • Jika membuat sebuah website pribadi untuk testing, Anda bisa membuat SSL certificate sendiri.

Cara Install WordPress dengan LEMP di Ubuntu 18.04

Setelah melakukan persiapan di atas, masuklah ke server Anda sebagai sudo user dan ikuti langkah-langkah berikut.

1. Membuat Akun dan Database MySQL untuk WordPress

MySQL digunakan WordPress sebagai tempat penyimpanan data website dan pengguna. Untuk dapat menggunakannya, Anda harus membuat akun dan database.

Langkah pertama adalah masuk ke root account MySQL. Jika MySQL telah diatur untuk menggunakan plugin auth_socket authentication, Anda bisa login ke dalam akun administratif MySQL menggunakan command sudo berikut:

 $ sudo mysql 

Apabila Anda mengubah cara autentikasi untuk password root account MySQL, gunakanlah command ini:

$ mysql -u root -p

Setelah itu, Anda akan dimintai password yang telah dibuat untuk root account.

Langkah berikutnya adalah membuat sebuah database yang bisa digunakan WordPress. Anda boleh menamainya apa saja. Namun database tersebut akan disebut wordpress dalam panduan ini agar mudah. Untuk membuatnya, masukkan command berikut:

mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8_uicode_ci;

Perlu diingat bahwa setiap statement dalam MySQL harus diakhiri dengan titik koma (;).

Selanjutnya, Anda akan membuat sebuah akun MySQL yang akan digunakan untuk database yang disebutkan di atas. Akun ini akan dinamakan wordpressuser, tapi Anda boleh menyebutnya apa saja.

Untuk membuat akun ini, mengatur passwordnya, dan memberinya akses ke database yang telah dibuat, masukkan command di bawah ini:

mysql> GRANT ALL ON wordpress.* TO ‘wordpressuser’@’localhost’ IDENTIFIED BY ‘password’;

Dengan demikian, Anda telah membuat database dan akun untuk website di hosting khusus untuk WordPress. Agar MySQL dapat memahami ini, Anda perlu meng-flush privilege yang ada dengan command ini:

mysql> FLUSH PRIVILEGES;

Sekarang keluarlah dari MySQL dengan mengetikkan command berikut:

mysql> EXIT;

2. Meng-install PHP Extension

Agar PHP dapat berhubungan dengan MySQL, Anda hanya perlu meng-install beberapa ekstensinya. Anda bisa mengunduh dan memasang ekstensi-ekstensi PHP yang umum digunakan untuk WordPress dengan memasukkan command ini:

$ sudo apt update
$ sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Perlu Anda ingat bahwa masing-masing plugin WordPress memerlukan ekstensi PHP yang berbeda. Untuk mengetahui ekstensi yang dibutuhkan, bacalah petunjuk penggunaan plugin Anda. Jika memungkinkan, Anda dapat meng-installnya menggunakan command apt seperti yang telah ditunjukkan di atas.

Setelah ekstensi di-install, Anda perlu merestart proses PHP-FPM supaya prosesor PHP dapat menggunakan fitur-fitur baru tersebut. Masukkan command di bawah:

$ sudo systemctl restart php7.2-fpm

3. Mengkonfigurasi Nginx

Langkah selanjutnya adalah mengatur block file server Nginx. Saat ini, file konfigurasi yang ada di dalam direktori /etc/nginx/sites-available/ seharusnya dapat merespon nama domain atau IP address server Anda, serta telah terproteksi dengan TLS/SSL certificate.

Anda juga dapat menggunakan konfigurasi standar yang ada pada /etc/nginx/sites-available/default (dengan /var/www/html sebagai web root) jika hanya ada satu website di server. Apabila tidak, Anda harus menggunakan file konfigurasi berbeda untuk masing-masing website.

Untuk memulai tahap ini, bukalah block file server dengan sudo privileges:

$ sudo nano /etc/nginx/sites-available/wordpress

Anda juga perlu menambahkan beberapa blok location dalam blok server utama. Caranya dengan membuat blok location yang sesuai dengan request ke /favicon.ico dan /robots.txt.

Agar sesuai dengan request untuk file-file statis, Anda harus menggunakan expression location biasa. Lalu, matikan kembali fungsi log untuk request-request tersebut. Jangan lupa untuk memberi tanda “highly cacheable” padanya pula.

Anda bisa mengatur daftar tipe file yang digunakan website Anda dengan menambahkan command di bawah dalam /etc/nginx/sites-available/wordpress:

server {
 . . .

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

Perlu diingat bahwa daftar try_files dalam block location / harus disesuaikan agar 404 error tidak terjadi dan kontrol diteruskan menuju file index.php dengan request arguments.

Command-nya seperti demikian:

server {
 . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

Setelah langkah di atas selesai, simpan dan tutup file konfigurasi tersebut. Untuk memastikan tidak ada syntax error, ketik command di bawah ini:

$ sudo nginx -t

Jika tidak ada masalah, reload Nginx dengan command:

$ sudo systemctl reload nginx

4. Mengunduh WordPress

Setelah mengkonfigurasi perangkat lunak server, Anda bisa mengunduh dan meng-install WordPress. Agar aman, unduhlah versi terbaru WordPress dari websitenya.

Buatlah direktori kosong dan unduh folder instalasi WordPress yang telah dikompres dengan memasukkan command berikut:

$ cs /tmp
$ curl -LO https://wordpress.org/latest.tar.gz 

Lalu ekstrak folder tersebut untuk membuat direktori WordPress dengan command ini:

$ tar xzvf latest.tar.gz

File-file di dalamnya akan dipindah ke root document. Namun, sebelumnya Anda harus meng-copy file sample configuration ke filename yang dapat ditemukan WordPress:

$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Setelahnya, Anda dapat meng-copy isi folder instalasi WordPress ke dalam root document. Agar semua permission yang ada tidak berubah, Anda perlu menambahkan flag -a pada command-nya. Lalu tambahkan titik di akhir direktori sumber  untuk menyatakan bahwa semua file dalam folder tersebut harus di-copy. Contohnya seperti demikian:

$ sudo cp -a /tmp/wordpress/. /var/www/wordpress

Langkah selanjutnya adalah memberikan kepemilikan file-file tersebut ke user dan grup www-data. Agar Nginx dapat berfungsi sebagai user dan grup ini, Anda harus memberikan izin read and write pada file-file WordPress. Masukkan command berikut:

$ sudo chown -R www-data:www-data /var/www/wordpress

Dengan demikian, Nginx juga akan dapat menjalankan website dan melakukan pembaruan otomatis.

Pada tahap ini, file Anda sudah berada dalam root document dan mendapat kepemilikan yang benar. Akan tetapi, masih ada beberapa konfigurasi yang perlu dilakukan.

5. Mengatur File Konfigurasi WordPress

Pada tahap ini Anda akan mengubah beberapa pengaturan dalam file konfigurasi WordPress. Membuat sandi rahasia untuk mengamankan instalasi adalah langkah pertamanya. WordPress menyediakan fitur generator sandi, maka Anda tidak perlu menciptakannya sendiri.

Untuk menggunakan generator sandi WordPress, ketikkan command berikut:

$ curl -s https://api.wordpress.org/secret-ke/1.1/salt/

Anda akan mendapat daftar sandi seperti demikian:

. . .

define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

. . .

Namun perlu diingat bahwa Anda harus meminta sandi baru setiap kali ingin mengubah file konfigurasi WordPress.

Sekarang, bukalah file tersebut dengan command ini:

$ sudo nano /va/www/wordpress/wp-config.php

Lalu, carilah bagian yang menunjukkan sandi palsu seperti di bawah:

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

Setelah dihapus dan diganti dengan sandi yang Anda dapatkan, command akan berubah.

. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

Selanjutnya, Anda akan mengubah pengaturan koneksi database pada bagian awal file konfigurasi ini. Gantilah nama, user, dan password database yang ada di file ini dengan yang telah Anda buat untuk MySQL.

Selain itu, tentukanlah cara yang akan digunakan WordPress untuk menulis data di filesystem. Anda bisa memilih cara ‘direct’ karena web server telah diizinkan untuk melakukan hal yang sama pada filesystem. Jika pengaturan ini gagal, WordPress akan meminta kredensial akun FTP Anda ketika melakukan beberapa hal.

Untuk mengaktifkan pengaturan di atas, Anda dapat mengetikkan command berikut di bawah setting koneksi database atau bagian manapun dari file konfigurasi WordPress:

. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

Simpan dan tutup file tersebut setelah Anda selesai.

6. Menyelesaikan Instalasi melalui Web Interface

Karena pengaturan server sudah dilakukan, Anda dapat menyelesaikan instalasi WordPress melalui web interface.

Bukalah web browser Anda dan masukkan nama domain website Anda atau IP address-nya. Hal pertama yang akan muncul adalah pilihan bahasa yang akan digunakan dalam WordPress.

Setelah memilih, Anda akan dihadapkan pada halaman pengaturan utama. Yang perlu Anda lakukan di dalamnya meliputi:

  1. Menentukan nama dan username untuk website Anda. Demi keamanan, jangan memilih “admin” sebagai username. Anda tidak perlu menentukan password sendiri karena WordPress telah membuatkannya.
  2. Memasukkan alamat email yang digunakan untuk website Anda.
  3. Menentukan visibilitas website di mesin pencarian.

Jika langkah di atas telah dilakukan, klik tombol “Install WordPress”. Lalu, masuk ke dashboard Anda dengan klik “Log In”.

[Download Ebook Gratis: Panduan VPS Lengkap untuk Pemula]

Penutup

Demikian artikel mengenai cara install WordPress dengan LEMP di Ubuntu 18.04. Jangan lupa subscribe Blog Niagahoster untuk mendapatkan update tentang VPS, hosting web, website, dan topik menarik lainnya!

Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Leave a Reply

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