Panduan Upgrade & Uninstall
Panduan menaikkan versi paket pada aplikasi yang sudah terinstall, pembaruan menyeluruh tanpa perlu konfigurasi manual, serta cara mencopot bersih bila sudah tidak dibutuhkan.
03. Panduan Upgrade & Uninstall#
Panduan menaikkan versi paket pada aplikasi yang sudah terpasang, pembaruan menyeluruh tanpa perlu konfigurasi manual, serta cara mencopot bersih bila sudah tidak dibutuhkan.
1. Upgrade Otomatis & Menyeluruh (Direkomendasikan)#
Secara default, pasax:upgrade otomatis mengeksekusi composer update pasax/secure-monitor di latar belakang lalu menyinkronkan seluruh aset. Anda cukup menjalankan:
php artisan pasax:upgrade --force
# Atau gunakan alias resmi bila salah ketik:
php artisan pasax:upgrae --force
Opsi Manual untuk Server Produksi / VPS:#
Di beberapa server hosting / VPS di mana fungsi proc_open dinonaktifkan atau jika Anda lebih memilih menjalankan pembaruan Composer secara manual:
# 1. Unduh kode paket versi terbaru via Composer
composer update pasax/secure-monitor
# 2. Sinkronkan migrasi, rute, template Blade, dan segarkan cache
php artisan pasax:upgrade --force --no-composer
Alur Eksekusi Otomatis `--force`:#
- Pengecekan Versi Rilis Terbaru: Memeriksa ketersediaan versi baru di katalog Packagist / GitHub.
- Pembaruan Dependensi Composer: Menjalankan
composer update pasax/secure-monitoruntuk mengunduh kode paket terkini. - Deteksi & Migrasi Database Baru: Mendeteksi jika terdapat migrasi database tabel
pasax_*baru yang belum diterapkan, lalu mengeksekusiphp artisan migrate --forcesecara aman. - Pembaruan Konfigurasi (
config/pasax.php): Otomatis menyisipkan opsi konfigurasi baru yang belum ada (seperti socket daemonsentinel, visualizerthreat_map, dan rotasi URL dashboard) tanpa menimpa konfigurasi kustom yang telah diubah pengguna. - Sinkronisasi Tampilan Blade & Rute: Memperbarui berkas tampilan dashboard (
resources/views/pages/pasax) dan rute (routes/pasax.php) ke versi terbaru secara otomatis. - Pembersihan Berkas Usang: Otomatis mendeteksi dan menghapus berkas warisan lama era
security.*yang sudah usang (routes/security.php,config/security.php, direktori dokumentasi lamaweb-docs/, skrip usang, dll.). - Pembersihan Arsip Cadangan: Memangkas berkas cadangan lama (
*.backup-*) dengan mempertahankan hanya 2 arsip terbaru agar direktori proyek tetap bersih. - Penyegaran Cache Framework: Mengeksekusi
php artisan optimize:clearagar konfigurasi, rute, dan tampilan Blade baru langsung aktif.
2. Varian Perintah `pasax:upgrade`#
Jika Anda ingin mengontrol jalannya pembaruan secara terperinci atau menjalankan di lingkungan khusus (seperti container CI/CD atau dev offline):
# Hanya cek ketersediaan versi baru tanpa mengubah berkas apa pun:
php artisan pasax:upgrade --check
# Sinkronisasi aset lokal tanpa mengunduh dari Composer (misal repository symlink lokal atau setelah composer update manual):
php artisan pasax:upgrade --force --no-composer
# Pembaruan tanpa menjalankan migrasi database:
php artisan pasax:upgrade --force --no-migrate
# Pembaruan tanpa membuat berkas cadangan *.backup-* (ganti baru langsung):
php artisan pasax:upgrade --force --no-backup
# Pembaruan dengan pembersihan menyeluruh seluruh arsip cadangan lama:
php artisan pasax:upgrade --force --clean-backups
# Sinkronisasi rute atau views secara spesifik:
php artisan pasax:upgrade --sync-routes
php artisan pasax:upgrade --sync-views
3. Verifikasi Setelah Upgrade#
Setelah proses upgrade selesai, pastikan integrasi berjalan sempurna:
# 1. Periksa status integritas dan versi aktif
php artisan pasax:baseline
# 2. Pastikan rute Pasax terdaftar dengan benar
php artisan route:list --name=pasax
# 3. Uji respons WAF terhadap canary probe
curl -I 'https://domain-anda.test/?q=%7B%7B7*7%7D%7D'
4. Panduan Deployment VPS & CI/CD (Migrasi, Seeder, dan Zero Double Data)#
Saat melakukan deployment pertama kali ke VPS, server baru, atau setelah melakukan git pull dalam alur rilis produksi/CI/CD, Anda tidak perlu menjalankan serangkaian perintah migrasi, seeder, dan clear cache secara manual satu per satu. Pasax menyediakan perintah deployment tunggal yang dirancang khusus:
php artisan pasax:deploy --force
Mengapa Aman & Menjamin Zero Double Data?#
- Idempotent Seeder: Seeder
PasaxDefaultSettingsSeedermenggunakan metodefirstOrCreate/updateOrCreatepada tabelpasax_settings. Dijalankan 100 kali pun tidak akan pernah menduplikasi baris konfigurasi. - Isolasi Penuh dari Tabel Host: Perintah ini hanya beroperasi pada tabel khusus paket Pasax (
pasax_*). Sama sekali tidak menyentuh atau merusak tabel bisnis utama sepertiusers,orders,products, dsb. - Otomasi Secret Key: Memastikan
PASAX_DASHBOARD_SECRETterisi di berkas.envserver produksi tanpa merusak nilai yang sudah ada, sehingga sesi login pengguna tidak akan terputus. - Pembersihan Cache Produksi: Otomatis menjalankan
config:clear,route:clear, danview:clearagar konfigurasi dan rute termutakhir langsung aktif di lingkungan web server.
Opsi Perintah Deployment:#
# Deployment standar otomatis di VPS / CI-CD:
php artisan pasax:deploy --force
# Reset konfigurasi keamanan pasax_settings ke bawaan pabrik (tanpa hapus log/blokir):
php artisan pasax:deploy --reset-settings --force
# Reset status bersih tabel Pasax untuk audit awal (tabel host users tetap 100% aman):
php artisan pasax:deploy --reset-tables --force
5. Uninstall Bersih (Pencopotan Penuh)#
Bila paket sudah tidak dibutuhkan, Pasax menyediakan perintah pencopotan bersih yang menghapus seluruh jejak tanpa meninggalkan residu atau merusak aplikasi host:
php artisan pasax:uninstall --force
Yang Dikerjakan `pasax:uninstall`:#
- Menghapus 8 tabel database khusus Pasax beserta catatan riwayat migrasinya di tabel
migrations. - Mencabut middleware Pasax dari
bootstrap/app.php(Laravel 11+) atauapp/Http/Kernel.php(Laravel 10). - Mengembalikan konfigurasi
.htaccessdari berkas cadangan asli sebelum instalasi. - Menghapus rute publikasi (
routes/pasax.php), tampilan Blade, dan konfigurasiconfig/pasax.php. - Menghapus kunci environment
PASAX_*dari.env. - Menjalankan
composer remove pasax/secure-monitor.