WordPress adalah salah satu CMS (Content Management System) yang paling populer. Ada banyak pilihan CMS untuk membangun sebuah web berbasis PHP, namun sebelum mencoba CMS yang lain pemilihan wordpress adalah sangat tepat karena memiliki banyak keunggulan dukungan ribuan tema dan plugin yang siap menjandikan website kita lebih powerfull.
Berikut ini saya sajikan urutan langkah-langkah bagaimana Cara Install WordPress di Debian 10 Menggunakan Nginx MariadB PHP7.4-FPM. Panduan ini setidaknya sebagai bahan referensi bagi kita yang selama ini mungkin hanya memakai wordpress melalui paket aplikasi yang sudah disediakan oleh hosting berbayar. Boleh jadi dengan pertimbangan tertentu pula kita ingin memanfaatkan komputer server/vps yang dimiliki untuk menjalankan wordpress sebagai aplikasi pembuat konten yang diinginkan.
1. Install Debian 10
Pada tutorial ini Install Debian 10 sengaja dilewati karena kalau dijelaskan dari awal tentunya kan panjang dan lama. Anda bisa mencari tutorial cara Install Debian Server 10 di Mbah Gugel jumlahnya sangat banyak. Rekomendasi saya silahkan cari tutorial di howtoforge.com dengan keyword howto install Debian 10 minimal server. Namun jika Anda ingin praktis dan melewati langkah ini tapi tetap melanjutkan ke langkah berikutnya saya sudah menyediakan VHD Debian 10 minimal server. Anda tinggal memasangnya pada virtual box dan menjalankannya. VHD ini hanya berisi kelengkapan dasar bawaan ubuntu server seperti nano dan openssh yang nantinya sangat diperlukan untuk kebutuhan instalasi komponen lainnya. Untuk mendapatkan VHD Debian kosongan ini silahkan download melalui link berikut ini :
VHD Debian 10 Minimal server ini sudah dilakukan pengubahan dari mode IP DHCP ke IP Statis 192.168.0.200. Openssh juga sudah terpasang agar nantinya server ini bisa diremote menggunakan Putty, winscp atau aplikasi remote server lainnya. Akses ssh juga sudah saya aktifkan Root Login Akses agar bisa akses melalui SSH. Sebelum melangkah lebih jauh dalam menjalankan perintah-perintah instalasi komponen server, perlu diketahui bahwa pada tutorial ini, saya menggunakan hak akses sebagai root.
Sebelum melakukan instalasi paket-paket yang dibutuhkan, ketikkan perintah berikut ini untuk update Debian di console linux :
2. Install Web Server Nginx
Masuk ke console linux dengan mengetikkan perintah :
Setelah proses install webserver selesai, untuk memastikan bahwa apache sudah terinstall dengan baik, buka browser dengan mengetikkan IP server pada URL address, maka akan muncul halaman default Nginx seperti ini :
setelah Nginx terpasang, berikut ini perintah yang dapat dijalankan untuk mematikan, menghidupkan dan mengaktifkan Nginx saat server mulai dijalankan :
3. Install Database MariadB
WordPress juga memerlukan database server. MariadB merupakan pilihan yang sangat tepat untuk dipakai pada database server. Untuk Install database MariadB jalankan perintah berikut ini :
setelah mariadb terpasang, berikut ini perintah yang dapat dilankan untuk mematikan, menghidupkan dan mengaktifkan MariadB saat server mulai dijalankan :
Selanjutnya silahkan jalankan perintah berikut ini untuk mengamankan MariadB server :
akan muncul baris pertanyaan untuk dikonfirmasi y (yes) atau n (no), berikut pertanyaan dan panduan menjawabnya :
- Enter current password for root (enter for none): Tekan Enter Saja
- Set root password? [Y/n]: Y
- New password: Masukkan Password
- Re-enter new password: Ulangi Password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
4. Install PHP 7.4-FPM dan Module Yang Dibutuhkan
Repository bawaan Debian tidak menyediakan PHP7.4, maka kita membutuhkan repository pihak ketiga untuk mendapatkannya.
Jalankan perintah berikut ini untuk menambahkan repositori pihak ketiga
dan Install modul-modul yang dibutuhkan oleh WordPress :
allow_url_fopen = On
memory_limit = 128M
upload_max_filesize = 8M
max_execution_time = 60
post_max_size = 8M
cgi.fix_pathinfo = 0
5. Membuat Database WordPress
Berikut ini adalah langkah-langkah Membuat database WordPress, bila ada pertanyaan tentang password masukkan password yang telah dibuat saat Instalasi MariadB pada langkah 3.
Berikutnya buat nama database, buat misalnya dengan nama wordpress, dan jalankan dengan perintah :
Buat Nama User database misalnya wordpressuser dan gunakan password baru user :
Berikutnya ketikkan perintah berikut ini :
6. Install WordPress
Langkah berikutnya adalah melakukan pemasangan WordPress di server. Saat tulisan ini dibuat, WordPress terbaru memiliki versi 5.3.2. Jalankan perintah berikut ini untuk mendownload WordPress release terbaru.
Jalankan perintah berikut untuk mengekstrak file download wordpress, dan memindahkannya ke folder wordpress ke /var/www/html/wordpress
Berikutnya adalah membuat folder moodledata sebagai tempat database moodle
berikutnya adalah change modify the directory permission folder wordpress
Lakukan instalasi curl pada server, dengan menjalankan perintah :
Berikutnya ketik perintah berikut ini untuk mendapatkan kode API dari wordpress untuk digunakan sebagai kelengkapan file konfigurasi wordpress
Sehingga mendapatkan output seperti ini.
define(‘SECURE_AUTH_KEY’, ‘]6v.q9E*x@S+Az_9|-[hlpt,rx+lz@oa+%l.EI=:m6Ia~POdAq|E WSIi@^$93j(#’);
define(‘LOGGED_IN_KEY’, ‘1w4.q?72XOh[-X^sa @|N]p!:I-]a?<K9AO7VQ-kYjYzRLoY;Tzn $BRtFlo+4>~n’);
define(‘NONCE_KEY’, ‘cUB$u1H9fu2T#YQ]M)-.*Y4UMK2Tl1zM/-3dI%IT%Mnu!7Cw/XJJ #4[jR:WvtE3_’);
define(‘AUTH_SALT’, ‘3f.6E&]}m$B/<2$<7}r1tB YFAO-LcWsD–ZCFB!(mq7Quk%SoWF FSDFK%$)muW>’);
define(‘SECURE_AUTH_SALT’, ‘AR(:#tD|x.J}hK8rY^H:Go<qx8owyv1YGj=U6SMm,^JJKY}Actd- 7ynI(F%E=#-h’);
define(‘LOGGED_IN_SALT’, ‘x:,jXt*vpXHu)W~/oYF4Nxl@7Tg(3w-sj(E+;.rv-DI-dSB.O-!L Dyz-s*->45pR’);
define(‘NONCE_SALT’, ‘)+];+~jza]il/D;mc>g(eUe+A0.lV2i4gQsjM281.J%1Cl 3d<Y2 +ZnL#nfkda0#’);
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don’t have to use the web site, you can
* copy this file to “wp-config.php” and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘database_name_here’ );
/** MySQL database username */
define( ‘DB_USER’, ‘username_here’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘password_here’ );
/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );
/** Database Charset to use in creating database tables. */
define( ‘DB_CHARSET’, ‘utf8’ );
/** The Database Collate type. Don’t change this if in doubt. */
define( ‘DB_COLLATE’, ” );
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
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’ );
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘wp_’;
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define( ‘WP_DEBUG’, false );
/* That’s all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( ‘ABSPATH’ ) ) {
define( ‘ABSPATH’, dirname( __FILE__ ) . ‘/’ );
}
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . ‘wp-settings.php’ );
untuk bagian script text yang berwarna merah silahkan isi sesuaikan dengan langkah 5 dan untuk bagian script yang berwarna biru, silahkan isi sesuai dengan kode API wordpress yang kita dapatkan di atas. Sehingga script-nya menjadi seperti ini :
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don’t have to use the web site, you can
* copy this file to “wp-config.php” and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘wordpress’ );
/** MySQL database username */
define( ‘DB_USER’, ‘wordpressuser’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘sudutbaca’ );
/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );
/** Database Charset to use in creating database tables. */
define( ‘DB_CHARSET’, ‘utf8’ );
/** The Database Collate type. Don’t change this if in doubt. */
define( ‘DB_COLLATE’, ” );
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘YVeHd u}_=T^)a]/@7RC_6>gC/+6;^bpv@nq{TY0E_P g7+LaXT0MGY&*B)/i6]v’);
define(‘SECURE_AUTH_KEY’, ‘]6v.q9E*x@S+Az_9|-[hlpt,rx+lz@oa+%l.EI=:m6Ia~POdAq|EWSIi@^$93j(#’);
define(‘LOGGED_IN_KEY’, ‘1w4.q?72XOh[-X^sa @|N]p!:I-]a?<K9AO7VQ-kYjYzRLoY;Tzn$BRtFlo+4>~n’);
define(‘NONCE_KEY’, ‘cUB$u1H9fu2T#YQ]M)-.*Y4UMK2Tl1zM/-3dI%IT%Mnu!7Cw/XJJ#4[jR:WvtE3_’);
define(‘AUTH_SALT’, ‘3f.6E&]}m$B/<2$<7}r1tB YFAO-LcWsD–ZCFB!(mq7Quk%SoWFFSDFK%$)muW>’);
define(‘SECURE_AUTH_SALT’, ‘AR(:#tD|x.J}hK8rY^H:Go<qx8owyv1YGj=U6SMm,^JJKY}Actd-7ynI(F%E=#-h’);
define(‘LOGGED_IN_SALT’, ‘x:,jXt*vpXHu)W~/oYF4Nxl@7Tg(3w-sj(E+;.rv-DI-dSB.O-!LDyz-s*->45pR’);
define(‘NONCE_SALT’, ‘)+];+~jza]il/D;mc>g(eUe+A0.lV2i4gQsjM281.J%1Cl 3d<Y2+ZnL#nfkda0#’);
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘wp_’;
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define( ‘WP_DEBUG’, false );
/* That’s all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( ‘ABSPATH’ ) ) {
define( ‘ABSPATH’, dirname( __FILE__ ) . ‘/’ );
}
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . ‘wp-settings.php’ );
Simpan perubahan.
7. Konfigurasi Situs WordPress di Nginx
Lakukan sedikit pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds
keepalive_timeout 2;
[…]
Langkah berikutnya adalah mengkonfigurasi pengaturan file di Nginx untuk Moodle. Pada file inilah akan dikontrol bagaimana user bisa mengakses konten Moodle. Jalankan perintah berikut ini untuk membuat file konfigurasi dan namakan saja filenya dengan moodle :
Selanjutnya, copy dan paste script berikut dan sesuaikan dengan domain yang kita pakai, setelah itu simpan dan tutup :
server {
listen 80;
listen [::]:80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name 192.168.0.200;
1 |
client_max_body_size 100M; |
location / {
try_files $uri $uri/ =404;
}
location ~ [^/]\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Berikutnya aktifkan moodle di nginx dengan mengkopi/menduplikat /etc/nginx/sites-available/wordpress ke /etc/nginx/sites-enabled, melalui perintah :
Untuk memastikan konfigurasi yang kita lakukan benar ketikkan perintah berikut ini :
dan apabila konfigurasi benar, maka outputnya adalah seperti tampilan ini :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Untuk memastikan bahwa PHP yang dipasang sudah PHP7.4-FPM, maka buatlah file php.info di dokumen root var/www/html/wordpress, dengan perintah :
dan isi kan :
phpinfo();
simpan dan tutup editor.
Selanjutnya, restart nginx dengan mengetikkan perintah :
Sekarang kita cek info php, dengan mengetikkan http://192.168.0.200/info.php
Jika ketarangan pada baris Server API menunjukkan FPM/FastCGI maka instalasi PHP7.4-FPM sudah benar dan berjalan dengan baik.
8. Jalankan WordPress
Langkah terakhir adalah memeriksa keberhasilan Install WordPress di Debian 10 Menggunakan Nginx, MariadB, PHP7.4-FPM. Untuk memanggil moodle, buka browser dan ketikkan alamat http://alamatIPServer/. Karena pada server yang telah kita bangun memakai IP Server 192.168.0.200 maka alamat IP yang kita ketikkan di url address browser adalah http://192.168.0.200/ , dan hasilnya adalah seperti ini, dan tekan next :
Selanjutnya pilih Bahasa yang digunakan dalam pengaturan wordpress, di sini saya pilih bahasa Indonesia, selanjutnya klik lanjutkan.
Selanjutnya buat judul/nama situs, user/password untuk akses web dll sesuai selera kita. Klik Install wordpress, sehingga muncul tampilan seperti ini :
Klik log masuk, sehingga mendapatkan tampilan seperti ini :
Selanjutnya masukkan username dan password akses wordpress yang telah dibuat sebelumnya. Klik login
Nah tampilan di atas adalah dasboard tempat kita melakukan pengisian konten, pengaturan tampilan, pemasangan plugin dan lain-lain.
Untuk mengakses website cukup kita ketikkan alamat ip yang sudah kita tentukan sebelumnya yaitu 192.168.0.200 dan untuk akses dasbord pengaturan website, ketik alamat : 192.168.0.200/wp-admin
Nah selesai sudah pekerjaan kita untuk Install WordPress di Debian 10 (Buster). Akan sangat senang dan bangga apabila kita dapat melakukannya sendiri seperti awal mula saya belajar melakukan ini. Langkah berikutnya adalah memaksimalkan dan mengoptimalkan penggunaan WordPress untuk pembelajaran. Terima kasih sudah berkunjung dan membaca tulisan tentang Cara Install WordPress di Debian 10 Menggunakan Nginx MariadB PHP7.4-FPM ini. Jika Anda menginginkan VHD WordPress On Debian 10 With Nginx MariadB PHP7.4-FPM hasil dari tutorial di atas, silahkan download melalui link berikut ini :
Baca Juga :
Cara Install Moodle di Ubuntu 16.04 LTS Menggunakan Apache2, MariadB, PHP7.2
semoga bermanfaat.
luar biasa om tutorialnya, untuk perintah yang memastikan bahwa PHP yang dipasang sudah PHP7.4-FPM
nano /var/www/html/moodle/info.php
keluar tulisan :
[ Directory ‘/var/www/html/moodle’ does not exist ]
kira2 salahnya di mana ya om????
Terima kasih kepada team sudutbaca yang sudah memberikan contoh2 dan server yg siap pakai..Sangat membantu sekali untuk dunia pendidikan..
Namun kiranya bisa diberikan panduan dan server VHD menggunakan NGINX mengenai gabungan ketiga jenis web dalam satu VHD ( Moodle, WordPress,Chamilo) atau mungkin cara menggabungkannya..
Terimakasih Majulah Pendidikan Indonesia
Terima kasih atas apresiasinya… doakan kami sehat dan memiliki waktu luang agar terus bisa berbagi…
Terima kasih banyak atas tutorial dan file VHD. Buatin juga dong untuk video conference seperti Jitsi dan BigBlueButton.
Terimakasih pada sudutbaca.com sudah sharing ilmu nya,
PERTANYAAN
Bagaimana cara untuk menambah SIZE Upload, Saya sudah edit file php.ini ,
sudah di rstart tapi tetap ga bisa
Sama-sama… Semoga bermanfaat 🙏