WordPress adalah salah satu CMS yang sering digunakan oleh pengelola website, dapat digunakan di hampir semua platform. Namun, selain meng-install di cPanel, WordPress juga bisa kamu install melalui LEMP Stack yang berbasis CLI (Command Line Interface). Di artikel ini, kamu akan mempelajari cara install WordPress di LEMP Stack untuk server dengan OS Debian 10.
Apa itu WordPress?
Sedikit penjelasan mengenai WordPress, WordPress adalah CMS (Content Management System) yang digunakan untuk mengelola konten pada website. Tak hanya digunakan untuk membuat artikel, tapi kamu juga bisa menggunakan WordPress sebagai forum, toko online, portfolio, dan lain-lain.
Tidak heran, karena WordPress merupakan CMS yang bersifat open-source sehingga semua orang dapat mengunduh, melakukan modifikasi, menciptakan dan memperjual-belikan tema hingga program sesuai kebutuhan pengelola website. Sederhananya, WordPress adalah CMS yang sangat multifungsi.
Baca Juga: Cara Install WordPress dengan LEMP Stack di CentOS 7
Cara Install WordPress di LEMP Stack Debian 10
Sebelum melakukan instalasi WordPress di LEMP Stack, setidaknya kamu perlu mempersiapkan dua hal berikut:
Jika sudah disiapkan, perhatikan beberapa langkah utama yang akan dilakukan saat meng-install WordPress di LEMP Stack Debian 10 di bawah ini:
- Update Server
- Install Packages
- Install Firewall
- Install Nginx Web Server
- Install MariaDB Database Server
- Install PHP 7.2
- Configure PHP.ini
- Create Database
- Setting Virtual Host Nginx
- Download WordPress
- Testing
Kemudian simak penjelasan tentang cara instalasinya di bawah ini.
Update Server
Login sebagai root ke server dan perbarui versi server dengan perintah berikut:
$ apt-get update -y $ reboot
Install Packages
Install beberapa packages yang dibutuhkan Debian 10.
$ apt-get install wget nano perl zip unzip gnupg2 -y
Install Firewall
Sebelum memulai instalasi WordPress di Debian 10, kamu perlu meng-install firewall agar lebih aman. Gunakan perintah berikut untuk menginstal CSF (ConfigServer Security & Firewall) yang digunakan pada tutorial kali ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
Ada sedikit perbedaan instalasi pada Debian 10, ikuti perintah di bawah ini.
Install packages libwww:
$ apt-get install libwww-perl -y
$ perl /usr/local/csf/bin/csftest.pl
Lalu akan muncul output di bawah ini.
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
Nonaktifkan firewalld dengan:
$ systemctl stop firewalld $ systemctl disable firewalld
Ubah “make TESTING=’1’ menjadi 0” di konfigurasi CSF.
$ nano /etc/csf/csf.conf
Restart dan tes CSF:
$ systemctl restart {csf,lfd} $ systemctl enable {csf,lfd} $ systemctl is-active {csf,lfd}
Kemudian restart CSF agar dapat me-reload hasil konfigurasi yang sudah diperbarui.
$ csf -r
Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di Ubuntu 18.04
Install Nginx Web Server
Mengingat kita menggunakan LEMP Stack untuk meng-install WordPress di Debian 10, maka kamu perlu meng-install web server Nginx agar nantinya bisa melakukan instalasi WordPress.
$ apt-get install nginx -y
Jika instalasinya sudah selesai, start dan aktifkan Nginx on-boot.
$ systemctl enable nginx $ systemctl start nginx
Cek apakah Nginx sudah running atau belum.
$ systemctl status nginx
-
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en Active: active (running) since Wed 2021-02-24 09:31:54 UTC; 19h ago Docs: man:nginx(8) Process: 14998 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process Process: 14999 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (cod Main PID: 15000 (nginx) Tasks: 2 (limit: 1149) Memory: 3.2M CGroup: /system.slice/nginx.service ├─15000 nginx: master process /usr/sbin/nginx -g daemon on; master_pr └─15002 nginx: worker process
Gunakan perintah di bawah ini untuk mengecek versi Nginx yang kamu gunakan.
$ nginx -v nginx version: nginx/1.14.2
Install MariaDB Database Server
Kami menggunakan MariaDB sebagai server database untuk menggantikan MySQL, karena MySQL sudah deprecated dan tidak up-to-date lagi. Gunakan perintah berikut:
$ apt-get install mariadb-server -y
Jika instalasinya sudah selesai, start dan enable MariaDB on-boot.
$ systemctl enable mariadb $ systemctl start mariadb
Jangan lupa untuk mengecek status MariaDB, apakah sudah running atau belum.
$ systemctl status mariadb
-
mariadb.service - MariaDB 10.3.27 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: Active: active (running) since Wed 2021-02-24 08:34:08 UTC; 20h ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3854 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 1149) Memory: 73.6M CGroup: /system.slice/mariadb.service └─3854 /usr/sbin/mysqld
Gunakan command di bawah ini untuk memulai inisialisasi setup MariaDB.
$ mysql_secure_installation Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Baca Juga: Cara Install WordPress di cPanel
Install PHP 7.2
Di artikel ini, kami menggunakan PHP 7.2, ikuti instruksi di bawah ini untuk menjalankan instalasinya.
Import dan tambahkan repositori SURY.
$ wget https://packages.sury.org/php/apt.gpg $ apt-key add apt.gpg $ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list
Update repositori indeks:
$ apt-get update -y
Kemudian install PHP dengan:
$ apt-get install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl -y
Start dan enable PHP 7.2-FPM on-boot:
$ systemctl enable php7.2-fpm $ systemctl start php7.2-fpm
Cek status php7.2-fpm, apakah sudah aktif atau belum:
$ systemctl status php7.2-fpm
-
php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor prese Active: active (running) since Wed 2021-02-24 09:31:02 UTC; 19h ago Docs: man:php-fpm7.2(8) Process: 14964 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/p Main PID: 14960 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 4, slow: 0, Traffic: 0req/se Tasks: 3 (limit: 1149) Memory: 13.4M CGroup: /system.slice/php7.2-fpm.service ├─14960 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─14962 php-fpm: pool www └─14963 php-fpm: pool www
Configure PHP.ini
Buka file php.ini dan PHP-FPM configuration. Ubah config sesuai di bawah ini.
$ nano /etc/php/7.2/fpm/php.ini
;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0
$ nano /etc/php/7.2/cli/php.ini
;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0
Kemudian simpan dan keluar.
Create Database
Agar dapat meng-install WordPress, kamu perlu membuat database dan user database-nya terlebih dulu.
$ mysql -u root -p $ CREATE DATABASE wp DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; $ GRANT ALL ON wp.* TO 'wpuser'@'localhost' IDENTIFIED BY 'p4ssw0rd123'; $ FLUSH PRIVILEGES; $ EXIT;
Konfigurasi Virtual Host Nginx
Atur virtual host Nginx hingga dapat menghubungkan domain ke server. Caranya, buat file sesuai dengan nama domain kamu, di sini kami menggunakan vps188.dewiweb.net.
$ nano /etc/nginx/sites-enabled/vps188.dewiweb.net
Kemudian tambahkan script di bawah ini:
server { listen 80; listen [::]:80; server_name wplemp.dewiweb.net; root /var/www/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Arahkan hasil config tersebut ke sites-available.
$ ln -s /etc/nginx/sites-enabled/vps188.dewiweb.net /etc/nginx/sites-available/vps188.dewiweb.net
Cek konfigurasi yang sudah dilakukan, apakah ada syntax error atau tidak:
$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reload dan restart Nginx:
$ systemctl reload nginx $ systemctl restart nginx
Download WordPress
Setelah server berhasil terkonfigurasi, langkah selanjutnya adalah unduh file WordPress ke direktori /tmp kemudian pindahkan ke direktori yang sudah diatur sebagai document root di virtual host domain.
$ cd /tmp $ curl -LO https://wordpress.org/latest.tar.gz $ tar -xzf latest.tar.gz $ cp -a /tmp/wordpress/. /var/www/html/ $ cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
Grab WordPress Secret Key Generator dengan:
$ curl -s https://api.wordpress.org/secret-key/1.1/salt/
Maka akan keluar output seperti di bawah ini.
define('AUTH_KEY', '2j5F@hR;--,4SN^q+sK0U<`BQ3x(gyx>A})8`sB)t-vXBx}rl/(Y,7aN&|3oUZ|3'); define('SECURE_AUTH_KEY', 'y|;lz4I>7T6-|AckUy2Gpbx.j9mv,6R~`-t,MCBAoWxegJ t9l|*|Ht+:>D736t-'); define('LOGGED_IN_KEY', '~LmVf`(.Yu)<yR0^+{DJvgDXlUU)Yu;DQ<do@>H&z2dZoCF-fG*|he6C&y+D+q+F'); define('NONCE_KEY', 'HEKq-Cgzo071a;G_,7NJ}+6I/z;Znc$w}1$mIilWvc!A.]N&=df8G^.yxmHw}(M9'); define('AUTH_SALT', 'd7=T|-:T^xM|8l:qSUoN.;h1v_h[Hb@o?#O-mq-}-G=&2^YN$Dk1~Y^p&pb!jt~s'); define('SECURE_AUTH_SALT', '!OhWQ{J,||b0T4JFfEbxp+SmyTmeD(P&.)i6L%T#,V#~b^jQ$hH:&S#&x)sqfJ`['); define('LOGGED_IN_SALT', 'N`D+t@+4w|<_&-E_>z%,79C.~CAHWcE#e+JX:sJ-S+jOuq7fB3~!{q<:;$6-RA[C'); define('NONCE_SALT', '8FK[G1%R~eP+q+<[/k/6H?HWYt:ooDsFT7@1CD+%fXVnX7cE2AB!)/k-Zk!Z|BQ3');
Simpan secret key tersebut ke Notepad karena nantinya akan disalin dan tempel (copy–paste) ke wp-config.php.
$ nano /var/www/html/wp-config.php
/** The name of the database for WordPress */
Ubah konfigurasi database-nya:
define( 'DB_NAME', 'wp' ); /** MySQL database username */ define( 'DB_USER', 'wpuser' ); /** MySQL database password */ define( 'DB_PASSWORD', 'p4ssw0rd123' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
Kemudian tempelkan hasil salinan kode key di atas pada “key”. Jika sudah, simpan dan keluar.
Testing
Cara install WordPress di LEMP Stack untuk Debian 10 hampir selesai. Langkah terakhir adalah akses website-mu untuk melakukan setup WordPress.
Baca Juga: 7 Plugin WordPress yang Wajib Kamu Instal
Simpulan
Demikian artikel cara install WordPress di LEMP Stack untuk Debian 10 ini. Sekarang kamu sudah bisa mulai melakukan konfigurasi pengaturan WordPress sesuai keinginanmu. Kamu juga bisa mengoptimasi performa website-mu dengan menggunakan plugin, tapi gunakan plugin secukupnya, ya! Selain itu, pastikan juga kamu menggunakan server VPS atau cloud hosting terbaik, agar website-mu tak hanya cepat dan aman, tapi juga bisa diandalkan!
Jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, Sahabat Dewaweb, salam sukses online!