GNU/Linux >> Linux の 問題 >  >> Ubuntu

Apache/Nginxを使用してUbuntu20.04にFileRunをインストールする方法

fこのチュートリアルでは、 FileRunをインストールする方法を説明します。 Ubuntu20.04LTSとApache/NginxWebサーバー。 FileRunは、自己ホスト型のGoogleドライブ/写真/音楽の代替手段です。

FileRunの機能

  • インデックスは必要ありません。ファイルシステム上のファイルに直接アクセスできます。
  • NextCloudと互換性があります。
  • ファイルの自動バージョン管理。
  • 100%ブランド化可能。独自のロゴをアップロードします。
  • 拡張可能。 Officeファイル、CADファイルなどを作成および編集できるプラグインは多数あります。
  • ゲストユーザー。
  • 写真を整理、同期、共有します。
  • 組み込みの音楽プレーヤーとオーガナイザー

要件

このチュートリアルに従うには、ドメイン名とサーバーが必要です。私は自分のドメイン名をNameCheapに登録しました。これは、価格が低く、whoisのプライバシー保護が一生無料になるためです。 FileRunを実行するには、1GRAMを搭載したサーバーで十分です。サーバーを入手したら、Ubuntuをサーバーにインストールし、以下の手順に従います。

FileRunはPHPで記述されており、MySQL/MariaDBデータベースを使用します。このチュートリアルに従うために、Ubuntu20.04でLAMPまたはLEMPスタックをすでに設定していることを前提としています。そうでない場合は、次のチュートリアルのいずれかを確認してください。

  • Ubuntu20.04サーバーにLAMPスタックをインストールする方法
  • Ubuntu20.04サーバーにLEMPスタックをインストールする方法

LAMPまたはLEMPスタックの設定が完了したら、ここに戻って読み進めてください。

ステップ1:Ubuntu20.04にFileRunをダウンロードする

SSH経由でサーバーにログインします。次のコマンドをいつでも使用して、サーバーに最新バージョンのFileRunをダウンロードできます。

wget -O FileRun.zip https://filerun.com/download-latest

ダウンロードしたら、 unzipでアーカイブを抽出します 。

sudo apt install unzip

sudo mkdir -p /var/www/filerun/

sudo unzip FileRun.zip -d /var/www/filerun/

-d オプションは、ターゲットディレクトリを指定します。 FileRunWebファイルは/var / www / filerun /に抽出されます 。次に、このディレクトリの所有者を www-dataに変更する必要があります Webサーバーがこのディレクトリに書き込めるようにします。

sudo chown www-data:www-data /var/www/filerun/ -R

ステップ2:MariaDBでデータベースとユーザーを作成する

次のコマンドを使用してMariaDBデータベースサーバーにログインします。

sudo mysql

または、このコマンドを使用してログインすることもできます。

sudo mariadb

次に、FileRun用のデータベースを作成します。このチュートリアルでは、データベースに filerunという名前を付けます 。好きな名前を使用できます。

create database filerun;

データベースユーザーを作成します。この場合も、このユーザーの好みの名前を使用できます。 your-passwordを置き換えます ご希望のパスワードを使用してください。

create user filerun@localhost identified by 'your-password';

このユーザーにfilerunに対するすべての権限を付与します データベース。

grant all privileges on filerun.* to filerun@localhost;

特権をフラッシュして終了します。

flush privileges;

exit;

ステップ3:ApacheまたはNginx構成ファイルを作成する

Apache

Apache Webサーバーを使用する場合は、 / etc / apache2 / sites-available /に仮想ホスト構成ファイルを作成します。 ディレクトリ。

sudo nano /etc/apache2/sites-available/filerun.conf

次のテキストをファイルに入れます。 filerun.example.comを置き換えます あなた自身のドメイン名で。 DNSマネージャーでドメイン名のAレコードを設定することを忘れないでください。

<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>

ファイルを保存して閉じます。次に、 rewriteを有効にします モジュール。

sudo a2enmod rewrite

次に、この仮想ホストを有効にします。

sudo a2ensite filerun.conf

変更を有効にするには、ApacheWebサーバーを再起動します。

sudo systemctl restart apache2

Nginx

Nginx Webサーバーを使用する場合は、 filerun.confを作成します。 /etc/nginx/conf.d/のファイル ディレクトリ。

sudo nano /etc/nginx/conf.d/filerun.conf

次のテキストをファイルに入れます。 filerun.example.comを置き換えます あなた自身のドメイン名で。 DNSマネージャーでドメイン名のAレコードを設定することを忘れないでください。

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;
    }
}

ファイルを保存して閉じます。 Nginx構成をテストしてから、変更を有効にするためにNginxをリロードします。

sudo nginx -t

sudo systemctl reload nginx

ステップ4:PHPモジュールをインストールして有効にする

次のコマンドを実行して、FileRunで必要または推奨されるPHPモジュールをインストールします。

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はionCubeを使用してPHPファイルを暗号化するため、PHPファイルを復号化するためにionCubePHPローダーをインストールする必要があります。 ionCubeローダーをダウンロードします。

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

/ usr / lib / php /に解凍します 。

sudo tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php

次に、ioncubePHP拡張機能を有効にする必要があります。

Apache

Apacheを使用する場合 次に、ionCubeのPHPiniファイルを作成します。

sudo nano /etc/php/7.4/apache2/conf.d/00-ioncube.ini

このファイルに次の行を追加します。

zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.so

ファイルを保存して閉じます。 2番目のPHPiniファイルを作成する必要があります。

sudo nano /etc/php/7.4/apache2/conf.d/filerun.ini

次の行を追加します。これは、デフォルトの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"

ファイルを保存して閉じます。変更を有効にするためにApacheをリロードします。

sudo systemctl reload apache2

Nginx

Nginxを使用する場合 、 php.iniを編集します ファイル。

sudo nano /etc/php/7.4/fpm/php.ini

[PHP]のすぐ下に次の行を追加します 行。

zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4.so

ファイルを保存して閉じます。 2番目のPHPiniファイルを作成する必要があります。

sudo nano /etc/php/7.4/fpm/conf.d/10-ioncube.ini

次の行を追加します。これは、デフォルトの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"

ファイルを保存して閉じます。次に、NginxとPHP7.4-FPMを再起動します。

sudo systemctl restart nginx php7.4-fpm

これで、 http://filerun.example.comにあるFileRunWebベースのインストールウィザードにアクセスできるようになります。 、ただし、情報を入力する前に、HTTPSを有効にしましょう。

ステップ5:HTTPSを有効にする

FileRun WebインターフェイスにアクセスしたときにHTTPトラフィックを暗号化するために、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にすることができます。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu20.04にインストールします。

sudo apt update
sudo apt install certbot

Nginxを使用する場合 、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com

Apacheを使用する場合 、CertbotApacheプラグインもインストールする必要があります。

sudo apt install python3-certbot-apache

次に、このコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com

説明:

  • -nginx :nginxプラグインを使用してください。
  • -apache :Apacheプラグインを使用してください。
  • -agree-tos :利用規約に同意します。
  • -リダイレクト :301リダイレクトでHTTPSを強制します。
  • -hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • -staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

ステップ6:Webブラウザでのインストールを完了します

https://filerun.example.comにアクセスします Webベースのインストールウィザードを起動します。次に、[次へ]をクリックします ボタン。

システムがPHP拡張機能などの要件を満たしているかどうかを確認します。すべての要件が満たされている場合は、[次へ]をクリックします 。

次のステップでは、ステップ2で作成したMariaDBのユーザー名、パスワード、データベース名を入力します。

[次へ]をクリックすると、インストールウィザードによってユーザーアカウントが自動的に作成されます。 次へをクリックします 続行します。

次の画面で、スーパーユーザーアカウントでログインできます。最初のログイン時に、スーパーユーザーアカウントのホームフォルダーを作成する必要があります。

次のコマンドを使用して、スーパーユーザーのホームフォルダを作成できます。

sudo mkdir /var/www/superuser

sudo chown www-data /var/www/superuser/ -R

次に、FileRunWebインターフェイスにフォルダーパスを入力します。変更を保存します。

次に、セキュリティに移動します -> API APIを有効にして、クライアントアプリがサーバーと同期できるようにします。

FileRunデスクトップ同期クライアントのインストール

デスクトップでは、FileRunはNextcloudクライアントを使用してサーバーと同期します。 Ubuntuデスクトップでは、次のコマンドでNextcloudクライアントをインストールできます:

sudo apt install nextcloud-desktop

他のプラットフォームにクライアントアプリをインストールする方法については、FileRunダウンロードページをご覧ください。

メール通知の設定方法

複数のユーザーがいる場合は、FileRunがパスワードリセットメールなどのメール通知を送信できるようにすることをお勧めします。メールサーバーの設定方法については、次のチュートリアルをご覧ください。 新しいクリーンなOSでiRedMailメールサーバーを実行することを強くお勧めします。他のWebアプリケーションがあるOSにiRedMailをインストールすると、失敗し、既存のアプリケーションが破損する可能性があります。

  • iRedMailを使用してUbuntu20.04でフル機能のメールサーバーを簡単にセットアップする方法

独自のメールサーバーを実行したくない場合は、代わりにSMTPリレーを設定できます。次のチュートリアルをご覧ください。

  • Ubuntu20.04サーバーでPostfixSMTPリレーを設定する方法

Ubuntu
  1. Ubuntu20.04にNginxをインストールする方法

  2. Ubuntu16.04にNginxを使用してHTTPGitサーバーをインストールする方法

  3. Ubuntu20.04にNginxを使用してHTTPGitサーバーをインストールする方法

  1. Ubuntu16.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  2. Ubuntu16.04にNginxでMediaWikiをインストールする方法

  3. Ubuntu15.10にNginxを使用してMagentoをインストールする方法

  1. Ubuntu18.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  2. Ubuntu20.04にNginxを使用してJellyfinMediaServerをインストールする方法

  3. Apache/Nginxを使用してUbuntu20.04にSuiteCRMをインストールする方法