技術メモ

既存のLAMP環境(モチロンPHP7)にFileRunをインストール

最近いろいろなオープンソースのクラウドストレージシステムを試していますが、ownCloudNextCloudPydioに続いてFileRunを既存のLAMP環境にインストールする手順を紹介します。

2017年11月現在、日本語対応はしていません(ユーザ登録みたいなことをすれば言語ファイルがダウンロードできる模様)が、機能・見た目的には一番個人的には好きでした(^-^)

基本公式サイトの手順に沿って、PHP7用にカスタマイズしている手順となります。

0.環境

項目 バージョン
CentOS 7.4.1708
Apache 2.4.6
MySQL 5.7.19
PHP 7.0.25
FileRun 2017.09.25

※公式サイトにはPHP7.0までの記載しかなかったので、7.0で我慢しました。

1.MySQL設定

まずFileRun用のデータベース、ユーザを作成します。

※ここでは、データベースを「filerun」、ユーザを「fl」としています。

データベース作成。

create database filerun default character set utf8;

ユーザ作成。

grant all privileges on filerun.* to fl@localhost identified by 'パスワード';

反映。

flush privileges;

2.PHPモジュールインストール(不足があれば)

以下のモジュールが必要ですので、不足があればyum installします。

なお、公式サイトはPHP5.6の手順が掲載されておりzipのモジュールは記載がありませんが、今回はPHP7.0ですのでphp-commonにzipは含まれていないため、「php-pecl-zip」のインストールが必要です。

yum install --enablerepo=remi,remi-php70 php php-mbstring php-mcrypt php-opcache php-pdo php-mysql php-gd php-xml php-pecl-zip

また、公式サイトの手順ではPHP-FPMでPHPを動作させる手順となっていましたが、試してみたらモジュール版でも動作しましたので、どちらでも構わないと思います。

【もし公式サイトのとおりPHP-FPMで動かしたい場合】

yumのインストールモジュールに「php-fpm」を追加し、

systemctl enable php-fpm
systemctl start php-fpm

でhttpd.confに以下を追加してください。(ドキュメントルートが「/var/www/html」の場合)

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

3.httpd.conf編集

「DirectoryIndex」に「index.php」がなければ追加します。

4.ionCubeモジュールダウンロード

cd /usr/lib64/php/modules 
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz 
tar xvfz ioncube_loaders_lin_x86-64.tar.gz

5.PHP設定編集

公式サイトどおり、php.iniではなくphp.d配下に設定ファイルを配置します。

expose_php = Off
error_reporting = E_ALL &amp;amp;amp;amp;amp;amp;amp;amp; ~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 = &amp;amp;amp;amp;quot;GPCS&amp;amp;amp;amp;quot;
allow_webdav_methods = On
memory_limit = 128M
max_execution_time = 300
output_buffering = Off
output_handler = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
zlib.output_compression = Off
zlib.output_handler = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
safe_mode = Off
register_globals = Off
magic_quotes_gpc = Off
upload_max_filesize = 20M
post_max_size = 20M
enable_dl = Off
disable_functions = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
disable_classes = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
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 = &amp;amp;amp;amp;quot;Asia/Tokyo&amp;amp;amp;amp;quot;

;zend_extension = /usr/lib64/php/modules/ioncube/ioncube_loader_lin_7.0.so

※最後のzend_extensionは、PHP7から仕様が変わり、この位置に記述しているとapache起動時に↓こんなエラーを吐くので、

PHP Fatal error:  [ionCube Loader] The Loader must appear as the first entry in the php.ini file in unknown on line 0

php.iniのどこかに

zend_extension = /usr/lib64/php/modules/ioncube/ioncube_loader_lin_7.0.so

を記述します。

6.FileRunインストール

FileRunのモジュールをダウンロードします。

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

zip解凍モジュールをダウンロードします。

wget -O unzip.php http://f.afian.se/wl/?id=HS&filename=unzip.php&forceSave=1

FileRunモジュールの所有者をapacheに変更します。(/var/www/htmlは環境にあわせてください)

chown -R apache:apache /var/www/html/

インストール処理を走らせるURLにアクセスします。

http://YOUR-SERVER-IP/unzip.php

※ZIPが入っていないと、↑この画面が出ず500エラーになります。

「NEXT」クリックすると

さらに「NEXT」クリックすると

作成したDB情報を入力して「NEXT」

ユーザー名とパスワードをメモっといて「NEXT」

さっきのパスワードを入力して「SIGN IN」

「OK」

アカウント情報を変える場合は適宜入力して「SAVE CHANGES」、あとで変える場合は「×」で閉じて終わりです!!

7.さいごに

画面や動作的には一番好きな感じでしたが、日本語化が難しかったり無料版は3ユーザまでしか作成できなかったりアプリはAndroidしかなかったりで、惜しいな~って感じで残念な感じで折角プラグインがいっぱいあって楽しそうなのにな~って感じでした。

限られた範囲で使うなら全然実用的でしたので、是非インストールしてみてください(^-^)