2009年12月31日木曜日

Gallery からGallery2へのデータ移行(成功)

昨年の5月に旧サーバーのGalleryから新サーバーのGallery2へデーター移行を試みましたがうまく行っていませんでした。そのことが元で、サーバーの完全移行をあきらめました。

以前の記事 Gallery からGallery2へのデータ移行

その中で

Server開設当時(平成14年頃)から平成16年度まで11892枚(albums1)、平成17年度から現在まで18822枚(albums2)の画像をアップしており、このデータを新しいServerにどのようにして移行するか頭を悩ましています。
albums1(Shift-JIS) --> MySQL(UTF-8)
サーバー開設当時は、Galleryは日本語をサポートしていなかったため、設定ファイルを無理やり日本語化して使用していました。
日本語を正式にサポートしてまもなくサーバーを変更しその機会に新規にGallery Ver1(日本語サポート版)をインストールしました。(album2ですね)
当時、どうにかしてalbum1album2を統合しようと試みましたが私には無理でした。
さて、今回こそはと意気込みながらトライしました。

試したことその一
・galleryデータディレクトリー内、album.datファイルの文字コードをnkfコマンドを使って変換
・その後、gallery1インポートを行う。
 見事に失敗!以前も同じようなことを試したかも・・・


試したことその二

gallery2の管理画面を良く見てみると、「アイテム追加」(ローカルホスト内の指定フォルダを検索してファイルをインポートする)機能があります。
よく調べてみると、何とか使えそうです。

1.バックアップをリストア
今回は、バックアップしていた /backup/backup_albums.tar.gz を /backup/albums にリストアし、そこからデータを読み込みインポートします。
[root@centos /]# cd /backup
[root@centos backup]# mkdir albums
[root@centos backup]# cd albums
[root@centos albums]# tar -xvzf /backup/backup_albums1.tar.gz
2.アルバムタイトルの保存
①albumdb.datの文字コード変換
ごみファイルを削除する前に、まず、アルバムのタイトルを保存しておく必要があります。
それには、albumsディレクトリートップに存在する albumdb.dat の文字コードをUTFに変換します。
[root@centos albums]# find . -type f -name 'albumdb.dat' -print0 | xargs -0 nkf -SeLu --overwrite
②データのインポート画面からタイトルをコピー
gallery2→[サイト管理]→[管理オプション]→[インポート]→[galley1]
「Gallery 1のアルバムディレクトリのパス 」を入力
/backup/albums
 インンポートするディレクトリーを選択(チェック)し、次へ
 ディレクトリー名とタイトル名が出現するので、全てコピーし、ローカルPCに保存

3.画像ディレクトリー内のごみファイルの削除
次に問題になるのが、各ディレクトリーに存在する、album.datやサムネイルファイル、リサイズファイルその他ごみファイルやディレクトリーです。
そこで、「特定位置の特定ファイルを全て捜して削除する」方法で削除します。

[root@centos /]# find /hoge -name hogehoge* -exec rm -f {} \;
4.ローカルホスト内のディレクトリーからインポート
albumsディレクトリーをWinSCPで確認し、いよいよデーターインポートを行います。
①インポート先のアルバムを作成
②作成したアルバムにインポート

5.アルバム名を変更し完了
読み込んだアルバムを開くと、データが保存されているでしょう。
しかしタイトル名は「ディレクトリー名」になっているので、2.-②で保存したタイトル名をカットアンドコピーし終了。

今回は成功しました。

特定位置の特定ファイルを全て捜して削除する

新サーバーを立ち上げ、ぼちぼちと軌道に乗りはじめた今日この頃です。
さて、ここ数年来のデータ移行も徐々に進みつつありますが、どうしても簡単にいかないものもあります。
データーの中には不要なファイルが散在しており、その処理に苦労しています。

今回、あるディレクトリー配下の特定ファイルを削除する必要になりました。

下記の条件

  • /hoge ディレクトリー以下に存在するファイルの中で
  • hogehogeを含むファイル
[root@centos /]# find /hoge -name hogehoge* -exec rm -f {} \;
意外と簡単に削除できました。

2009年12月28日月曜日

TiMidity++ のインストール

midiファイルをwavファイルに変換しながら演奏するソフトウェア・シンセ サイザ。

http://timidity.sourceforge.net/から最新版TiMidity++をダウンロード して、インストール:

% tar xvfz TiMidity++-2.13.2.tar.gz
% cd TiMidity++-2.13.2
% ./configure
% make
# make install
さらに音源ファイルをインストールする必要がある.
次のように"guspat-20000706-aa.tar.gz"から"guspat-20000706-aw.tar.gz"ま でダウンロードしてインストールする。
% mkdir /usr/local/src/guspat
% cd /usr/local/src/guspat
% wget http://dodo.nurs.or.jp/~iz/guspat/required/guspat-20000706-aa.tar.gz
% wget http://dodo.nurs.or.jp/~iz/guspat/required/guspat-20000706-ab.tar.gz
% ....
% wget http://dodo.nurs.or.jp/~iz/guspat/required/guspat-20000706-ap.tar.gz
% wget http://dodo.nurs.or.jp/~iz/guspat/optional/guspat-20000706-aq.tar.gz
% wget http://dodo.nurs.or.jp/~iz/guspat/optional/guspat-20000706-ar.tar.gz
% ....
% wget http://dodo.nurs.or.jp/~iz/guspat/optional/guspat-20000706-aw.tar.gz
% cd /usr/local/share
# tar xvfz /usr/local/src/guspat/guspat-aa.tar.gz 
# tar xvfz /usr/local/src/guspat/guspat-ab.tar.gz 
# ....
# tar xvfz /usr/local/src/guspat/guspat-aw.tar.gz 

2009年12月27日日曜日

CentOS 5.4 に FFmpegをインストール(yum)

RPMforgeにffmpegが出ています。
# yum --enablerepo=rpmforge install ffmpeg
これまでソースからコンパイルしてた苦労は一体なんだったのかと思えるくらい簡単にインストールできました。
WebPhotoを十二分に使うためには必須なツールですので助かりました。
あと xpdf もどうにかならないものか・・・

2010/07/03[改定]
yum の 「--」が「-」となっていたためインストール出来ていなかった。


CentOS 5.4 に FFmpegをインストール(yum)

RPMforgeにffmpegが出ています。

# yum --enablerepo=rpmforge install ffmpeg

これまでソースからコンパイルしてた苦労は一体なんだったのかと思えるくらい簡単にインストールできました。

WebPhotoを十二分に使うためには必須なツールですので助かりました。
あと xpdf もどうにかならないものか・・・

2010/07/03[追記]
yumの「-」を「--」に変更

2009年12月26日土曜日

tarで圧縮する場合に、特定のファイルを除外する方法

サーバ上の Web コンテンツをバックアップしていると、写真や動画のコンテンツが充実してくると途端に容量がかさんできます。
動画ファイルなど容量の大きいものはディスク容量が気になるので除外してバックアップできれば助かりますし、全体バックアップは週一くらいで、別途バックアップしておく必要はあるでしょう。
今回は、いつもバックアップに使っている tar でファイルを除外する方法です。ディレクトリも同じです。

 hoge ディレクトリ配下から wmvファイルを除いて hoge.tar.gz に出力

[root@Cent-net ~]# tar zcvf hoge.tar.gz --exclude *.wmv hoge/*

2009年12月24日木曜日

XOOPS Cube 導入直後に行うべきこと事(テンプレート編)

私が管理しているサーバーサイトもやっと公開できるようになってまいりました。

今度のサーバー構築では、トップに XOOPS Cube を導入し、サイト更新やユーザー管理がし易いように工夫していますが、XOOPSも数年前と比べ大変進化しているようですね。非常に使いやすくなっています。

しかし、XOOPS Cube を導入したらデフォルトでは物足りなくなり、ブロック内のレイアウトなどを変更したくなりますが、その手順がなかなか分かりづらい。

  1. Xoops Cubeの導入
  2. セキュリティー強化の為のモジュールインストール
  3. 各種モジュールの導入
  4. テンプレートセットの複製
  5. 各モジュールのテンプレート編集
  6. 公開
  • AttachFileを導入した場合にテンプレート編集が必要
  • ブロック画面の表示変更(日付表示、フォント表示、ブロック内レイアウト等)
テンプレートセットの複製を必ず行ってから編集作業に入らないと後々苦労することになるかも・・・

うさぎにもできるXOOPS Cube入門さんのサイトで公開されている、ユーザー情報を変えようの項目を参考に行えば上手くいきました。

少し分かりづらい点としてテンプレートの複製及び削除、実際のテンプレート編集を行うメニューが別々にあることです。
今回は、次のような手順で進めてみました。

1.テンプレートの複製
管理メニュー」→「ALTSYS」→「テンプレート管理」→新規にテンプレートセットを作成する(項目テンプレート名の一番下)
ベース:
セット名:xxxxxxx 「新規作成」
「新規作成」ボタンをおして作成します。

2.テンプレートの削除

管理メニュー」→「互換レンダーシステム」→「テンプレート管理」→「操作」(項目)→「×」削除ボタン
*この時テンプレートがアクティブだと削除画面が出ません


3.新規テンプレートの適用
管理メニュー」→「互換モジュール」→「全般設定
デフォルトのテンプレート・セット:xxxxxxx
送信」ボタン

4.各モジュールのテンプレート編集
管理メニュー」→「ALTSYS」→「テンプレート管理
→モジュールタブから目的のモジュールを選択→DB-default(項目)の該当テンプレートにチェック→DB-default(項目)の一番下
行先:xxxxxxx
「コピー実行」ボタン
コピー実行」ボタンを押してコピーします
→DB-xxxxxxxx(項目)の該当テンプレートの「編集」ボタンを押して編集

2.で新規テンプレートを複製する場合、「空」を選択します、その次に3.において空のテンプレートをセットするのですが、何も無いテンプレートをセットした場合はデフォルトのものが適用され、コピー編集したテンプレートだけが実際に反映されます。


まずはこんなところかな・・・

2009年12月21日月曜日

phpのアップロードサイズ変更

phpのアップロードサイズデフォルトが2Mなので、ちょっと小さい。
サーバ設定の度に変更するのだけれども、これもつい忘れてしまうからメモします・

/etc/php.iniを以下の様に変更する。
memory_limit = 64M
post_max_size = 32M
upload_max_filesize = 32M
* memory_limit値は Gallery2 でインポートする場合に大きくしないと途中で落ちてしまう。


CentOS 5.4 に ImageMagic Dcraw をインストール

ImageMagicのインストール

# vi /usr/share/pear/pearcmd.php
  @ini_set('memory_limit','80M'); を追記
# yum install ImageMagick-devel
# pecl install imagick
# vi /etc/php.ini
  extension=imagick.so を追記
# /etc/rc.d/init.d/httpd restart
Dcraw(RAW現像用ソフト)のインストール
# yum install dcraw

ImageMagic2.0のマニュアル

2009年12月20日日曜日

tarで圧縮する場合に、特定のディレクトリーを除外する方法

CentOS 5.4
Tar コマンド

次のようなディレクトリー構造の場合に

/
/home/UserDir/www/
/home/UserDir/www/111.txt
/home/UserDir/www/222.txt
/home/UserDir/www/AAA
/home/UserDir/www/AAA/aaa.txt
/home/UserDir/www/AAA/bbb.txt
/home/UserDir/www/BBB
/home/UserDir/www/BBB/ccc.txt
/home/UserDir/www/BBB/ddd.txt
/home/UserDir/www/CCC
/home/UserDir/www/CCC/eee.txt
/home/UserDir/www/CCC/fff.txt


下記の条件で圧縮するには
  • wwwより下位のディレクトリー・ファイルを圧縮する
  • www/AAA www/BBB を除外する 
  • バックアップ場所は /backup
  • バックアップファイル名は backup_UserDir_www.tar.gz

次のように --exclude を使う
[root@Cent-net ~]# cd /home/UserDir/www
[root@Cent-net www]# tar czvplf /backup/backup_UserDir_www.tar.gz . --exclude backup_UserDir_www.tar.gz --exclude AAA --exclude BBB
*バックアップファイル名と --exclude の間に「.」ドットが必要 

橙色のファイル及びディレクトリーが圧縮されます。


VMware ホストOSがWindows7の場合のブリッジ接続

ホストOS : Windows7
仮想化ソフト : VMware Workstation 7
クライアントOS : Windows XP Pro SP3

デフォルトのままでは、ブリッジ接続が出来ないため試行錯誤・・・
やっと解決策が見つかりました。
これでやっとサーバーが立てられるかも。

  1. ホストOSのメニュー
  2. [VMware]
  3. [仮想ネットワークの設定]  *管理者として実行します
  4. タブ[VMnet 情報]
  5. [ブリッジ (VMを外部ネットワークに直接接続する)(B)] にチェック
  6. ブリッジ先(T):ローカルエリア接続ネットワークデバイス名 を選択

次はクライアントとしてCentOSを試します。うまくいけばサーバーを移行します。

2009年12月14日月曜日

橘町サーバー導入記録 CentOS5.4 (2009判)

導入月日:2009/11/28
導入機器:VMwaer上の仮想ディスク
OS:CentOS 5.4
参考URL:CentOSで自宅サーバー構築


1. CentOSインストール

  2. CentOS5インストール CentOS5固有


2. クライアント(Windows)からLinuxサーバーをリモート操作する

  1. WindowsからSSHサーバーへリモート接続(Poderosaパスワード方式ログイン編) CentOS4/CentOS5


3. CentOS初期設定

  2. CentOS5初期設定 CentOS5固有

■admin User 管理者
  ID : Pass : OK
■wheel User 管理者(admin)に成れるUserID
  ・useradd User名
  ・passwd User名
  ・Pass入力
  ・Pass再入力
  ・chmod 711 /home/User名/
  ・usermod -G wheel User名
  ID : Pass : OK
  ID : Pass : OK 移行OK
■Chroot User 自身のホームディレクトリ以外を参照できないUser。
  ・chroot-useradd user名
  ・Pass入力
  ・Pass再入力
  ・chmod 711 /home/User名/
  ID : Pass : OK 移行OK
■No login User SSHログインできないUser
  ・chroot-useradd user名 /sbin/nologin
  ・Pass入力
  ・Pass再入力
  ・chmod 711 /home/User名/
  ID: Pass: OK blogアクセスはOK、データ欠落HDD障害
  ID: Pass: OK blogアクセスはOK、一部アクセス×
  ID: Pass: OK blogアクセスはOK、写真へのアクセス×
  ID: Pass: OK index.htmlでアクセスOK
  ID: Pass: OK
  ID: Pass: OK 移行OK
  ID: Pass: OK BBSへのアクセス移行OK
  ID: Pass: OK 移行OK
  ID: Pass: OK Gallryへのアクセス不可
  ID: Pass:
  ID: Pass:
  ID: Pass:

  4. 仮想マシン構築  今回は構築無し

以下折りたたみ