WordPress adalah sistem manajemen konten (CMS) sumber terbuka yang digunakan untuk membuat dan mengelola situs web. Dikembangkan pertama kali pada tahun 2003, WordPress awalnya dibuat sebagai platform untuk blogging, tetapi seiring waktu, telah berkembang menjadi CMS yang sangat fleksibel dan dapat digunakan untuk berbagai jenis situs web, termasuk situs web perusahaan, toko online, forum, dan banyak lagi.
Selain itu wordpress juga memiliki database tema dan plugin yang besar sehingga menjadikan situs web anda terlihat profesional, mudah di konfigurasi, dan menarik. Itulah mengapa lebih dari 40% internet menggunakan wordpress.
Langkah 1 – Install LAMP Server
Jika anda baru terjun ke dunia perlinuxan mungkin terdengar asing dengan kalimat LAMP. LAMP adalah singkatan dari (Linux, Apache, Mysql, dan PHP) yang merupakan kumpulan software yang digunakan untuk menghosting situs website dan aplikasi di internet. LAMP server adalah spesifikasi utama untuk menghosting banyak aplikasi yang menggunakan PHP. Dalam sesi kali ini saya akan mendeomstrasikan bagaimana cara instalasi LAMP server di sistem operasi debian 11.
Pastikan anda sudah masuk sebagai super user dengan mengetikkan perintah
sudo su
dan masukkan passswordnya.
Install Apache Web Server
Apache web server adalah salah satu webserver populer di dunia. ini adalah bawaan untuk menghosting website. untuk melakukan instalasi Apache web server gunakan perintah.
apt-get install apache2 -y
Setelah selesai menginstall. Jalankan layanan Apache dan enable yang berguna saat sistem reboot secara otomatis layanan apache akan berjalan otomastis.
systemctl start apache2
systemctl enable apache2
Install PHP 8
Pada saat menulis artikel ini, php menggunakan versi terbaru yaitu php 8.0. PHP 8 memiliki peningkatan kinerja yang signifikan dan fitur-fitur terbaru. jadi selalu di sarankan untuk menginstall PHP 8 di server anda.
sebelum melakukan instalasi PHP 8 lakukan instalasi depedensi yang di perlukan terlebih dahulu
apt-get install gnupg2 ca-certificates apt-transport-https software-properties-common -y
Selanjutnya tambahkan repository Sury ke APT dan tambahkan GPG key dengan menginkuti perintah berikut.
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -
Selanjutnya, lakukan update repository dan install PHP 8 dengan semua ekstensi PHP yang di perlukan untuk menginstall WordPress dengan mengetik perintah berikut.
apt-get update -y
apt-get install php libapache2-mod-php php-pear php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-xml-util php-gettext php-mysql php-bcmath unzip wget git -y
jika sudah terinstall lakukan cek versi php dengan mengetik perintah berikut.
php -v
Contoh Output
PHP 8.0.9 (cli) (built: Jul 30 2021 13:09:07) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies
with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies
Setelah terinstall, anda perlu configurasi PHP untuk wordpress dengan mengetik perintah berikut
nano /etc/php/8.0/apache2/php.ini
Edit pada bagian ini:
max_execution_time = 600
upload_max_filesize = 1024M
post_max_size = 1024M
Install MYSQL
WordPress bisa menggunakan MYSQL atau MariaDB sebagi database backend untuk menyimpan dan memanage halaman website dan informasi user. sekarang, saat nya anda menginstall dan menggunakan MYSQL sebagai database backend. Pada sistem operasi debian tidak terdapat mysql bawaan di repository reminya jadi anda bisa menginstall langsung dari halaman resmi mysql dengan mengikuti perintah berikut.
apt install wget -y
Perintah di atas berfungsi untuk menginstall wget untuk mendowload berkas dari repository, selanjutnya mendownload mysql.
sebelum mendownload file di server, coba masuk ke direktori di mana bisa anda masukkan, seperti di directori sementara /temp yang digunakan dalam contoh ini
cd /tmp
Sekarang anda bisa mendownloadnya, anda bisa menyesuaikan versi MYSQL di halaman resmi mereka.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
file sekarang sudah terdownload verifikasi kembali dengan mengetikkan perintah
ls
Akan menghasilkan output sebagai berikut
mysql-apt-config_0.8.22-1_all.deb
Sekarang anda bersiap untuk melakukan instalasi. Jalankan perintah dpkg untuk menginstall, menghapus, mencari paket software .deb . lalu -i mengindikasikan bahwa anda ingin menginstall file yang di tentukan.
dpkg -i mysql-apt-config*
Setelah menyelesaikan langkah sebelumnya, Anda akan melihat layar konfigurasi untuk MySQL.
Di layar ini, Anda dapat memilih versi MySQL yang ingin diinstal dan opsi untuk menginstal repositori untuk alat terkait MySQL lainnya.
Secara default, layar konfigurasi akan menambahkan informasi repositori untuk MySQL versi stabil terbaru dan tidak ada yang lain.
Untuk melanjutkan instalasi dengan versi stabil terbaru, tekan ENTER.
Sekarang paket akan selesai di tambahkan ke repository. lakukan update untuk megupdate chache apt paket ke versi terbaru.
apt update
Sekarang setelah Anda menambahkan repositori MySQL, Anda siap untuk menginstal perangkat lunak server MySQL yang sebenarnya. Jika Anda perlu memperbarui konfigurasi repositori ini, jalankan dpkg-reconfigure mysql-apt-config
, pilih opsi baru, lalu apt-get update
untuk menyegarkan cache paket Anda.
Setelah menambahkan repository terbaru , sekarang anda bisa menginstall MYSQL server.
apt install mysql-server
apt akan memeriksa semua mysql-server terbaru dan menentukan paket MYSQL terbaru dan terbaik untuk sistem anda. itu akan mengkalkulasi paket depedensi dan bertanya apakah anda ingin menyetujui instalasi. Ketik Y lalu ENTER. Secara langsung software akan terinstall.
Anda akan mendapatkan pertanyaan apakah anda ingin menset password root selama proses instalasi. Pilih dan konfirmasi a secure password to continue. Selanjutnya, akan muncul pertanyaan baru untuk memilih bawaan authentikasi plugin. baca pertanyaan tersebut untuk mengetahui pilihan anda. jika anda ragu, pilih Use Strong Password Encryption untuk kemanan.
Setelah serangkaian perjalanan tadi dan instalasi sudah berjalan dengan baik saatnya untuk memverifikasi apakah mysql sudah berjalan dengan baik dengan mengetikkan perintah systemctl.
systemctl status mysql
Jika terdapat tulisan ACtive: active (running) pada baris MYSQL berarti sudah berjalan. Langkah selanjutnya anda di minta untuk membuat instalasi sedikit lebih aman.
Ketikkan perintah berikut untuk membuat password root
mysql_secure_installation
Program akan bertanya kepada anda, dan anda cukup menjawab Yes (Y/y button) or No (any other Key):
mysqladmin
adalah klien administratif baris perintah untuk MySQL. Anda akan menggunakannya untuk terhubung ke server dan mengeluarkan beberapa informasi versi dan status. Bagian -u root
memberitahu mysqladmin untuk login sebagai pengguna root MySQL, -p
memerintahkan klien untuk meminta kata sandi, dan version adalah perintah sebenarnya yang ingin Anda jalankan:
mysqladmin -u root -p version
Langkah 2 – Membuat Database WordPress
Sekarang, anda akan perlu membuat sebuah wordpress database dan user di MYSQL dengan mengikuti perintah berikut:
mysql -u root -p
masukkan password root yang sudah anda set tadi pada saat instalasi MYSQL.
Selanjutnya buat database serta user database dengan mengetikkan perintah berikut:
CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'Passw0rd';
GRANT ALL PRIVILEGES ON wordpressdb.* to wordpressuser@localhost identified by 'PasswordKUAT';
Selanjutnya, flush privilleges untuk menambahkan dan menerapkan perubahan lalu keluar dari database MSQL menggunakan perintah berikut:
FLUSH PRIVILEGES;
QUIT;
Langkah 3 – Download WordPress
Sekarang, anda perlu untuk mendownload dan mempersiapkan wordpress di server anda. Ini adalah rekomendasi untuk mendownload versi terbaru untuk wordpress dari website resmi.
pertam, arahkan ke direktori root apache dengan menggunakan perintah berikut:
cd /var/www
Selanjutnya download wordpress versi terbaru.
wget https://wordpress.org/latest.zip
selanjutnya, unzip file download menggunakan perintah unzip:
unzip latest.zip
Selanjutnya ubah nama direktori wordpress berdasarkan domain anda.
mv wordpress domainanda.com
Selanjutnya, arahkan ke domainanda.com dan copy wp-config-sample.php
cd domainanda.com
cp wp-config-sample.php wp-config.php
Sekarang edit konfigurasi wordpress dan tambahkan settingan database.
nano wp-config.php
Ubah pada bagian yang di bawah ini, sesuaikan dengan konfigurasi database anda sebelumnya.
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );
/** MySQL database username */
define( 'DB_USER', 'wordpress_user' );
/** MySQL database password */
define( 'DB_PASSWORD', 'PasswordKUAT' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
define('FS_METHOD', 'direct');
Simpan setelah anda selesai membuat file. lalu ubah kepemilikan dari direktori domainanda.com ke www-data:
chown -R www-data:www-data /var/www/html/domainanda.com
Langkah 4 – Buat Apache Virtual Host untuk WordPress
Selanjutnya, anda perlu membuat sebuat virtual host apache konfigurasi file wordpress. Anda bisa membuatnya dengan mengikuti perintah berikut.
nano /etc/apache2/sites-available/domainanda.conf
tambahkan kode berikut di file.
<VirtualHost *:80>
ServerName domainanda.com
ServerAlias www.domainanda.com
ServerAdmin admin@domainanda.com
DocumentRoot /var/www/blog
ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
<Directory /var/www/blog>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
simpan dan tutup file lalu verifikasi konfigurasi file untuk melihat sintax error:
apache2ctl configtest
jika tidak ada kesalahan.
Syntax OK
Sekarang aktifkan module virtual apache yang baru saja di tambahkan.
a2ensite domainanda.com
sudo a2enmod rewrite ssl headers
restart layanan apache untuk menerapkan perubahan konfigurasi.
systemctl restart apache2
Langkah 5 – Akses WordPress Installer
Akses website wordpress menggunakan url yang sudah anda daftarkan tadi di apache URL http://domainanda. pilih bahasa yang di gunakan dan lanjutkan.
Masukkan password serta identitas wesite anda
Setelah itu akan ada tombol login maka lakukan login ke halaman dashboard.
Pada halaman ini masukkan username dan password yang sudah anda daftarkan tadi.
Jika berhasil anda akan dibawa ke halaman dashboard seperti gambar di bawah.
Langkah 6 – Install WordPress dengan SSL Let’s Encrypt
Let’s encrypt di gunakan untuk mengenerate ssl gratis untuk sertifikat FQDN apapun mulailah dengan menginstall alat yang di perlukan.
apt install certbot python3-certbot-apache
Setelah paket certbot terinstall, proses selanjutnya adalah melakukan generate sertifikat SSL menggunakan perintah:
certbot --apache
Lanjutkan seperti yang ditunjukkan:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): Enter a valid Email address here
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
Account registered.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: lupakode.com
2: www.blog.lupakode.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Requesting a certificate for wordpress.example.com
Created an SSL vhost at /etc/apache2/sites-available/wordpress-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/wordpress-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/wordpress-le-ssl.conf
Redirecting vhost in /etc/apache2/sites-enabled/wordpress.conf to ssl vhost in /etc/apache2/sites-available/wordpress-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wordpress.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: admin@lupakode.com).
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/wordpress.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/wordpress.example.com/privkey.pem
Your certificate will expire on 2022-07-18. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again with the "certonly" option. To non-interactively
renew *all* of your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Setelah proses berhasil, Sekarang website anda bisa di akses dengan https.
Referensi:
Photo by Daniel Thomas on Unsplash