FileRunからの記事

序章

FileRun は、ファイルへのアクセス、整理、表示、編集を支援するPHPファイルマネージャーおよびファイル共有アプリケーションです。 オフィスのドキュメント、写真、音楽、およびWebサーバーに保存する可能性のあるその他の種類のファイルで使用できます。 このチュートリアルでは、FileRunをCentOS7サーバーにインストールします。

前提条件

このチュートリアルに従うには、次のものが必要です。

FileRunはリソースに優しいアプリケーションであるため、ほとんどの場合、512MBのメモリで十分です。 ディスク容量に関しては、FileRunとそれに必要なすべてのサードパーティソフトウェアは2GBを超えて使用することはありません。

ステップ1—FileRunのデータベースを設定する

FileRunは、MariaDBを使用して、アプリケーション設定、ユーザー設定、およびファイルに関する情報を保持するデータベースを管理します。 まず、このデータベースとそれにアクセスするユーザーアカウントを作成します。

開始するには、サーバーのrootアカウントでMariaDBにログインします。

  1. mysql -u root -p

サーバーのインストール時にMariaDBrootユーザーに設定したパスワードを入力します。

FileRunには、データを格納するための別個のデータベースが必要です。 このデータベースは好きなように呼び出すことができます。 ここでは、filerunという名前を使用しています。

  1. CREATE DATABASE filerun;

次に、新しく作成されたデータベースと対話する別のMariaDBユーザーアカウントを作成します。 管理とセキュリティの観点から、1つの機能を持つデータベースとアカウントを作成することをお勧めします。

データベースに名前を付けるのと同じように、任意のユーザー名を選択できます。 ここでは、ユーザー名sammyを使用しています。 強力なデータベースパスワードを選択してください。

  1. GRANT ALL ON filerun.* to 'sammy'@'localhost' IDENTIFIED BY 'your_database_password';

ユーザーにデータベースへのアクセスを割り当てたら、付与テーブルを更新して、MariaDBの実行中のインスタンスが最近の特権の割り当てを認識していることを確認します。

  1. FLUSH PRIVILEGES;

これで、MariaDBを終了できます。

  1. exit

データベース名filerun、ユーザー名 sammy 、および選択したパスワードをメモしておきます。この情報はまもなく必要になります。

ステップ2—PHPのセットアップ

PHP-FPM(FastCGI Process Manager)は、忙しいサイトに役立ついくつかの追加機能を備えた代替のPHPFastCGI実装です。 ここでは、人気のあるmod_phpよりも優れた選択肢です。これは、他の利点の中でも、PHPスクリプトによって作成されたファイルがWebサーバーによって所有されないためです。 これは、FTPまたは他の方法で同時にそれらにアクセスできることを意味します。

FileRunには、PHPバージョン5.5以降が必要です。 CentOS 7はデフォルトで古いPHPバージョン5.4のみを提供するため、最初にyumリポジトリを更新する必要があります。

  1. sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  2. sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

次に、PHP5.6をインストールします。

  1. sudo yum install php56w-fpm

次に、PHP-FPMのシステム起動リンクを作成して起動します。

  1. sudo systemctl enable php-fpm.service
  2. sudo systemctl start php-fpm.service

PHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプロセス(initスクリプト/etc/init.d/php-fpmを使用)です。 ApacheをPHP-FPMで動作させるために、PHP-FPMを使用する必要がある各vhostProxyPassMatchディレクティブを使用できます。 これを行うには、Apache構成ファイルを編集します。

  1. sudo vi /etc/httpd/conf/httpd.conf

このブロックをIncludeOptional conf.d/*.conf行の前の最後に追加します。

httpd.confに追加するセクション
<IfModule proxy_module>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
</IfModule>

次のようになります。

/etc/httpd/conf/httpd.conf
. . .
#EnableMMAP off
EnableSendFile on

<IfModule proxy_module>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
</IfModule>

# Supplemental configuration
#
# Load  config files in the "/etc/httpd/conf.d" directory if any.
IncludeOptional conf.f/*.conf

次に、同じファイルの上位で、DirectoryIndexディレクティブを見つけて、それにindex.phpを追加します。

/etc/httpd/conf/httpd.conf
. . .
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
. . .

Apacheを再起動して、PHPのインストールを完了します。

  1. sudo systemctl restart httpd.service

FileRunには、次の追加のPHPモジュールも必要です。

  • php56w-mbstring。これにより、FileRunはマルチバイト文字を処理できます。
  • php56w-pdoおよびphp56w-mysql。これにより、FileRunはMySQL/MariaDBデータベースを利用できるようになります。
  • php56w-mcrypt、FileRunに暗号化機能を提供します。
  • php56w-gd。これはオプションですが、FileRunでユーザーアバター、QRコード、およびその他の小さな類似画像を生成できます。
  • php56w-opcache、これもオプションですが、PHPのパフォーマンスが大幅に向上します。

次のコマンドを使用して、上記のすべてをインストールできます。

  1. sudo yum install php56w-mbstring php56w-mcrypt php56w-opcache php56w-pdo php56w-mysql php56w-gd

yumリポジトリに含まれていない最後に必要なモジュールは、ionCubeです。 ionCubeは、保護されたPHPコードを実行して、Webサイトのセキュリティを強化し、マルウェアをブロックし、パフォーマンスを向上させるために広く使用されているPHP拡張機能です。

最新のionCubeバージョンを/usr/lib64/php/modulesディレクトリにダウンロードします。

  1. sudo wget -P /usr/lib64/php/modules http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

次に、そのディレクトリ内のファイルを解凍します。

  1. sudo tar xvfz /usr/lib64/php/modules/ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib64/php/modules

次に、PHPによって構成に自動的に追加されるファイルを作成しましょう。 これには、FileRun固有の設定が含まれます。

  1. sudo vi /etc/php.d/filerun.ini

作成したファイル内に以下を貼り付けます。

date.timezone  = "UTC"
zend_extension = "/usr/lib64/php/modules/ioncube/ioncube_loader_lin_5.6.so"

これにより、タイムゾーンが設定され、PHPがionCube拡張機能をロードします。 ここでは、UTCタイムゾーンを選択しましたが、独自のを選択できます。

注:ここでFileRunが推奨するすべてのPHP設定を確認できます。 ディレクティブは/etc/php.d/filerun.iniファイルに追加できます。

最後に、変更を有効にするためにPHP-FPMサービスを再起動する必要があります。

  1. sudo systemctl restart php-fpm.service

これでサーバーはすべての要件を満たし、FileRunのインストールを続行できます。

ステップ3—FileRunのインストール

Webサーバーのルートフォルダー(/var/www/html/)にFileRunをダウンロードします。

  1. cd /var/www/html/
  2. sudo wget -O FileRun.zip http://www.filerun.com/download-latest

FileRunインストーラーを抽出するには、unzipユーティリティが必要です。

  1. sudo yum install unzip

次に、FIleRunアーカイブを解凍します。

  1. sudo unzip FileRun.zip

PHPがFileRunをインストールできるように、Apacheをディレクトリの所有者にします。

  1. sudo chown -R apache:apache /var/www/html/

ブラウザを開き、http://your_server_ipをポイントします。 ここからは、Webインストーラーに従うだけで、数回クリックするだけでFileRunを実行できます。

最初のWelcometo FileRun!画面で、右下の青いNextボタンをクリックして続行します。 次のページのサーバー要件チェックを確認して、赤いエラーメッセージが表示されていないことを確認してから、次へをもう一度クリックします。

次のページでは、データベース接続を設定します。 次のようにフィールドに入力します。

  • MySQLホスト名localhostである必要があります。
  • データベース名は、このチュートリアルのステップ2で使用した名前である必要があります。 この例では、filerunを使用しました。
  • MySQLユーザーは、このチュートリアルのステップ2で使用した名前である必要があります。 この例では、sammyを使用しました。
  • Password は、手順2で選択したパスワードである必要があります。

これらを入力したら、次へをクリックします。 All done!という画面が表示されます。これは、FileRunが正常にインストールされたことを意味します。

:この画面にユーザー名と(ランダムに生成された)パスワードが表示されます。 必ずコピーしてください! 後で必要になります。

次へをクリックしてFileRunを開きます。 ログインページが表示されます。 フォームは事前に入力しておく必要があるため、サインインをクリックするだけです。

すべてログインしています。 次に、インストールが安全であることを確認しましょう。

ステップ4—FileRunインストールの保護

FileRunにサインインするとすぐに、パスワードを変更するように求められます。 自動生成されたパスワードは非常に安全ですが、独自のパスワードを設定することをお勧めします。

警告: FileRunスーパーユーザーは、ブルートフォースログイン攻撃から保護されていない唯一のアカウントであるため、コンピューターが推測するのが非常に難しいパスワードを設定することが非常に重要です。 大文字、数字、記号を含む長いパスワードを設定します。

FileRunアプリケーションファイルのアクセス許可は、PHP(または他のWebサーバーアプリケーション)がそれらに変更を加えることを許可するべきではないので、今すぐ更新してください。

  1. sudo chown -R root:root /var/www/html

/var/www/html/system/data FileRunフォルダーは、PHPが書き込みアクセスを必要とする唯一のフォルダーなので、それも更新します。

  1. sudo chown -R apache:apache /var/www/html/system/data

デフォルトでは、スーパーユーザーのホームフォルダーは/var/www/html/system/data/内にあります。 FileRunコントロールパネルからユーザーアカウントを編集し、Webサーバーのパブリックエリアの外にあるフォルダーを指すホームフォルダーパスを設定することが重要です(つまり、 /var/www/htmlの外側)。

簡単な解決策は、/filesというディレクトリを作成し、そこにすべてのFileRunファイルを保存することです。

  1. sudo mkdir /files
  2. sudo chown apache:apache /files

次に、MariaDBサーバーに再度接続します。

  1. mysql -u root -p

構成されたMariaDBユーザーアカウントを更新し、ALTERおよびDROP特権を削除します。

  1. REVOKE ALTER, DROP ON filerun.* FROM 'sammy'@'localhost';
  2. FLUSH PRIVILEGES;

次に、CTRL+Dと入力してMariaDBを終了します。

:将来FileRunソフトウェアの更新をインストールする前に、これらの権限を追加し直す必要があります。 これを行うには、データベースサーバーに再度接続し、GRANT ALTER, DROP ON filerun.* TO 'sammy'@'localhost';を実行してからFLUSH PRIVILEGES;を実行します。

これで、FileRunのインストールは安全になり、使用できるようになりました。 必要に応じて、さまざまなファイルタイプのサムネイルをサポートするオプションのパッケージをインストールできるようになりました。

ステップ5—サムネイルサポートの追加(オプション)

画像ファイル、写真ファイル、PDFドキュメントのサムネイルを生成するには、ImageMagickをインストールする必要があります。

  1. sudo yum install ImageMagick*

次に、コントロールパネルのシステム構成>ファイル>イメージプレビューセクションで、パス/usr/bin/convertを使用して、FileRun内で有効にします。

ビデオファイルのサムネイルを生成するには、ATrpmsパッケージリポジトリで利用可能なffmpegをインストールする必要があります。

  1. sudo rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms
  2. sudo rpm -ivh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm

最後に、それをインストールします。

  1. sudo yum install ffmpeg

同様に、システム構成>ファイル>イメージプレビューセクションで、パス/usr/bin/ffmpegを使用して、コントロールパネルからFileRun内で有効にします。

今すぐブラウザでFileRunにアクセスすると、ファイルのサムネイルが表示されます。

結論

これで、FileRunを独自の安全なプライベートサーバーに正常に展開できました。 ファイル、写真、音楽、または作業ドキュメントをアップロードして、共有を開始します。

ここからできることは他にもたくさんあります。 たとえば、このホスト名チュートリアルに従って、ドメイン名をサーバーにポイントできます。

SSLを設定することもできます。 SSL証明書は、ブラウザとFileRunインストール間の通信を暗号化します。 データのプライバシーとセキュリティが大幅に向上するだけでなく、FileRun無料のAndroidアプリを使用してファイルにアクセスできるようになります。

無料のSSL証明書をインストールするには、このLet’sEncryptチュートリアルに従ってください。 ドメイン名がなく、この構成をテストまたは個人的な使用のみに使用している場合は、代わりに自己署名証明書を使用できます。 Apache自己署名SSLガイドに従って設定してください。

FileRunの機能と設定の詳細については、公式ドキュメントにアクセスしてください。