GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal FileRun di Ubuntu 20.04 dengan Apache/Nginx

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

Ubuntu
  1. Cara Menginstal Nginx di Ubuntu 20.04

  2. Cara Menginstal HTTP Git Server Dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 20.04

  1. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  1. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Jellyfin Media Server dengan Nginx di Ubuntu 20.04

  3. Cara Menginstal SuiteCRM di Ubuntu 20.04 dengan Apache/Nginx