Jirafeau adalah aplikasi file hosting dan web sharing sederhana yang dibangun dalam PHP. Jirafeau tidak memerlukan database dan menyediakan interface pengguna yang bersih, mudah digunakan dengan dukungan untuk perlindungan kata sandi, kedaluwarsa yang dijadwalkan, one-time download dan pratinjau di dalam browser, dan fitur-fitur berguna lainnya.

Artikel ini akan memandu Anda melalui instalasi dan konfigurasi Jirafeau pada Debian 10 dari awal, dengan Nginx dan PHP-FPM.

Persyaratan

  • Sistem Debian 10 tempat Anda memiliki akses root.
  • Nama domain yang menunjuk ke server Anda.

Jika Anda masuk sebagai user  sudo non-root, gunakan shell istimewa untuk menjalankan perintah yang ditunjukkan dalam panduan ini. Anda dapat meluncurkan shell root dengan:

sudo -s

Sebelum Mulai

Pertama, disarankan untuk memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:

sudo apt update && sudo apt upgrade -y

Setelah sistem Anda diperbarui, restart sistem Anda untuk menerapkan perubahan konfigurasi.

Install Nginx, PHP, Git

Jalankan perintah berikut untuk install packet dependensi

sudo apt install -y nginx php php-fpm certbot git

Kemudian pastikan Nginx dan PHP-FPM diaktifkan dan dijalankan:

systemctl enable --now nginx.service php7.3-fpm.service

Dapatkan Sertifikat SSL

Sebelum mengkonfigurasi web server, Anda harus mendapatkan sertifikat SSL untuk domain Anda. Untuk melakukannya, gunakan certbot tool seperti yang ditunjukkan:

certbot certonly --webroot -m [email protected] -d your_domain --agree-tos

Setelah menjalankan perintah ini, pertama Anda akan ditanya apakah Anda ingin menerima email dari EFF. Kemudian, ketika diminta untuk memasukkan webroot untuk domain Anda, masukkan /var/www/html:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Input the webroot for example.com: (Enter 'c' to cancel): /var/www/html

Kepemilikan domain akan diverifikasi dan sertifikat Anda dan file terkait akan disimpan di /etc/letsencrypt/live/example.com/. Kami sekarang dapat mengkonfigurasi Nginx.

Konfigurasi Nginx

Nonaktifkan file konfigurasi default dengan menghapus file default karena tidak diperlukan:

rm /etc/nginx/sites-enabled/default

Kemudian buka text editor dan buat file konfigurasi baru:

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

Dan masukkan konfigurasi berikut ini:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}
 server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name your_domain;
    root /var/www/html/jirafeau;
    index index.php;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    location ~ \.php$ {
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_index            index.php;
    fastcgi_pass             unix:/var/run/php/php7.3-fpm.sock;
    include                  fastcgi_params;
    fastcgi_param   PATH_INFO       $fastcgi_path_info;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

NOTE: Dengan konfigurasi yang disediakan, semua permintaan HTTP akan dialihkan ke HTTPS.

Selanjutnya, aktifkan file konfigurasi baru dengan membuat symlink ke direktori /etc/nginx/sites-enabled/:

ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/

Periksa kesalahan konfigurasi dengan:

nginx -t

Kemudian reload konfigurasi nginx dengan mengeluarkan perintah:

systemctl reload nginx.service

Install Jirafeau

Download Jirafeau dari Gitlab repository:

mkdir /var/www/html/jirafeau
git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau

Buat direktori data untuk Jirafeau. Direktori ini seharusnya tidak dapat diakses melalui server web Anda (mis. Direktori tersebut harus berada di luar direktori root web, yaitu /var/www/html dengan konfigurasi kami). Maka dari itu kita akan menggunakan /var/data/jirafeau.

mkdir -p /var/data/jirafeau

Berikan kepemilikan pada user Nginx pada konfigurasi dan direktori data yang digunakan oleh Jirafeau. Secara optimal, Anda harus memperketat izin file setelah pengaturan Anda selesai.

chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau

Kemudian buka browser web Anda dan navigasikan ke https://domainanda/install.php. Pertama Anda akan diminta untuk memilih kata sandi untuk administrasi.

Masukkan kata sandi yang aman dan lanjutkan ke langkah berikutnya. Untuk alamat dasar, masukkan https://domainanda/ dan /var/data/jirafeau/ untuk direktori data.

Lanjutkan ke langkah berikutnya, di mana installer akan membuat file konfigurasi dasar untuk Jirafeau.

Konfigurasi Jirafeau

Skrip installer bawaan hanya mengonfigurasi file dasar saja. Untuk konfigurasi yang lebih menyeluruh, buka file yang sesuai:

nano /var/www/html/jirafeau/lib/config.local.php

Ganti nama organisation default dan atur kontak dan kunci judul. Nilai organisasi dan penghubung akan ditampilkan dalam persyaratan layanan Anda (https://namadomain/tos.php).

  'organisation' => 'Your Organisation/Company',
  'contactperson' => 'Your Name <[email protected]>',
  'title' => 'Title of your choice',

Secara default, akses ke fungsi upload tidak dibatasi. Anda dapat mengatur satu atau lebih kata sandi untuk membatasi akses ini. Gunakan sintaks yang ditunjukkan:

  'upload_password' =>
  array (
          'password1',
          'password2',
  ),

Saat mengunggah file, batas waktu yang berbeda tersedia di formulir upload. Jirafeau secara default memungkinkan batas waktu hingga satu bulan, setelah itu file yang diunggah secara otomatis akan dihapus.

Untuk mengubah periode yang tersedia, modifikasi array ketersediaan. Misalnya, untuk mengizinkan semua periode kedaluwarsa, gunakan yang berikut ini:

  array (
    'minute' => true,
    'hour' => true,
    'day' => true,
    'week' => true,
    'month' => true,
    'quarter' => true,
    'year' => true,
    'none' => true,
  ),

Setelah Anda puas dengan konfigurasi Anda, tidak diperlukan tindakan untuk menerapkan perubahan.

Situs file web hosting Anda sekarang siap digunakan. Antarmuka administrasi dapat diakses di https://domainanda/admin.php

jirafeau upload interface