Instalasi
v1.0.0+GeckoFlag adalah software self-hosted yang Anda instal di server Anda sendiri — installer khusus memandu Anda sepanjang proses sehingga siapa pun dapat menyiapkannya dengan mudah.
Sebelum Anda Mulai
- Pastikan server Anda memenuhi persyaratan sistem. Composer tidak diperlukan — paket yang didistribusikan sudah menyertakan dependensinya (folder vendor), sehingga juga berfungsi di lingkungan yang tidak dapat menjalankan Composer.
- Siapkan detail koneksi database Anda: database baru, atau database kosong yang sudah ada. Kami tidak menyarankan berbagi database dengan aplikasi lain.
- HTTPS tidak wajib, tetapi karena GeckoFlag menangani kredensial login dan data pribadi, kami sangat menyarankan untuk menjalankannya melalui HTTPS.
- Selesaikan instalasi segera setelah Anda mengunggah file. Selama instalasi belum selesai, siapa pun yang mengetahui URL-nya dapat membuka installer.
- Jika Anda menggunakan Nginx, lakukan terlebih dahulu pengaturan di bagian “Jika Anda Menggunakan Nginx” di bawah.
Langkah-langkah Instalasi
- 1Unggah file GeckoFlag ke server Anda melalui FTP/SFTP atau panel kontrol hosting Anda, lalu ekstrak.

- 2Buka installer di browser Anda. Installer memeriksa lingkungan server Anda — versi PHP, ekstensi yang diperlukan, dan izin folder — dan menampilkan daftar periksa.

- 3Masukkan detail koneksi database Anda (host, port, nama database, username, dan kata sandi) lalu lanjutkan.

- 4Klik Jalankan untuk menginisialisasi database — ini membuat tabel yang dibutuhkan GeckoFlag.

- 5Buat akun administrator Anda dengan nama, email, dan kata sandi.

- 6Masukkan kunci lisensi Anda untuk memverifikasinya.

- 7Setelah lisensi Anda terverifikasi, semuanya siap — login dengan akun administrator baru Anda dan mulai menyiapkan proyek Anda.

Catatan Hosting
GeckoFlag telah dikonfirmasi berjalan di banyak penyedia shared hosting umum. Tergantung pada pengaturan PHP seperti upload_max_filesize, fitur unggah file mungkin terbatas di beberapa host.
Jika Anda Menggunakan Nginx
Di Apache, file .htaccess yang disertakan dalam GeckoFlag secara otomatis menolak akses langsung ke file konfigurasi, log, dan sejenisnya. Nginx tidak menggunakan .htaccess, jadi tambahkan konten berikut ke konfigurasi server Anda. Jika tidak ditambahkan, file konfigurasi dan file yang diunggah mungkin dapat dilihat dari luar.
Pada shared hosting yang menggabungkan Nginx dan Apache (konfigurasi di mana akses yang diterima Nginx diproses oleh Apache), .htaccess berfungsi, sehingga pengaturan ini tidak diperlukan. Untuk mengetahui apakah .htaccess dapat digunakan, periksa manual penyedia hosting Anda.
- Atur folder publik (document root) ke folder
webrootdi dalam folder GeckoFlag, bukan ke folder GeckoFlag itu sendiri. - Sesuaikan
server_name(domain),root(lokasi GeckoFlag), danfastcgi_pass(tujuan koneksi PHP-FPM) dengan lingkungan Anda. - Tambahkan pengaturan HTTPS (
listen 443 ssldan penentuan sertifikat) sesuai dengan cara konfigurasi di lingkungan Anda.
server {
listen 80;
server_name pm.example.com;
# Folder publik (document root) adalah folder webroot GeckoFlag
root /var/www/geckoflag/webroot;
index index.php;
# Jangan tampilkan daftar isi folder
autoindex off;
# Agar ZIP pembaruan dan backup dapat diunggah
# (nilai default Nginx adalah 1MB). Atur juga upload_max_filesize dan
# post_max_size di PHP ke nilai yang sama atau lebih besar
client_max_body_size 100m;
# Jangan sajikan file tersembunyi (.htaccess, .git, dll.)
location ~ /\.(?!well-known/) {
deny all;
}
# Dari folder gambar yang diunggah, sajikan hanya file gambar
location ~ ^/img/(avatars|project_thumbnails|branding)/ {
location ~* \.(jpe?g|jfif|png|gif|webp|ico)$ {
add_header X-Content-Type-Options "nosniff" always;
try_files $uri =404;
}
# Gambar SVG hanya untuk ditampilkan (skrip tidak dijalankan)
location ~* \.svg$ {
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'none'; img-src data:; style-src 'unsafe-inline'; sandbox" always;
try_files $uri =404;
}
return 403;
}
# Folder files tidak disajikan secara langsung
location ^~ /files/ {
return 404;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
# Hanya index.php yang dijalankan sebagai PHP
location = /index.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ \.php$ {
return 404;
}
}
Setelah mengubah konfigurasi, periksa sintaksnya dengan nginx -t, lalu muat ulang Nginx.
Jika Menggunakan CDN atau Reverse Proxy (seperti Cloudflare)
GeckoFlag menggunakan alamat IP sumber koneksi yang diterima server untuk membatasi jumlah percobaan login yang gagal dan untuk Pembatasan Akses (Alamat IP). Jika melalui CDN atau reverse proxy, semua pengguna akan tampak mengakses dari alamat IP proxy, sehingga hal-hal berikut dapat terjadi.
- Jika seseorang gagal login beberapa kali, pengguna lain juga mungkin tidak dapat login untuk sementara waktu.
- Pembatasan Akses (Alamat IP) tidak akan berfungsi dengan benar.
Dalam konfigurasi seperti ini, atur web server agar menerima alamat IP sumber yang sebenarnya (misalnya mod_remoteip di Apache, modul real_ip di Nginx, atau untuk Cloudflare, mendaftarkan daftar alamat IP yang dipublikasikan oleh Cloudflare). Untuk cara pengaturannya, periksa manual penyedia hosting atau CDN Anda.