Textpattern adalah sistem manajemen konten PHP free dan open-source yang ringan, cepat, dan mudah digunakan sambil memberikan kemampuan penyesuaian yang layak melalui tema dan plugin.
Dalam panduan ini, kita akan menginstal Textpattern pada instance Debian 10 yang baru.
Persyaratan
- Sistem Debian 10
- Memiliki akses ke user root atau user dengan hak akses sudo.
- Nama domain terdaftar yang menunjuk ke server Anda.
Jika masuk sebagai user sudo, beralih ke user root untuk pengaturan ini:
sudo su -
Set $VISUAL environment variable ke editor teks pilihan Anda. Misalnya, untuk menggunakan text editor nano:
echo "export VISUAL=nano" >> ~/.profile . ~/.profile
Langkah 1: Install Software yang Diperlukan.
Perbarui cache paket di sistem Anda:
apt update
Kemudian instal Nginx, PHP-FPM, ekstensi PHP yang diperlukan, MariaDB, dan certbot:
apt install -y nginx mariadb-server php-fpm php-xml php-mysql php-json php-mbstring php-zip certbot
Pastikan layanan Nginx dan MariaDB diaktifkan dan berjalan:
systemctl enable --now nginx.service mariadb.service
Langkah 2: Download Textpattern
Pada saat penulisan ini, versi terbaru dari Textpattern adalah versi 4.7.3. Untuk melihat versi terbaru kunjungi halaman release Textpattern di Github dan download ke server Anda dengan perintah wget sebagai berikut:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
Kemudian extract arsip dan pindahkan konten ke lokasi di dalam direktori webroot dengan perintah mv
:
tar -xzf textpattern*.tar.gz rm textpattern*.tar.gz mv textpattern* /var/www/html/textpattern
Langkah 3: Pengaturan Database
Mulai dengan menjalankan script mysql_secure_installation untuk melakukan peningkatan keamanan dasar:
mysql_secure_installation
Perintah ini akan mengubah kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database pengujian. Jawab pertanyaan seperti yang ditunjukkan di bawah ini dan pastikan untuk memilih kata sandi yang aman untuk pengguna root:
Enter current password for root (enter for none): Set root password? [Y/n] N 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
Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:
mysql -u root -p
Berikan kata sandi root Anda, lalu buat database dan user database untuk Textpattern dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE textpattern_db; MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'g4nt!_d3n9aN_P@$$w0rD'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user; MariaDB [(none)]> \q
Langkah 4: Konfigurasi Nginx
Pertama, dapatkan sertifikat SSL untuk domain Anda dengan menjalankan perintah berikut:
certbot certonly --webroot --webroot-path /var/www/html -d "your_domain" -m "[email protected]"
Dengan asumsi domain Anda dikonfigurasikan dengan benar, certbot akan secara otomatis mendapatkan sertifikat yang akan kita gunakan untuk mengonfigurasi HTTPS.
Selanjutnya, nonaktifkan file konfigurasi server Nginx default:
rm /etc/nginx/sites-enabled/default
Kemudian buka file konfigurasi baru di /etc/nginx/sites-available:
$VISUAL /etc/nginx/sites-available/textpattern
Dan masukkan konfigurasi berikut ini, ganti nama_domain dengan nama domain Anda:
server { listen 80; #replace nama_domain below server_name nama_domain; return 301 https://$server_name$request_uri; } server { listen 443 ssl; #replace your_domain below server_name nama_domain; root /var/www/html/textpattern; index index.php; ssl on; #ganti nama_domain dibawah ini ssl_certificate /etc/letsencrypt/live/nama_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/nama_domain/privkey.pem; location ~* \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Perhatikan bahwa konfigurasi di atas akan mengalihkan semua permintaan HTTP ke HTTPS. Anda mungkin ingin memodifikasinya jika memiliki preferensi atau persyaratan tertentu. Setelah selesai, buat symlink pengaturan textpattern di nginx ke sites-enabled
:
sudo ln -s /etc/nginx/sites-available/textpattern /etc/nginx/sites-enabled/
Kemudian periksa apakah ada syntax errors dengan:
nginx -t
Terakhir, jalankan perintah berikut untuk memuat konfigurasi baru:
systemctl reload nginx.service
Langkah 5: Konfigurasi Textpattern
Instalasi Textpattern Anda sekarang harus dapat diakses tetapi belum dikonfigurasi. Buka web browser di alamat https://domain_anda/textpattern/setup/
untuk memulai web installer. Setelah memilih bahasa, masukkan detail database:
- MySQL user name: textpattern_user
- MySQL password: masukkan password database sesuai di langkah 3.
- MySQL server: localhost
- MySQL database: textpattern_db
- Table prefix: biarkan kosong
Installer akan memeriksa kredensial database yang dimasukkan sebelum membuat konfigurasi yang sesuai. Buat file yang diperlukan:
$VISUAL /var/www/html/textpattern/textpattern/config.php
Paste konfigurasi yang dihasilkan, simpan file dan keluar. Lanjutkan ke langkah berikutnya di web installer, tempat Anda akan diminta memasukkan informasi untuk akun administrator CMS dan konfigurasi situs. Setelah selesai, hapus direktori setup:
rm -rf /var/www/html/textpattern/textpattern/setup
Dan berikan kepemilikan pada user sistem Nginx di direktori yang membutuhkan akses Textpattern:
chown -R www-data /var/www/html/textpattern/{files,images,themes}
Situs Textpattern Anda sekarang siap digunakan. Antarmuka administrasi dapat diakses di https://nama_domain/textpattern.