Untuk mendapatkan kontrol penuh atas website Anda, deploy stack LNMP secara manual dan instal WordPress. Pendekatan ini memungkinkan Anda membuat blog, portal, atau jenis website lainnya.
Prasyarat
-
Aktifkan akses publik: Tetapkan Alamat IP publik atau asosiasikan Elastic IP address (EIP) dengan instans.
-
Tambahkan aturan security group: Izinkan lalu lintas inbound melalui TCP pada Port 22 dan 80 di security group instans Anda.
Prosedur
Langkah-langkah berikut menunjukkan cara deploy WordPress 6.4.4 pada instans Alibaba Cloud Linux 3.
Langkah 1: Deploy stack LNMP
Login ke instans ECS.
Buka ECS console - Instances. Di pojok kiri atas, pilih Wilayah dan kelompok sumber daya untuk instans target.
Buka halaman detail instans target. Klik Connect dan pilih Workbench. Ikuti petunjuk di layar untuk mengakses terminal.
-
Instal komponen inti seperti Nginx, MySQL, dan PHP.
WordPress bergantung pada versi tertentu dari PHP dan MySQL. Ketidakcocokan versi akan menyebabkan instalasi gagal. Untuk detailnya, lihat WordPress Compatibility.
Langkah 2: Buat database WordPress
Buat database dan pengguna database khusus untuk WordPress.
-
Login ke MySQL. Gunakan password yang Anda tetapkan untuk database saat melakukan deploy stack LNMP.
mysql -u root -p -
Buat database dan pengguna, lalu berikan hak istimewa.
Catat nama database, username, dan password untuk digunakan nanti.
-- Buat database WordPress. CREATE DATABASE WORDPRESS_DATABASE; -- Buat pengguna khusus dan tetapkan kata sandi. Disarankan menggunakan kata sandi kuat minimal 12 karakter yang mencakup huruf besar, huruf kecil, angka, dan simbol khusus. CREATE USER 'WORDPRESS_USER'@'localhost' IDENTIFIED BY 'WORDPRESS_PASSWORD'; -- Berikan semua hak istimewa pada database WordPress kepada pengguna tersebut. GRANT ALL PRIVILEGES ON WORDPRESS_DATABASE.* TO 'WORDPRESS_USER'@'localhost'; -- Terapkan perubahan dengan melakukan flush hak istimewa. FLUSH PRIVILEGES; -- Keluar dari MySQL. EXIT;Pada MySQL 5.7 dan versi lebih baru, plugin validasi kekuatan password diinstal secara default. Password harus terdiri dari 8 hingga 30 karakter dan mengandung huruf besar, huruf kecil, angka, serta karakter khusus. Karakter khusus yang didukung meliputi
()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/.
Langkah 3: Unduh dan konfigurasi WordPress
-
Buka direktori root web Nginx dan unduh versi bahasa Tiongkok WordPress 6.4.4.
Untuk menginstal versi bahasa Inggris, ganti URL dengan
https://wordpress.org/wordpress-6.4.4.zip. Pada langkah selanjutnya, ganti nama arsip denganwordpress-6.4.4.zip.sudo cd /usr/share/nginx/html sudo wget https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip -
Instal
unzipdan ekstrak arsip WordPress.sudo yum install unzip -y sudo unzip wordpress-6.4.4-zh_CN.zip -
Salin file
wp-config-sample.phpkewp-config.php, dan simpan file aslinya sebagai backup.cd /usr/share/nginx/html/wordpress sudo cp wp-config-sample.php wp-config.php -
Edit file konfigurasi dan masukkan nama database, username, dan password yang Anda buat di Langkah 2.
sudo vim wp-config.phpTekan tombol
iuntuk masuk ke mode Insert./** Nama database untuk WordPress */ define('DB_NAME', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_DATABASE">WORDPRESS_DATABASE'</span>); /** Username database */ define('DB_USER', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_USER">WORDPRESS_USER'</span>); /** Password database */ define('DB_PASSWORD', '<span class="var-span" contenteditable="true" data-var="WORDPRESS_PASSWORD">WORDPRESS_PASSWORD'</span>); /** Hostname database */ define('DB_HOST', 'localhost');Setelah selesai melakukan perubahan, tekan tombol
Esc, ketik:wq, lalu tekanEnteruntuk menyimpan dan keluar.
Langkah 4: Konfigurasi Nginx
Ubah konfigurasi situs Nginx default agar dapat menangani permintaan PHP dengan benar.
-
Backup konfigurasi default dan buat file konfigurasi Nginx baru.
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak sudo vim /etc/nginx/conf.d/default.conf -
Ubah file konfigurasi Nginx.
Tekan tombol
iuntuk masuk ke mode Insert. Di blokserverdanlocation ~ .php$, ganti nilai setelahrootdengan direktori root WordPress. Dalam contoh ini, direktori root WordPress adalah/usr/share/nginx/html/wordpress.server { listen 80; server_name localhost; root /usr/share/nginx/html/wordpress; location / { index index.php index.html index.htm; } location ~ .php$ { root /usr/share/nginx/html/wordpress; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }Tekan tombol
Esc, ketik:wq, lalu tekan tombolEnteruntuk menyimpan dan keluar dari file konfigurasi. -
Periksa sintaksis konfigurasi.
Jika output menampilkan
syntax is ok, Anda dapat me-restart layanan dengan aman.sudo nginx -tJika terjadi kesalahan sintaksis, Anda dapat mengembalikan konfigurasi default dengan menjalankan
sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.conf. -
Restart Nginx untuk menerapkan konfigurasi.
sudo systemctl restart nginx
Langkah 5: Instal dan login ke WordPress
Setelah menyelesaikan konfigurasi di sisi server, Anda harus menyelesaikan pengaturan WordPress melalui browser web.
-
Pada browser web di komputer lokal Anda, buka
http://<Alamat IP publik instans ECS Anda>untuk mengakses halaman instalasi WordPress. -
Masukkan informasi situs Anda, termasuk Site Title, User Name administrator, Password, dan Your Email, lalu klik Install WordPress.
-
Setelah instalasi selesai, klik Log In, lalu login menggunakan username dan password yang Anda tetapkan pada langkah sebelumnya.
Login yang berhasil menandakan bahwa situs WordPress Anda sedang berjalan. Untuk informasi lebih lanjut, lihat dokumentasi resmi WordPress.
Langkah selanjutnya
Kelola file dengan FTP
Untuk mengunggah tema atau plugin WordPress menggunakan FTP, Anda terlebih dahulu perlu membangun situs FTP (Linux).
Konfigurasi nama domain dan HTTPS
Mengakses situs Anda melalui Alamat IP publik tidak aman dan tidak disarankan untuk lingkungan produksi.
-
Daftarkan nama domain dan lengkapi Pendaftaran ICP
-
Jika Anda belum memiliki nama domain, Anda dapat mendaftarkannya melalui Alibaba Cloud.
-
Jika nama domain Anda mengarah ke website yang di-hosting di server Alibaba Cloud di Tiongkok daratan, Anda harus menyelesaikan Pendaftaran ICP. Untuk informasi lebih lanjut, lihat proses Pendaftaran ICP.
-
-
Arahkan nama domain Anda ke Alamat IP publik instans ECS Anda.
-
Ganti Alamat IP publik instans dengan nama domain baru Anda.
-
Sambungkan ke instans secara remote dan login ke database MySQL.
mysql -u root -p -
Beralih ke database WordPress dan tetapkan nama domain.
Ganti
PUBLIC_IPdengan Alamat IP publik instans Anda danDOMAINdengan nama domain Anda.USE WORDPRESS_DATABASE; UPDATE wp_options SET option_value = REPLACE(option_value, 'http://PUBLIC_IP', 'http://DOMAIN') WHERE option_name = 'home' OR option_name = 'siteurl'; EXIT;
-
-
Konfigurasi Sertifikat SSL (HTTPS)
Deploy Sertifikat SSL mengaktifkan transfer data terenkripsi HTTPS untuk website Anda, guna melindungi privasi pengguna, meningkatkan kepercayaan browser, dan memperbaiki peringkat SEO.
FAQ
Tidak bisa mengakses WordPress dengan IP publik?
-
Periksa security group: Pastikan Port 80 diizinkan dalam aturan security group instans.
-
Periksa firewall: Pastikan firewall internal sistem operasi (seperti firewalld) tidak memblokir Port 80.
-
Periksa status layanan: Di instans ECS, jalankan
sudo systemctl status nginxdansudo systemctl status php-fpmuntuk memastikan layanan berada dalam statusactive (running). -
Periksa pendengaran port: Pastikan ada layanan yang mendengarkan di Port 80.
Untuk metode troubleshooting detail, lihat Troubleshoot issues when a service on an ECS instance is inaccessible.
Terjadi error "Not Found" saat menggunakan permalink?
Menggunakan URL mirip statis meningkatkan optimasi mesin pencari. Sebelum mengatur permalink di WordPress, Anda harus terlebih dahulu mengonfigurasi aturan penulisan ulang pada server Nginx Anda.
-
Sambungkan ke instans Anda dan buka file konfigurasi Nginx.
sudo vim /etc/nginx/conf.d/default.confTekan tombol
iuntuk masuk ke mode Insert. Di dalam bloklocation /, tambahkan baris berikut.try_files $uri $uri/ /index.php?$args;Tekan tombol
Esc, ketik:wq, lalu tekan tombolEnteruntuk menyimpan dan keluar dari file. -
Restart layanan Nginx untuk menerapkan perubahan.
sudo systemctl restart nginx
Terjadi error FTP atau izin saat pembaruan?
Masalah ini biasanya disebabkan oleh izin file yang tidak mencukupi untuk konfigurasi, tema, atau plugin WordPress. Ikuti langkah-langkah berikut untuk mengatasinya.
-
Login ke instans ECS Anda dan buka file konfigurasi WordPress.
sudo vim /usr/share/nginx/html/wordpress/wp-config.phpTekan tombol
iuntuk masuk ke mode Insert dan tambahkan baris-baris berikut di akhir file.define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);Tekan tombol
Esc, ketik:wq, lalu tekan tombolEnteruntuk menyimpan dan keluar dari file konfigurasi. -
Kembali ke Dasbor WordPress Anda dan refresh halaman. Tindakan ini seharusnya mengatasi prompt kredensial FTP.
Jika Anda masih melihat error "could not create directory", ubah pemilik direktori root web menjadi pengguna Nginx, yaitu
nginx.sudo chown -R nginx /usr/share/nginx/html/wordpress
Mengubah pengguna dan password MySQL default?
-
Sambungkan ke instans ECS Anda secara remote dan login ke database MySQL.
mysql -u root -p -
Beralih ke database
mysqldan lihat username saat ini.use mysql; select user from mysql.user; -
Ubah username dan password database.
-
Ubah username database.
UPDATE user SET user='<span class="var-span" contenteditable="true" data-var="NEW_USER_NAME">NEW_USER_NAME'</span> WHERE user='<span class="var-span" contenteditable="true" data-var="USER_NAME">USER_NAME'</span>;Sebagai contoh, untuk mengubah username dari
rootmenjadiadmin:UPDATE mysql.user SET user='admin' WHERE user='root'; -
Ubah password pengguna.
ALTER USER '<span class="var-span" contenteditable="true" data-var="USER_NAME">USER_NAME'</span>@'localhost' IDENTIFIED BY '<span class="var-span" contenteditable="true" data-var="PASSWORD">PASSWORD'</span>;Sebagai contoh, untuk mengubah password pengguna
rootmenjadiPassword@2025!:ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password@2025!';
-
-
Muat ulang hak istimewa agar perubahan diterapkan, lalu keluar dari database MySQL.
FLUSH PRIVILEGES; EXIT;
Topik terkait
-
Untuk deploy WordPress di Docker, lihat Deploy aplikasi dengan Docker Compose.
-
Untuk meng-host beberapa website pada satu instans ECS, lihat Konfigurasi beberapa situs pada Nginx.