何か決めなきゃ駄目ですか。



俺が決めたら、貴方はどうするんだい。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

Ubuntuにzenphoto

Ubuntu8.04 + zenphoto-1.2.3


ウェブアルバムであるzenphoto
必要な物品が割と多いので、最初から色々てんこ盛りのUbuntuでも導入品があったり。
覚えてる範囲で参考に無い部分だけ。

参考:http://www.asterisk-works.jp/wiki/index.php/ZenPhotoインストール

zenphotoを拾って解凍。→公開用の好きな場所に。

# wget http://www.zenphoto.org/files/zenphoto-1.2.3.tar.gz
# tar zxvf zenphoto-1.2.3.tar.gz
# cp zenphoto-1.2.3/* /var/www/zenphoto/


php5にGDが必要だけど入ってない。

# apt-get install php5-gd


ついでに言うと、mysqlも入ってない。

# apt-get install php5-mysql
# apt-get install mysql-server


mysqlの操作ワカンネ。

# mysql
Access denied for user 'root'@'localhost' (using password: NO)


パスワード入れて入れるように。

# mysql -u root -p
password :


ちょこちょこ設定(zenphoto用のユーザー(zenphoto)とデータベース(zenphoto)及び権限)

mysql> create database zenphoto;
mysql> grant all privileges on zenphoto.* to zenphoto@localhost;
mysql> grant alter,index,insert,select,update,delete,create,drop on zenphoto.* to zenphoto@localhost;
mysql> show databases;
mysql> quit;


確認?

# mysql -u zenphoto
mysql> use zenphoto;
OKっぽいの。



設定ファイル
.htaccess
権限設定
上記3点は参考を見て何とかする。



で、ここから脱線。
zenphotoで使うalbumとcacheディレクトリを、sambaサーバで使用しているディレクトリにln。
シンボリックリンクを張って、samba経由でwindowsからFTPを使わずにアップロードできるか。
結論から言うと出来るので少し試す。(もちろん権限は777を付与)

# mkdir -p /mnt/samba/albums
# ln -s /mnt/samba/albums/ ./albums
# mkdir -p /mnt/samba/cache
# ln -s /mnt/samba/cache/ ./cache


日本語名のディレクトリは確かに使えないが、samba経由でアップロードしても、
閲覧時に自動的にクロールしてくれて、CelM1.3Gのノートでも十分捌けている。
・・・今のところは。


functions-basic.phpが微妙におかしいので、その辺を直したら、
samba経由で日本語ディレクトリ名、ファイル名が使い放題いやっほう状態。

オタモダチの功績なので、ボクが書くのはお門違いなんだけど・・・。
本家が書くまで待ち。

$ sdiff -s functions-basic.php functions-basic.php.old
//function fileSystemToUTF8($filename) { | function fileSystemToUTF8($filename) {
// global $_zp_UTF8; | global $_zp_UTF8;
// return $_zp_UTF8->convert($filename, FILESYSTEM_CHARS | return $_zp_UTF8->convert($filename, FILESYSTEM_CHARS
//} | }
function fileSystemToUTF8($filename) { return $filename; } <
//function UTF8ToFileSystem($filename) { | function UTF8ToFileSystem($filename) {
// global $_zp_UTF8; | global $_zp_UTF8;
// return $_zp_UTF8->convert($filename, 'UTF-8', FILESYS | return $_zp_UTF8->convert($filename, 'UTF-8', FILESYS
//} | }
function UTF8ToFileSystem($filename) { return $filename; } <



MySQL側のUTF-8化もしておかないとアレですが、それはアレなので適当に。
末尾にこんなん書いてます。
意味は適当。


[zenphoto]
default-character-set=utf8
skip-character-set-client-handshake





勉強不足でセキュリティホールだらけ。

PageTop

コメント


管理者にだけ表示を許可する
 

zenphotoの日本語ファイル名について

今更だけど報告をば。

zenphoto1.2.3について、
そもそもzp-core/functions-basic.phpの関数内を書き換える必要はなくて、

functions-basic.phpの13行目
 define('FILESYSTEM_CHARSET', 'ISO-8859-1');

 define('FILESYSTEM_CHARSET', 'UTF-8');
にすれば良かっただけの話。
(UTF-8はファイルシステムの文字コード)

おまけとして、phpinfo();でmbstringがちゃんと設定されている環境ならば、同ファイルのfileSystemToUTF8()と、UTF8ToFieSystem()を、

=======================================

 function fileSystemToUTF8($filename) {
  return mb_convert_encoding($filename, "UTF-8", "auto");
 }

 function UTF8ToFileSystem($filename) {
  return mb_convert_encoding($filename, FILESYSTEM_CHARSET, "UTF-8");
 }

=======================================

みたいに書き直せば、UTF-8とかEUCとかSJISとかのファイル名が混在していても上手く処理してくれる。


最近新しくリリースされたzenphoto1.2.4も、同ファイルの12行目付近のdefineの値を書き換えれば良い。

但し、1.2.4は文字コードを変換する関数名が変わって、
filesystemToInternal() (792行目)
internalToFIlesystem() (803行目)
になっているので注意。

kaoruzen | URL | 2009年05月07日(Thu)01:12 [EDIT]


Re: zenphotoの日本語ファイル名について

なんという・・・。
ちゃんとソース嫁ということですよね、はい。

むしろここを読まれているとは思ってなかtt(ry

ruy | URL | 2009年05月07日(Thu)01:17 [EDIT]


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。