無料(オープンソース)のフォトライブラリーのシステムを探していて、ZenphotoというCMSがよさそうなのでロリポップのロリポプラン(月250円)に入れてみました。
このZenphotoの最大のメリットは、FTPで写真(画像)をアップロードしても、自動的にデータベースに登録できる点でした。もちろん管理画面から複数画像を登録&アップロードする機能もありましたが、FTPはやはり楽です。
さらに最近はデジタルカメラで撮った写真なので、画像データに含まれる撮影年月日ほかの情報も読み出して、画像情報として表示してくれる点もメリットでした。
さて、そのZenphotoはPHPとMySQLがサーバの要件ですが、ロリポップの月250円のロリポプランではどうかと思い、入れてみることにしました。
先に結論を言うと、Zenphotoの管理画面は劇重なので大量なフォトライブラリーだと、そんな共用サーバよりVPSあたりがいいのかも知れません。
しかし、月250円ですからね。
管理画面が重いのは我慢ですかね。
しかし尋常ではない重さ(遅さ)なので、お金に余裕がある場合は共用サーバでもスタンダードプラン(500円~)とか、XserverのX10プラン(1,000円~)のほうがマシ化と思います。
とりあえずやったことは下記。
(1)Zenphoto公式サイトから最新版をダウンロード
私がDLしたのは、Zenphoto 1.4.9 (Jul 09, 2015)でした。
(2)ロリポのサーバのルート直下にFTPでアップロード
ZIP版を解凍し「zenphoto-zenphoto-1.4.9」フォルダの中身だけを(ディレクトリは作るつもりはなかったので)ルート直下にUPしました。
(3)セットアップページを開いてエラーを解決する
FTPでUPしたあと、ブラウザでそのディレクトリにアクセスします。
私の場合はルート直下にUPしましたけど。
すると下記の画面が・・。
zp-dataセキュリティ 【危険(is compromised)】
警告!
Zenphotoは所有者のみがアクセスできる(パーミッションは0600)zp-dataフォルダーの機密ファイルを作成することをおすすめします。setup.logのファイルのパーミッションは未承認アクセスを許可できる0644である必要があります。
PHP セッション 【save_save_pathに問題が有ります。】
警告!
設定したPHPセッションパスは使用することができませんでした。Zenphotoはzp-dataフォルダーへパスを設定します。
これらの警告は無視でOKかと思います。
やらなければならないのは「エラー」と表示された項目。
設定ファイルのデータベース資格情報
エラー!
MySQLi レポート: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
エラーというより、データベースを事前にセットしておかないとダメよというものですね。
(4)ロリポの管理画面でデータベースを作成
ここでZenphotoのセットアップページは開いたまま、ブラウザの別タブか別窓でロリポの管理画面を開きます。
WEBツール>データベースと進み。
データベース作成を押して・・
そこに書かれた情報を、さきほどのセットアップページに入力します。
最初の選択肢、「MySQLi」または「MySQL]ですが、ロリポプランではどちらでも可。
あとはロリポの管理画面でデータベースを作成を実行し、データベースユーザ、データベースパスワード、データベースホスト(サーバー)、データベース名の項目を画面を見ながら埋めていきます。
データベースのテーブルプレフィックスは、Zenphotoなので「zp_」としてみました。
そこでOKかと思ったら、今度は、
ファイルシステムの文字セット定義はUTF‑8です【テストは実行されません】
警告!
ファイルシステムの文字セット定義をUTF-8に変更します
と表示が出たので、UTF-8を「適用」をクリックすると・・・
An attempt at cross site reference forgery has been blocked.
という画面に。
バックボタンを2度押しして、もう1回UTF-8を「適用」をクリックすると・・・
セットアップページに戻り、なんだかうまく行きました。
(5)管理者の設定
セットアップページの最下部にある「実行」ボタンを押すと、下記の画面に。
画面下の「管理ユーザ名とパスワードを設定する必要があります。」というリンクを押すと、Zenphotoライセンス契約の画面に遷移。
「私はこれらの諸条件に同意します」ボタンを押すと、ユーザー登録画面に。
User名とパスワードを登録しますが、ここにある「パスワードリセット」というのが「?」でしたが、要はパスワード確認入力でした。
入力後「適用」を押すと下記ログイン画面。
無事、ログインできました。
(6)セットアップファイルを削除して完了
そういえば、パーミッションの問題でセットアップできないとか、そういった警告はありませんでしたが、「オーバービュー」の画面にいくと、警告が・・。
セットアップファイルを削除しないと危険ということで、
/zp-core/setup.php
/zp-core/setup
を削除しました。
基本的には以上でセットアップは完了ですが、気付いた注意点とカスタマイズについて書き足しておきます。
・フォトライブラリーのアルバム名は、半角英数にする。
アルバム=URLのDirとなるため、全角(日本語)名だと「–」となって認識してくれません。
なお下記のようにアルバムの下にサブアルバム、さらにサブアルバムと階層を作ることができます。
/albums/に下に登録したいアルバムを管理画面で登録するか、FTPでアップロードします。
例えば、下記のように階層を作って整理することができます。
Kanto
┣Ibaraki
┣Gunma
┗Tochigi
┣Nasu
┗NIkko
・デフォルトではログイン画面への誘導がない。
ログアウトすると、ライブラリーのTOPに遷移しますが、再ログインしようと思ってもログインへの誘導がありません。面倒なので、ギャラリーTOPページにログイン/ログアウトを設定で付けました。
設定の仕方は、
Zenphoto管理画面>プラグイン>ユーザと進んで利用可能なプラグインから「user_login-out」のチェックボックスをONにします。
これだけだとギャラリーTOPページのフッターに小さくLoginとリンクが付くだけで、ギャラリーの写真そのものはログインなしに見ることができます。
・限られたログインユーザーだけにライブラリーを公開する
グループメンバーだけのギャラリーにするような使い方もできます。
設定に仕方は、
Zenphoto管理画面>オプション>ギャラリーと進んで、「ギャラリーのタイプ」の項に、公開・非公開のラジオボタンがあるので、そこで非公開を選択すると、トップ画面がいきなりログイン画面になります。
・ギャラリー画面のカスタマイズ
使っているテーマ(デザイン)はデフォルトの「Basic」というものですが、横幅が狭く、アルバムの表示数も少ないというか、最近の高解像度のPC画面では物足りなさを感じました。
そこでやったことは2つ。
1つは管理画面での設定で、テーマ>テーマオプションbasicを設定と進みます。
管理画面がみづらいというか誤解しやすいですが、
行毎のサムネイル;2を3に。(1行横列にアルバム3つ)
ページ毎のサムネイル:6を12に。(縦3行で合計12個表示)
と設定しました。
ただ、これだけではうまくいきません。
実は画面のスタイルシートが邪魔しているのです。
そのため、
/themes/basic2/styles/light.css
にある#mainと#imagesの指定を少し変更しました。
#main {
display: inline-block;
text-align: left;
margin: 20px auto;
width: 1040px; /*685pxを広げた*/
background: #fff;
padding: 20px 30px 70px;
/* border指定をすべて削除 */
}
#images {
float: left;
width: 1040px; /*650pxを広げた*/
border: 0px solid gray;
}
この結果、表示は下記のような感じになりました。
(下記の写真はレイアウトを見せるためのダミーです。)
その他、ライブラリーやアルバム、写真登録などは習うより慣れろ状態で、直観的にできるかと思います。
フォトライブラリー作成にご興味のある方はお試しください。