fTutorial ini akan menunjukkan cara menginstal FileRun di Ubuntu 20.04 LTS dengan server web Apache/Nginx. FileRun adalah alternatif Google Drive/Foto/Musik yang dihosting sendiri.
Fitur FileRun
- Tidak diperlukan indeks. Itu dapat mengakses file di sistem file secara langsung.
- Kompatibel dengan NextCloud.
- Pembuatan versi file otomatis.
- 100% bermerek. Unggah logo Anda sendiri.
- Dapat diperpanjang. Ada banyak plugin yang memungkinkan Anda membuat dan mengedit file office, file CAD, dll.
- Pengguna tamu.
- Atur, Sinkronkan, dan Bagikan Foto Anda.
- Pemutar dan pengatur musik bawaan
Persyaratan
Untuk mengikuti tutorial ini, Anda memerlukan nama domain dan server. Saya mendaftarkan nama domain saya di NameCheap karena harganya rendah dan mereka memberikan perlindungan privasi whois gratis seumur hidup. Server dengan RAM 1G sudah cukup untuk menjalankan FileRun. Setelah Anda memiliki server, instal Ubuntu di server tersebut dan ikuti petunjuk di bawah ini.
FileRun ditulis dalam PHP dan menggunakan database MySQL/MariaDB. Untuk mengikuti tutorial ini, diasumsikan bahwa Anda telah menyiapkan LAMP atau LEMP stack di Ubuntu 20.04. Jika tidak, silakan lihat salah satu tutorial berikut:
- Cara memasang tumpukan LAMP di server Ubuntu 20.04
- Cara menginstal LEMP stack di server Ubuntu 20.04
Setelah Anda selesai menyiapkan tumpukan LAMP atau LEMP, kembali ke sini dan baca terus.
Langkah 1:Unduh FileRun di Ubuntu 20.04
Masuk ke server Anda melalui SSH. Anda selalu dapat menggunakan perintah berikut untuk mengunduh versi terbaru FileRun di server Anda.
wget -O FileRun.zip https://filerun.com/download-latest
Setelah diunduh, ekstrak arsip dengan unzip
.
sudo apt install unzip sudo mkdir -p /var/www/filerun/ sudo unzip FileRun.zip -d /var/www/filerun/
-d
opsi menentukan direktori target. File web FileRun akan diekstrak ke /var/www/filerun/
. Kemudian kita perlu mengubah pemilik direktori ini menjadi www-data
sehingga server web dapat menulis ke direktori ini.
sudo chown www-data:www-data /var/www/filerun/ -R
Langkah 2:Buat Database dan Pengguna di MariaDB
Masuk ke server database MariaDB dengan perintah berikut.
sudo mysql
Atau, Anda juga dapat menggunakan perintah ini untuk login.
sudo mariadb
Kemudian buat database untuk FileRun. Tutorial ini beri nama database filerun
. Anda dapat menggunakan nama apa pun yang Anda suka.
create database filerun;
Buat pengguna basis data. Sekali lagi, Anda dapat menggunakan nama pilihan Anda untuk pengguna ini. Ganti your-password
dengan kata sandi pilihan Anda.
create user filerun@localhost identified by 'your-password';
Berikan pengguna ini semua hak istimewa pada filerun
basis data.
grant all privileges on filerun.* to filerun@localhost;
Hapus hak istimewa dan keluar.
flush privileges; exit;
Langkah 3:Buat File Konfigurasi Apache atau Nginx
Apache
Jika Anda lebih suka menggunakan server web Apache, buat file konfigurasi host virtual di /etc/apache2/sites-available/
direktori.
sudo nano /etc/apache2/sites-available/filerun.conf
Masukkan teks berikut ke dalam file. Ganti filerun.example.com
dengan nama domain Anda sendiri. Jangan lupa untuk menetapkan A record untuk nama domain di pengelola DNS Anda.
<VirtualHost *:80> ServerName filerun.example.com DocumentRoot /var/www/filerun <Directory "/var/www/filerun"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/filerun.error.log CustomLog ${APACHE_LOG_DIR}/filerun.access.log combined </VirtualHost>
Simpan dan tutup file. Kemudian aktifkan tombol rewrite
modul.
sudo a2enmod rewrite
Kemudian aktifkan host virtual ini.
sudo a2ensite filerun.conf
Mulai ulang server web Apache agar perubahan diterapkan.
sudo systemctl restart apache2
Nginx
Jika Anda lebih suka menggunakan server web Nginx, buat filerun.conf
file di /etc/nginx/conf.d/
direktori.
sudo nano /etc/nginx/conf.d/filerun.conf
Masukkan teks berikut ke dalam file. Ganti filerun.example.com
dengan nama domain Anda sendiri. Jangan lupa untuk menetapkan A record untuk nama domain di pengelola DNS Anda.
server { listen [::]:80; listen 80; server_name filerun.example.com; access_log /var/log/nginx/filerun.access.log; error_log /var/log/nginx/filerun.error.log; root /var/www/filerun/; index index.php index.html; location / { try_files $uri $uri/ /index.php; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; client_max_body_size 500M; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } #enable gzip compression gzip on; gzip_vary on; gzip_min_length 1000; gzip_comp_level 5; gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml; gzip_proxied any; # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Simpan dan tutup file. Uji konfigurasi Nginx, lalu muat ulang Nginx agar perubahan diterapkan.
sudo nginx -t sudo systemctl reload nginx
Langkah 4:Instal dan Aktifkan Modul PHP
Jalankan perintah berikut untuk menginstal modul PHP yang diperlukan atau direkomendasikan oleh FileRun.
sudo apt install imagemagick ffmpeg php-imagick php7.4-mysql php7.4-fpm php7.4-common php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl
Filerun menggunakan ionCube untuk mengenkripsi file PHP-nya, jadi kita perlu menginstal ionCube PHP loader untuk mendekripsi file PHP. Unduh pemuat ionCube.
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Ekstrak ke /usr/lib/php/
.
sudo tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php
Sekarang kita perlu mengaktifkan ekstensi ioncube PHP.
Apache
Jika Anda menggunakan Apache , lalu buat file PHP ini untuk ionCube.
sudo nano /etc/php/7.4/apache2/conf.d/00-ioncube.ini
Tambahkan baris berikut ke file ini.
zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.so
Simpan dan tutup file. Kita perlu membuat file PHP ini kedua.
sudo nano /etc/php/7.4/apache2/conf.d/filerun.ini
Tambahkan baris berikut. Ini untuk mengubah beberapa konfigurasi default PHP.
expose_php = Off error_reporting = E_ALL & ~E_NOTICE display_errors = Off display_startup_errors = Off log_errors = On ignore_repeated_errors = Off allow_url_fopen = On allow_url_include = Off variables_order = "GPCS" allow_webdav_methods = On memory_limit = 128M max_execution_time = 300 output_buffering = Off output_handler = "" zlib.output_compression = Off zlib.output_handler = "" safe_mode = Off register_globals = Off magic_quotes_gpc = Off upload_max_filesize = 20M post_max_size = 20M enable_dl = Off disable_functions = "" disable_classes = "" session.save_handler = files session.use_cookies = 1 session.use_only_cookies = 1 session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_httponly = 1 date.timezone = "UTC"
Simpan dan tutup file. Muat ulang Apache agar perubahan diterapkan.
sudo systemctl reload apache2
Nginx
Jika Anda menggunakan Nginx , edit php.ini
berkas.
sudo nano /etc/php/7.4/fpm/php.ini
Tambahkan baris berikut tepat di bawah [PHP]
baris.
zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4.so
Simpan dan tutup file. Kita perlu membuat file PHP ini kedua.
sudo nano /etc/php/7.4/fpm/conf.d/10-ioncube.ini
Tambahkan baris berikut. Ini untuk mengubah beberapa konfigurasi default PHP.
expose_php = Off error_reporting = E_ALL & ~E_NOTICE display_errors = Off display_startup_errors = Off log_errors = On ignore_repeated_errors = Off allow_url_fopen = On allow_url_include = Off variables_order = "GPCS" allow_webdav_methods = On memory_limit = 128M max_execution_time = 300 output_buffering = Off output_handler = "" zlib.output_compression = Off zlib.output_handler = "" safe_mode = Off register_globals = Off magic_quotes_gpc = Off upload_max_filesize = 20M post_max_size = 20M enable_dl = Off disable_functions = "" disable_classes = "" session.save_handler = files session.use_cookies = 1 session.use_only_cookies = 1 session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_httponly = 1 date.timezone = "UTC"
Simpan dan tutup file. Kemudian restart Nginx dan PHP7.4-FPM.
sudo systemctl restart nginx php7.4-fpm
Sekarang Anda seharusnya dapat mengunjungi wizard penginstalan berbasis web FileRun di http://filerun.example.com
, tetapi sebelum memasukkan informasi apa pun, mari aktifkan HTTPS.
Langkah 5:Aktifkan HTTPS
Untuk mengenkripsi lalu lintas HTTP saat Anda mengunjungi antarmuka web FileRun, kami dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di Ubuntu 20.04.
sudo apt update sudo apt install certbot
Jika Anda menggunakan Nginx , Anda juga perlu menginstal plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Kemudian jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com
Jika Anda menggunakan Apache , Anda juga perlu menginstal plugin Certbot Apache.
sudo apt install python3-certbot-apache
Kemudian jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com
Penjelasan:
--nginx
:Gunakan plugin nginx.--apache
:Gunakan plugin Apache.--agree-tos
:Menyetujui persyaratan layanan.--redirect
:Memaksa HTTPS dengan pengalihan 301.--hsts
:Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.--staple-ocsp
:Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.
Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.
Langkah 6:Selesaikan Instalasi di Browser Web Anda
Buka https://filerun.example.com
untuk meluncurkan wizard penginstalan berbasis web. Kemudian klik Next
tombol.
Ini akan memeriksa apakah sistem Anda memenuhi persyaratan seperti ekstensi PHP. Jika semua persyaratan sudah terpenuhi, maka klik Next
.
Pada langkah selanjutnya, masukkan nama pengguna MariaDB, kata sandi, dan nama database yang Anda buat pada langkah 2.
Setelah mengklik Next, wizard penginstalan akan secara otomatis membuat akun pengguna. Klik Next
untuk melanjutkan.
Di layar berikutnya, Anda dapat masuk dengan akun pengguna super. Saat login pertama, Anda perlu membuat folder home untuk akun superuser.
Anda dapat membuat folder home untuk superuser dengan perintah berikut.
sudo mkdir /var/www/superuser sudo chown www-data /var/www/superuser/ -R
Kemudian masukkan jalur folder di antarmuka web FileRun. Dan simpan perubahannya.
Selanjutnya, buka Security
-> API
untuk mengaktifkan API, sehingga aplikasi klien dapat menyinkronkan dengan server.
Instal Klien Sinkronisasi Desktop FileRun
Di desktop, FileRun menggunakan klien Nextcloud untuk menyinkronkan dengan server. Di desktop Ubuntu, Anda dapat menginstal klien Nextcloud dengan:
sudo apt install nextcloud-desktop
Untuk cara menginstal aplikasi klien di platform lain, silakan lihat halaman unduh FileRun.
Cara Mengatur Notifikasi Email
Jika ada lebih dari satu pengguna, maka ada baiknya FileRun dapat mengirimkan pemberitahuan email seperti email pengaturan ulang kata sandi. Untuk cara setting email server silahkan simak tutorial berikut ini. Catatan bahwa saya sangat merekomendasikan menjalankan server email iRedMail pada OS bersih yang baru. Menginstal iRedMail pada OS yang memiliki aplikasi web lain dapat gagal, dan kemungkinan merusak aplikasi yang ada.
- Cara menyiapkan server email berfitur lengkap dengan mudah di Ubuntu 20.04 dengan iRedMail
Jika Anda tidak ingin menjalankan server email Anda sendiri, Anda dapat mengatur relai SMTP. Silakan lihat tutorial berikut.
- Cara menyiapkan relai SMTP Postfix di server Ubuntu 20.04