Cara Install WordPress dengan Nginx di Debian 12 atau 11

WordPress adalah sistem manajemen konten (CMS) yang kuat dan banyak digunakan yang memungkinkan pengguna membuat dan mengelola situs web dengan mudah. Ketika dikombinasikan dengan tumpukan LEMP (Linux, NGINX, MariaDB, PHP), WordPress menjadi platform yang kuat dan berkinerja tinggi untuk pengembangan web. Tumpukan LEMP terkenal dengan efisiensi, kecepatan, dan skalabilitasnya, sehingga ideal untuk hosting situs web WordPress. Fitur utama WordPress mencakup antarmuka yang intuitif, ekosistem plugin yang luas, tema yang dapat disesuaikan, dan dukungan komunitas yang kuat.

Untuk menginstal WordPress di Debian 12 atau 11 dengan NGINX, MariaDB, dan PHP, ikuti langkah-langkah berikut. Panduan ini akan mencakup pengaturan tumpukan LEMP, instalasi WordPress, dan konfigurasi penting agar situs Anda aktif dan berjalan dengan lancar.

Instal LEMP Untuk WordPress

Perbarui Debian Sebelum Menginstal LEMP Stack

Sebelum Anda menginstal WordPress, perbarui sistem Debian Anda untuk mencegah potensi konflik. Buka terminal Anda dan jalankan:

sudo apt update && sudo apt upgrade

Perintah ini memperbarui paket yang tersedia dan meningkatkan sistem Anda.

Instal Paket yang Diperlukan

Bahkan jika Anda memiliki beberapa paket penting untuk WordPress, periksa kembali untuk memastikan Anda tidak melewatkan satu pun. Jalankan perintah berikut:

sudo apt install curl git wget unzip zip

Perintah ini menginstal atau mengonfirmasi paket yang diperlukan untuk WordPress.

Instal Nginx – Bagian 1 dari Instalasi LEMP

Untuk menyiapkan tumpukan LEMP, Anda perlu menginstal Nginx. Jalankan perintah ini:

sudo apt install nginx

Setelah menginstal, periksa apakah Nginx sedang berjalan:

systemctl status nginx

Jika layanan Nginx tidak aktif, Anda dapat mengaktifkannya dengan perintah berikut:

sudo systemctl enable nginx --now

Perintah ini memastikan Nginx dimulai pada setiap reboot server, yang penting agar tumpukan LEMP berfungsi.

Catatan: Sebaiknya gunakan versi utama Nginx terbaru untuk mengoptimalkan kinerja WordPress Anda. Anda dapat mengikuti panduannya di menginstal Nginx Mainline di Debian Linux untuk menginstal versi terbaru. Versi ini menawarkan fitur tambahan dan peningkatan untuk meningkatkan kecepatan dan kinerja situs web Anda secara keseluruhan.

Menyiapkan Firewall UFW untuk Nginx

Mengonfigurasi firewall UFW dengan server Nginx Anda sangat penting untuk keamanan dan mengizinkan akses eksternal ke port web standar. Kabar baiknya adalah Nginx menawarkan profil yang menyederhanakan proses pengaturan UFW.

Menginstal UFW:

Jika Anda belum menginstal UFW di sistem Debian Anda, jalankan perintah di bawah ini:

sudo apt install ufw

Mengaktifkan UFW:

Setelah terinstal, saatnya mengaktifkan UFW. Secara default, UFW memblokir semua koneksi masuk dan mengizinkan semua koneksi keluar. Aktifkan firewall dengan:

sudo ufw enable

Melihat Profil Nginx:

Untuk memeriksa profil Nginx yang tersedia untuk UFW, jalankan perintah berikut:

sudo ufw app list

Dari output, Anda akan melihat bahwa:

  • Nginx beroperasi pada port 80 (HTTP)
  • Nginx Secure beroperasi pada port 443 (HTTPS)
  • Nginx Full mencakup kedua port

Mengonfigurasi UFW untuk Nginx:

Jika Anda ingin mengaktifkan akses HTTP dan HTTPS, pilih profil Nginx Lengkap:

sudo ufw allow 'Nginx Full'

Namun, kebutuhan Anda mungkin berbeda:

Untuk akses HTTPS saja, pilih profil Nginx Secure:

sudo ufw allow 'Nginx Secure'

Akses khusus HTTP, gunakan profil HTTP Nginx:

sudo ufw allow 'Nginx HTTP'

Anda dapat membuat aturan UFW lainnya untuk mengamankan server Anda dan pengaturan LEMP dengan WordPress, dan Anda harus menginvestasikan waktu untuk mengunci server Anda jika server tersebut terekspos ke publik.

Instal MariaDB – Bagian 2 dari Instalasi LEMP

MariaDB, yang dikenal karena peningkatan kinerjanya dibandingkan MySQL, adalah komponen database dalam tumpukan LEMP. Jika Anda ingin menginstal MariaDB versi tertentu dari repositori resmi MariaDB.org, lihat panduan di menginstal MariaDB di Debian. Hal ini dapat lebih mengoptimalkan kinerja WordPress Anda.

Untuk menginstal MariaDB, jalankan:

sudo apt install mariadb-server mariadb-client

Setelah instalasi, periksa status MariaDB:

systemctl status mariadb

Perintah ini menampilkan status layanan MariaDB dan potensi kesalahan apa pun.

Jika MariaDB tidak berjalan, mulailah dengan:

sudo systemctl enable mariadb --now

Hal ini memastikan MariaDB dimulai pada setiap reboot sistem, yang sangat penting untuk tumpukan LEMP dan pengaturan WordPress yang stabil.

Amankan MariaDB dengan Skrip Keamanan

Untuk perlindungan data, Anda harus mengamankan instalasi MariaDB Anda. Instalasi MariaDB baru mungkin memiliki default keamanan yang lemah, sehingga membuat mereka rentan terhadap ancaman. Namun, skrip mysql_secure_installation dapat meningkatkan pertahanan database Anda.

Jalankan skrip keamanan:

sudo mysql_secure_installation

Skrip ini memandu Anda melalui beberapa konfigurasi keamanan:

  • Menetapkan kata sandi root atau memilih unix_socket untuk pencegahan akses tidak sah.
  • Menghapus akun pengguna anonim untuk membatasi akses database ke pengguna yang berwenang.
  • Membatasi login jarak jauh untuk akun pengguna root.
  • Menghapus database pengujian untuk menghindari akses tidak sah dan potensi kebocoran data.

Jawab setiap pertanyaan dengan penuh perhatian; pengaturan ini sangat mempengaruhi keamanan database Anda. Setelah menyelesaikan langkah-langkah tersebut, pengaturan MariaDB Anda seharusnya aman dan beroperasi.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... 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!

Langkah-langkah keamanan ini memastikan instalasi MariaDB Anda aman dan terlindungi dari ancaman.

Instal PHP, PHP-FPM – Bagian 3 dari Instalasi LEMP

Untuk tumpukan LEMP yang lengkap, Anda perlu menginstal PHP. PHP bertindak sebagai jembatan antara Nginx dan MariaDB, difasilitasi oleh PHP-FPM dan modul penting lainnya untuk WordPress.

Catatan: Jika Anda ingin versi PHP tertentu disesuaikan dengan kebutuhan Anda, konsultasikan dengan kami panduan menginstal PHP di Debian. Pengguna baru Linux saat ini harus menggunakan default sebelum menginstal versi khusus.

Jalankan perintah berikut untuk menginstal PHP, PHP-FPM, dan modul yang diperlukan:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Setelah instalasi, periksa status layanan PHP, serupa dengan yang Anda lakukan untuk MariaDB dan Nginx. Untuk contoh ini, kami menggunakan PHP 7.4:

systemctl status php7.4-fpm

Outputnya akan terlihat seperti ini:

Catatan: Versi PHP-FPM bervariasi pada setiap rilis stabil Debian. Jika Anda tidak yakin dengan versi Anda, jalankan php -v untuk mencari tahu.

Konfigurasi Pra-Instalasi Untuk WordPress dengan LEMP

Buat Struktur Direktori WordPress

Untuk menginstal WordPress di tumpukan LEMP Debian Anda, Anda bisa melakukannya unduh versi terbaru dari halaman download resmi WordPress.org atau gunakan perintah berikut untuk mendownloadnya langsung:

wget https://wordpress.org/latest.zip

Setelah diunduh, unzip arsip ke direktori /var/www/html menggunakan perintah berikut:

sudo unzip latest.zip -d /var/www/html/

Selanjutnya, pastikan WordPress memiliki izin menulis yang benar dengan mengatur izin pemilik direktori ke pengguna server web.

Hal ini dapat dilakukan dengan perintah berikut:

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

Setelah mengatur izin pemilik direktori, Anda harus mengatur izin yang benar untuk folder dan file WordPress menggunakan perintah berikut:

Untuk folder:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

Dan untuk file:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Mengatur izin folder dan file yang benar memastikan instalasi WordPress Anda aman dan berfungsi dengan benar.

Buat Database untuk WordPress

Untuk menjalankan WordPress di tumpukan Debian LEMP Anda, Anda harus membuat database menggunakan MariaDB. Akses shell MariaDB sebagai root menggunakan perintah berikut:

sudo mariadb -u root

Setelah berada di shell MariaDB, buat database baru menggunakan perintah berikut:

CREATE DATABASE WORDPRESSDB;

Selanjutnya, buat akun pengguna baru untuk WordPress dengan perintah berikut:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Catatan: Ganti “WPUSER” dan “PASSWORD” dengan nama pengguna dan kata sandi yang Anda inginkan.

Terakhir, tetapkan akses akun pengguna yang baru dibuat ke database situs WordPress hanya dengan menggunakan perintah berikut:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Setelah membuat akun pengguna, hapus hak istimewa untuk memastikan perubahan baru diterapkan dengan perintah berikut:

FLUSH PRIVILEGES;

Terakhir, keluar dari shell MariaDB dengan mengetik:

EXIT;

Atur File Konfigurasi WordPress

Menyiapkan file konfigurasi WordPress merupakan langkah penting dalam proses instalasi. Ini melibatkan penggantian nama contoh file wp-config.php dan memasukkan detail konfigurasi yang diperlukan.

Arahkan ke direktori WordPress menggunakan perintah berikut:

cd /var/www/html/wordpress/

Salin wp-config-sample.php ke wp-config.php menggunakan perintah berikut:

sudo cp wp-config-sample.php wp-config.php

Menggunakan editor teks, buka file wp-config.php yang baru disalin:

sudo nano wp-config.php

Selanjutnya, masukkan nama database, akun pengguna dengan kata sandi, dan alamat IP host jika perlu.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

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', '' );

Selain pengaturan tersebut, Anda juga dapat menambahkan berikut ini ke file wp-config.php untuk meningkatkan manajemen WordPress:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

Batas memori server khusus atau VPS Anda dapat bervariasi tergantung pada kapasitas sistem Anda. Anda dapat menambah atau mengurangi batas memori 256 MB sedikit demi sedikit, misalnya 128 MB, 256 MB, 512 MB, dll.

Catatan: Penting untuk dicatat bahwa disarankan untuk hanya melakukan sedikit penyesuaian pada batas memori untuk kinerja dan stabilitas optimal.

Menerapkan Kunci Garam Keamanan WordPress

Meningkatkan keamanan instalasi WordPress Anda adalah hal yang terpenting, dan salah satu cara efektif untuk mencapainya adalah dengan menyiapkan kunci garam keamanan WordPress. Kunci ini bertindak sebagai perisai keamanan tambahan, memperkuat situs WordPress Anda dari potensi ancaman dan memperkuat otentikasi pengguna dan enkripsi data.

Menghasilkan Kunci Garam Keamanan

Untuk menghasilkan kunci garam keamanan Anda, navigasikan ke API kunci rahasia WordPress: https://api.wordpress.org/secret-key/1.1/salt/. Setelah Anda membuat kunci ini, penting untuk mengganti baris placeholder di file wp-config.php dengan kunci unik Anda. Langkah ini memperkuat otentikasi pengguna dan enkripsi data.

Catatan: Jangan gunakan contoh baris yang disediakan di sini atau di tempat lain, karena hanya untuk tujuan ilustrasi. Menggunakan kunci garam yang telah ditentukan sebelumnya dapat membuat situs Anda rentan terhadap kerentanan. Selalu buat kunci berbeda untuk setiap pengaturan WordPress untuk memastikan keamanan optimal.

Mengintegrasikan Kunci Garam Keamanan

Untuk menyematkan kunci garam keamanan yang baru dibuat ke dalam file wp-config.php Anda, buka file tersebut di editor teks:

sudo nano /var/www/html/wordpress/wp-config.php

Sekarang, identifikasi baris dalam file wp-config.php yang sesuai dengan kunci sampel. Setelah ditemukan, ganti setiap kunci sampel di file wp-config.php dengan kunci yang baru Anda buat. Setelah melakukan penggantian yang diperlukan, pastikan Anda menyimpan dan menutup file.

Jika Anda menggunakan editor nano, simpan dengan menekan “CTRL+X” diikuti dengan “Y”.

Konfigurasi Blok Server Nginx untuk Pengaturan LEMP WordPress

Menyiapkan blok server Nginx dengan benar sangat penting untuk kelancaran instalasi WordPress melalui UI web. Penting untuk mendapatkan “try_files $uri $uri/ /index.php?$args;” direktif dengan benar. Meninggalkan “?$args” dapat mengganggu REST API WordPress. Untuk menghindari potensi gangguan selama instalasi, ikuti petunjuk berikut dengan cermat.

Buat file konfigurasi server baru untuk instalasi WordPress Anda di Nginx. Ganti “example.com” dengan nama domain Anda yang sebenarnya dengan perintah berikut:

sudo nano /etc/nginx/sites-available/example.com.conf

Agar Nginx dapat bekerja dengan PHP, Anda harus menyertakan “lokasi ~ .php$” di file konfigurasi blok server. Berikut contoh konfigurasi yang dapat Anda gunakan sebagai referensi.

Pastikan Anda menyesuaikan jalur root dan nama domain agar sesuai dengan pengaturan Anda:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Ingat, sesuaikan file konfigurasi Nginx jika Anda telah menginstal versi PHP atau PHP-FPM yang berbeda atau versi Debian Anda default ke versi PHP lain.

Misalnya untuk PHP-FPM 8.2, ubah baris fastcgi_pass unix:/run/php/php8.1-fpm.sock; ke fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Sangat penting untuk mencocokkan versi dalam konfigurasi dengan yang ada di sistem Anda untuk kelancaran fungsionalitas.

Memahami Blok Server Nginx WordPress

Bagi mereka yang baru dalam menyiapkan Nginx dan WordPress, berikut rincian contoh blok server:

Pengaturan Server Dasar:

  • Pengaturan ini menentukan aspek dasar blok server, seperti alamat IP, port untuk didengarkan Nginx, dan nama server.
  • Arahan root menunjuk ke direktori utama yang berisi file situs web.
  • Arahan indeks menginstruksikan Nginx untuk mengidentifikasi file indeks saat menyajikan situs.

Pengaturan Lokasi:

  • Pengaturan ini mencakup berbagai blok lokasi yang menentukan bagaimana Nginx memproses permintaan URL yang berbeda.
  • Blok lokasi awal mengelola permintaan ke URL root situs, menggunakan direktif try_files.
  • Blok lokasi selanjutnya memproses permintaan khusus untuk file sitemap.xml WordPress.

Pengaturan Penanganan PHP:

  • Pengaturan ini menentukan bagaimana Nginx memproses file PHP.
  • Direktif fastcgi_pass menunjuk ke lokasi file soket PHP-FPM.
  • Direktif fastcgi_param menetapkan nilai parameter SCRIPT_FILENAME ke lokasi file PHP yang diminta.
  • Direktif include menarik file konfigurasi tambahan untuk modul FastCGI.
  • Petunjuk seperti fastcgi_buffer_size dan fastcgi_buffers menentukan ukuran buffer untuk transfer data antara Nginx dan PHP-FPM.
  • Direktif fastcgi_intercept_errors memberdayakan Nginx untuk menangkap dan mengelola kesalahan PHP.

Pengaturan Kompresi Gzip:

  • Pengaturan ini mengonfigurasi kompresi Gzip, sehingga mengurangi ukuran file yang dikirimkan ke klien.
  • Perintah gzip mengaktifkan kompresi Gzip.
  • Perintah seperti gzip_comp_level dan gzip_min_length masing-masing menentukan tingkat kompresi dan ukuran file minimum untuk kompresi.
  • Perintah gzip_proxied mengidentifikasi jenis permintaan mana yang mengalami kompresi.
  • Direktif gzip_types menyebutkan tipe MIME yang memenuhi syarat untuk kompresi.

Pengaturan Caching File:

  • Pengaturan ini mengoptimalkan caching untuk file statis, sehingga meningkatkan kecepatan situs web.
  • Blok lokasi awal menetapkan durasi kedaluwarsa untuk file aset dan media.
  • Blok lokasi selanjutnya menetapkan masa berlaku untuk file font dan SVG.
  • Arahan seperti access_log dan log_not_found mengatur pencatatan permintaan.
  • Direktif add_header menambahkan header Access-Control-Allow-Origin, mengizinkan pemuatan font dan SVG dari domain eksternal.

Pemblokiran File .htaccess:

  • Pengaturan ini membatasi akses ke file yang dimulai dengan .ht, biasanya file konfigurasi server sensitif.

Menyiapkan Blok Server Nginx dengan Tautan Simbolik

Untuk menyelesaikan konfigurasi blok server Nginx, Anda harus mengaktifkan file konfigurasi dari direktori “sites-available”. Hal ini dicapai dengan membuat tautan simbolik ke direktori “sites-enabled”.

Jalankan perintah di bawah ini, pastikan Anda mengganti “example.com.conf” dengan nama file konfigurasi Anda:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Perintah ini membuat tautan simbolik antar direktori, memberikan Nginx akses ke file konfigurasi. Setelah menyiapkannya, validasi konfigurasi dengan:

sudo nginx -t

Jika pengujian tidak menghasilkan kesalahan, mulai ulang Nginx untuk menerapkan perubahan blok server:

sudo systemctl restart nginx

Setelah langkah-langkah ini selesai, situs WordPress Anda sekarang dapat diakses melalui Nginx.

Konfigurasi PHP.ini untuk Kinerja WordPress Optimal

Menyesuaikan pengaturan PHP Anda sangat penting untuk mencapai kinerja terbaik dengan WordPress. Untuk menangani file media secara efisien di WordPress, pertimbangkan untuk meningkatkan ukuran unggahan maksimum, ukuran postingan, dan batas memori. Anda mungkin juga perlu mengubah waktu eksekusi maksimum dan variabel masukan untuk mencegah potensi masalah.

Untuk mengakses file php.ini Anda, gunakan terminal. Ingat, lokasi file mungkin berbeda berdasarkan versi PHP Anda:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Untuk menyesuaikan pengaturan PHP, temukan dan sesuaikan baris berikut di file php.ini Anda:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Setelah mengubah pengaturan PHP Anda, penting untuk memulai ulang server PHP-FPM. Ini memastikan konfigurasi baru aktif, memungkinkan situs WordPress Anda beroperasi dengan baik.

Tingkatkan Ukuran Tubuh Maks Klien Server Nginx

Untuk mengakomodasi unggahan file yang lebih besar di situs WordPress Anda, Anda perlu mengubah blok server Nginx. Hal ini memastikan Nginx dapat menangani badan permintaan HTTP yang lebih besar, yang penting ketika menangani unggahan file berukuran besar.

Memodifikasi Blok Server Nginx

Buka file konfigurasi blok server Anda dan masukkan baris berikut:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Pastikan nilai client_max_body_size sejajar dengan upload_max_filesize yang Anda konfigurasikan di pengaturan PHP Anda.

Memulai ulang PHP-FPM

Setelah menyesuaikan pengaturan PHP untuk performa WordPress yang optimal, termasuk ukuran unggahan, ukuran postingan, dan batas memori, penting untuk memulai ulang server PHP-FPM agar perubahan diterapkan. Perintah yang tepat untuk memulai ulang server bergantung pada versi PHP Anda. Jika Anda tidak yakin dengan versi PHP Anda, lihat dokumentasi sistem Anda.

Untuk versi PHP yang berbeda, gunakan perintah yang sesuai untuk memulai ulang PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Instal Front-end WordPress

Setelah menyelesaikan pengaturan dan konfigurasi backend, saatnya meluncurkan front end WordPress di domain Anda. Mulai instalasi dengan menuju ke domain Anda, diawali dengan “https://” atau “http://.” Atau, Anda dapat langsung mengakses “https://www.yoursite.com/wp-admin/install.php.”

URL ini mengarahkan Anda ke wizard instalasi front-end.

Langkah 1: Pilih Bahasa WordPress

Pilih bahasa yang Anda inginkan dan klik "Melanjutkan."

Langkah 2: Buat Pengguna Admin Untuk WordPress

Selanjutnya, Anda akan diarahkan ke halaman yang meminta Anda memasukkan judul situs, nama pengguna, kata sandi, dan alamat email admin utama untuk situs WordPress.

Untuk alasan keamanan, pilih kata sandi yang kuat dan berikan alamat email yang valid. Ingatlah bahwa Anda dapat mengubah pengaturan lain nanti di panel pengaturan WordPress.

Bagi mereka yang mengembangkan situsnya dan ingin merahasiakannya dari mesin pencari seperti Google atau Bing, ada opsi untuk “sangat tidak menyarankan mesin pencari untuk melakukan pengindeksan.”

Langkah 3: Lanjutkan dan Klik Tombol Instal WordPress

Setelah mengisi detail dan preferensi Anda, tekan “Instal WordPress” tombol. Instalasi yang berhasil akan mengarahkan Anda ke halaman login.

Langkah 4: Lanjutkan untuk masuk ke Halaman Admin WordPress

Masukkan detail login Anda dan tekan "Masuk." Tindakan ini akan mengarahkan Anda ke dasbor WordPress, tempat Anda dapat membuat atau mengimpor situs web Anda.

Langkah 5: Lihat dan Sesuaikan situs WordPress melalui Admin WordPress

Dasbor WordPress adalah pusat komando Anda. Di sini, Anda dapat membuat draf postingan baru, mendesain halaman, menangani tema dan plugin, serta menyesuaikan tampilan, konten, dan pengoperasian situs Anda.

Dengan antarmuka yang ramah pengguna, dasbor memberdayakan Anda untuk membuat situs web dengan cepat, memungkinkan Anda merancang situs yang menawan dan profesional dengan sedikit usaha.

Tips Tambahan Untuk WordPress dengan Nginx

Mengamankan WordPress dan Nginx dengan Let's Encrypt SSL Certificate

Meningkatkan keamanan server web Anda adalah hal yang terpenting, dan salah satu cara efektif untuk mencapai hal ini adalah dengan menjalankan Nginx di HTTPS menggunakan sertifikat SSL. Let's Encrypt menawarkan otoritas sertifikat gratis, otomatis, dan terbuka, membuat pengaturan sertifikat SSL untuk server Nginx Anda menjadi lebih mudah.

Menginstal Certbot

Mulailah dengan menginstal paket certbot dengan perintah:

sudo apt install python3-certbot-nginx

Menghasilkan Sertifikat SSL

Setelah Anda menginstal paket certbot, buat sertifikat SSL Anda dengan yang berikut ini:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot akan meminta Anda memasukkan email dan nama domain Anda selama proses ini. Anda juga memiliki opsi untuk menerima email dari EFF. Putuskan apakah akan ikut serta berdasarkan preferensi Anda.

Setelah memasang sertifikat, URL situs web Anda akan beralih dari HTTP ke HTTPS. Pengunjung yang mengakses URL HTTP lama secara otomatis akan diarahkan ke URL HTTPS baru. Konfigurasi ini memastikan pengalihan HTTPS 301, header Strict-Transport-Security, dan OCSP Stapling untuk keamanan tingkat atas.

Menyiapkan Perpanjangan Sertifikat Otomatis

Agar sertifikat SSL Anda tetap valid, siapkan tugas cron untuk perpanjangan otomatisnya. Certbot menawarkan skrip untuk ini. Sebelum menyelesaikan penyiapan, jalankan uji coba kering:

sudo certbot renew --dry-run

Akses konfigurasi crontab, masukkan:

sudo crontab -e

Untuk memperbarui sertifikat SSL Anda secara otomatis, jadwalkan menggunakan tugas cron dengan perintah berikut:

00 00 */1 * * /usr/sbin/certbot-auto renew

Ini akan mencoba memperbarui sertifikat setiap hari pada tengah malam.

Mengatasi Kesalahan Sesi PHP

Mengalami masalah penyimpanan sesi, terutama saat menggunakan plugin tertentu? Akar masalahnya mungkin adalah izin pengguna yang salah di direktori /var/lib/php/sessions/. Tapi jangan khawatir; Anda dapat mengatasinya dengan perintah langsung.

Menyesuaikan Izin Direktori

Jalankan perintah di bawah ini untuk mengatur izin yang benar:

sudo chown -R www-data:www-data /var/lib/php/sessions/

Perintah ini menetapkan pengguna dan grup www-data sebagai pemilik direktori sesi. Hasilnya, WordPress dapat menulis data sesi tanpa hambatan apa pun. Penyesuaian ini sangat penting untuk kelancaran pengoperasian situs WordPress Anda, terutama jika Anda menggunakan plugin yang menangani tugas otomatis, seperti memposting ke media sosial.

Mengatasi kesalahan sesi PHP adalah kunci untuk meningkatkan kinerja situs web Anda dan meningkatkan pengalaman pengguna.

Menyelesaikan HTTPS Redirect Loop di WordPress

Jika situs WordPress Anda terjebak dalam perulangan pengalihan setelah mengaktifkan HTTPS, kemungkinan karena WordPress terus mencoba mengalihkan ke versi HTTPS yang aman, namun perulangan tidak pernah selesai. Untuk mengatasi hal ini, Anda dapat memodifikasi file wp-config.php Anda dengan baris kode tertentu.

Memodifikasi File wp-config.php

Masukkan baris berikut ke wp-config.php Anda:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Berikut rincian fungsi setiap baris:

  • Baris pertama menyetel konstanta FORCE_SSL_ADMIN ke true, memastikan semua halaman admin menggunakan HTTPS.
  • Kode selanjutnya memeriksa apakah header HTTP_X_FORWARDED_PROTO berisi istilah “https.” Jika menemukan kecocokan, variabel server HTTPS akan ditetapkan sebagai “aktif”. Tindakan ini memberi tahu WordPress bahwa koneksi aman.

Dengan mengintegrasikan baris-baris ini ke dalam file wp-config.php, Anda seharusnya dapat melepaskan diri dari loop pengalihan HTTPS dan memastikan situs WordPress Anda beroperasi dengan lancar dengan koneksi baru yang aman.

Perbaiki Loop Pengalihan Nama Domain

Perulangan pengalihan di situs WordPress Anda terkadang berasal dari ketidakcocokan antara nama domain yang ditentukan dalam file wp-config.php dan nama domain situs web Anda. Untuk mengatasi hal ini, Anda perlu memverifikasi dan mungkin menyesuaikan nama domain dalam konfigurasi.

Memeriksa File wp-config.php

Periksa baris berikut di wp-config.php Anda:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Jika nama domain tidak sesuai dengan domain situs web Anda, perbaikilah.

Kesimpulan

Dengan berhasilnya WordPress diinstal pada sistem Debian Anda menggunakan tumpukan LEMP, Anda dapat memanfaatkan fitur-fitur canggih dan kinerja tangguhnya. Perbarui instalasi WordPress Anda dan komponen tumpukan LEMP secara teratur untuk memastikan keamanan dan fungsionalitas yang optimal. Nikmati fleksibilitas dan kemampuan ekstensif yang ditawarkan WordPress dan tumpukan LEMP untuk membuat dan mengelola situs web Anda.

Joshua James
Ikuti aku
Postingan terbaru oleh Joshua James (Lihat semua)

Tinggalkan komentar