ラベル CentOS の投稿を表示しています。 すべての投稿を表示
ラベル CentOS の投稿を表示しています。 すべての投稿を表示

2010年7月17日土曜日

ffmpegのオプション設定 実際の変換結果

CentOS5.5にfmpegをインストールして、実際に変換を行ってみた。
Webに掲載するため、FLVへの変換試験です。

FFmpegのバージョン

FFmpeg version 0.5.2
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
元動画(Canon5DMarkⅡのフルハイビジョン映像)
ファイル名:test.mov
コーデック名:H264
フレームレート:30
再生時間:50s
ビットレート:40,309,193
幅:1920
高:1088
音声コーデック:pcm_s16le
音声ビットレート:44100
ファイルの大きさ:256MB
FFmpegのオプション設定
  • -i」 インプットファイルを指定
  • -b」 変換ビットレートを指定、1000kb/s とkb/sを明示的に指定しないといけなかった。
  • -t」 50秒を全てエンコすると膨大な時間を要するので、「-t」オプションで 「20」を指定し、最初から20秒間をエンコすることにする。
  • -s」 また、フルハイビジョンでWeb上に公開することは無いと思われるので、「-s」オプションで「640x360」を指定した。
  • -ar」 音声ビットレートは明示的に「-ar」で「44100」を指定した。
  • -y」 出力ファイルの上書き指定
Test1 1Pass 4000kb/s
ffmpeg -i test.mov -b 4000kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_4000kb_1pass.flv
Test2 1Pass 2500kb/s

ffmpeg -i test.mov -b 2500kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_2500kb_1pass.flv
Test31Pass 1400kb/s
ffmpeg -i test.mov -b 1400kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_1400kb_1pass.flv
Test4 1Pass 800kb/s

ffmpeg -i test.mov -b 800kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_800kb_1pass.flv

Test5 2Pass 4000kb/s

ffmpeg -i test.mov -b 4000kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_4000kb_2pass.flv

Test6 2Pass 2500kb/s

ffmpeg -i test.mov -b 2500kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y test_640_2500kb_2pass.flv

Test7 2Pass 1400kb/s

ffmpeg -i test.mov -b 1400kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_1400kb_2pass.flv

Test8 2Pass 800kb/s

ffmpeg -i test.mov -b 800kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_800kb_2pass.flv



結果・考察


----------Test1   Test2  Test3   Test4  Test5  Test6  Test7  Test8
Pass      1     1     1     1     2     2     2     2
BitRate   4000   2500   1400   800   4000   2500   1400   800
大きさ   10.25MB 6.52MB 3.78MB 2.07MB 10.25MB 6.45MB 3.59MB 1.97MB
画質     ++++   +++    +++    +    ++++   +++    +++    +

  • 元画質が良ければ、1Pass も 2Pass も遜色無いし、出力ファイルの大きさにも差が無い
  • 2500kb/sと1400kb/sでは、差があまり見られなかった。1280x 720の場合には差が見られるようだ。
  • 800kb/sまでビットレートを落とすと明らかに画質が低下した。
  • 今回の試験の結果、1Pass、1200-1500kb/sで変換していこうと思う。
FFmpegのオプションは、沢山ありすぎて、まだまだ検討の余地はあると思うが、それよりも、バージョンの違いにより、指定方法が違ったりするのが困ったものだ。

2010年7月16日金曜日

XOOPS Cubeにログインできなくなった。あせりまくり!!

表題のとおり自宅サーバーでサイト運営しているXOOPS Cubeにログイン出来なくなりました。

久しぶりにメンテしようとログインすると、

****さん、ようこそ。ログイン中です
と一瞬表示されるがその後
このエリアへのアクセスは許可されていません。
などと表示されログイン画面に戻ってしまう。

昨年まで運用していたサイトは、メインページがPHPの手書きで、日記などは海外由来のBlogを使用していました。セキュリティー的には殆んどノーガードだったと思います。
そのBlogを殆んどメンテ無しでそのまま放置していたため、ある日、乗っ取られてしまい、ファイルが改ざんされてしまいました。それ以来、システム全体のセキュリティーを強化しようと模索し現在に至っているわけですが、またヤラレタカ!青くなった次第です。

Googleで調べていると、多くの方が同じような症状になっているようですね。
どうも データベースXOOPSのセッションテーブルがおかしくなっているみたいです。
これを、修復してやると直るみたい。
変な悪戯をされた事ではなさそうです、一安心!

早速、ローカルでphpMyaAminを開き、該当テーブルを確認、やはりエラーが出ています。
コンソールからログイン、MySQLにログイン、続けてXOOPSのデーターベースに接続、そしてリペアーして回復。


実際の手順は・・・
[user@centos ~]# mysql -u root -p
Enter password:   ←パスワード入力
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28411
Server version: 5.xx Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| iptablelog |
| mysql |
| snort_log |
| xoops |    ←これが目的のデーターベース
+--------------------+
4 rows in set (0.00 sec)

mysql> use xoops
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

mysql> show tables;
+-------------------------------------+
| Tables_in_xoops |
+-------------------------------------+
| b3defd_altsys_language_constants |
| b3defd_pico_categories |
| b3defd_pico_category_permissions |
| b3defd_pico_content_extras |
| b3defd_pico_content_histories |
| b3defd_pico_content_votes |
| b3defd_pico_contents |
| b3defd_pico_tags |
------------ 中略 --------------
| b3defd_protector_access |
| b3defd_protector_log |
| b3defd_ranks |
| b3defd_session |  ←これが目的のテーブル
| b3defd_smiles |
| b3defd_user_mailjob |
| b3defd_user_mailjob_link |
| b3defd_users |
| b3defd_xoopscomments |
| b3defd_xoopsnotifications |
| search |
+-------------------------------------+
121 rows in set (0.01 sec)

mysql> REPAIR TABLE `b3defd_session`;
+--------------------------+--------+----------+------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------------------+--------+----------+------------------------------------------+
| xoops.b3defd_session | repair | warning | Number of rows changed from 1683 to 1685 |
| xoops.b3defd_session | repair | status | OK |
+--------------------------+--------+----------+------------------------------------------+
2 rows in set (0.03 sec)
これで、修復されました。
早速、phpMyAdminで確認してみると、修復されているようです。次に、ブラウザでログインしてみるとチャンとログインできました。

2010/07/19 追記
データベースのリペアーを行うコマンド「REPAIR TABLE `b3defd_session`;」の「`」が「'」とは違う。
完全に「'」と思っていたため、エラーばかり出てしまう。よくよく見てみると、「`」だった。思い込みは失敗を呼びます。反省!
  • '」  quote、single quote、apostrophe
  • `」  grave mark、reverse single quote、spacing grave accent、back apostrophe
2010/07/26 追記
データベースのチェックと修復についてもう少し詳しく調べてみた。
MySQLのマニュアルから
そのものずばり参考になったサイトとして

Sync A World You Want To Explore

phpmyadmin上からの修復
もっと簡単にphpmyadmin上から修復出来るはずだと思っていましたが、やはり出来ました。
これまで、phpmyadminは使ったことが無かったので調べることもしていなかった。
  • phpmyadminにログイン
  • 該当のデータベースを選択
  • テーブル一覧の下「すべてをチェックする」でチェックする
  • テーブル一覧の下「チェックしたものを:」の「テーブルをチェックする」を選択
  • エラーテーブルをチェックする
  • テーブル一覧の下「チェックしたものを:」の「テーブルを修復する」を選択
以上で終了

2010年7月8日木曜日

ffmpegのオプション設定 動画変換編

映像を他形式へ変換する

MobileHackerz Knowledgebase Wiki を参考に設定してみた。

ffmpeg -i input_file -mbd 1 -g 20 -ar 44100 -y output_file
オプションの説明
  • -i <filename>  インプットファイル名を指定する
  • -mbd <mode>  マクロブロックのモードを決定 : Default = 0
  • -g <gop_size>  GOP(Group Of Picture)のサイズをフレーム数で指定する : Default = 12
  • -ar <rate>  サンプリング周波数 (in Hz)
  • -y   同名ファイルがあった場合アウトプットファイルを上書きする
  • output_file 出力ファイル(拡張子で出力形式を判断しています)
注意点
もう少しトライしてみないと分からない・・・

2010年7月5日月曜日

phpMyAdminをインストール時「PHP 5.2+ is required」エラー

phpMyAdminをインストールしたところ

PHP 5.2+ is required
というエラーが出たので対策方法を書いておきます。
2010.7.5現在phpのバージョンが5.1.*のようで最新のphpMyAdminに対応していなかったみたいです。

5.1に対応したバージョンを落としてインストールします。

ダウンロード先

ここからphpMyAdmin-2.11.10-all-languages.tar.gzをダウンロードしてきます。
#tar xzvf phpMyAdmin-2.11.10-all-languages.tar.gz
#mv phpMyAdmin-2.11.10-all-languages /var/www/phpmyadmin
以降はCentOSで自宅サーバーのとおりインストールします。
さあ、OKかと思ったところ下記のエラーが見える
mcrypt 拡張をロードできません。PHP の設定を確認してください。
こんな時は
#yum install php-mcrypt
でインストールします。

2010年7月3日土曜日

ffmpeg エラー ”lame: output buffer too small”

現象
ffmpegでビデオファイルを変換中に下記のようなエラーが出て、変換が途中で止まってしまう。

lame: output buffer too small
CentOS 5 の lame 3.98-2 にはバグがあるらしい。

対策
lame最新版のソースから rpm を作る。

ソースパッケージのダウンロード

# cd /usr/src/redhat/SRPMS
# wget http://apt.sw.be/redhat/el5/en/SRPMS.rpmforge/lame-3.98.2-1.rf.src.rpm
ソースパッケージの展開
# rpm -ivh lame-3.98.2-1.rf.src.rpm
最新のソースtar ballをダウンロード
# cd ../SOURCES
# wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?use_mirror=jaist
SPECファイルの変更
# cd ../SPECS
# mv lame.spec lame.spec.org
# wget http://wiki.open-art.jp/files/lame.spec
リビルドでの依存パッケージのインストール
# yum install nasm ncurses-devel
Installed:
nasm.i386 0:0.98.39-3.2.2
ncurses-devel.i386 0:5.5-24.20060715
SPECファイルを元にリビルド
# rpmbuild -bb lame.spec
------------------------------------------------------
+ cd /usr/src/redhat/BUILD
+ cd lame-3.98.4
+ /bin/rm -rf /var/tmp/lame-3.98.4-1.rf-root
+ exit 0
バイナリパッケージのインストール
# cd ../RPMS/i386
# yum localinstall --nogpgcheck lame-3.98.4-1.rf.i386.rpm lame-devel-3.98.4-1.rf.i386.rpm
Running Transaction
Updating : lame 1/4
Updating : lame-devel 2/4
Cleanup : lame-devel 3/4
Cleanup : lame 4/4
Updated:
lame.i386 0:3.98.4-1.rf lame-devel.i386 0:3.98.4-1.rf
検証
途中でエラーが出たaviファイルを変換したところ無事にエンコ出来た。

2010年6月20日日曜日

CentOS Server on VMware Workstation でクローン作成

現在、hiyokoが公開しているサーバーは、VMware Workstation 上で CentOS5.4 を稼動・公開しています。

CentOS を導入しているHDDは、VMware の起動時にスナップショット作成するよう設定していましたがここに来て容量が厳しくなってきたため、大きいHDDにクローン移行を試みた。

A.クローンの概要

クローンは既存の仮想マシンのコピーです。その既存の仮想マシンは、クローンの親になります。クローン処理が完了すると、クローンは独立した仮想マシンとなります。

  • クローンに行った変更は、親仮想マシンに影響を与えません。親仮想マシンに行った変更も、クローンには表示されません。
  • クローンのMACアドレスとUUID は、親仮想マシンのものとは別になります。
仮想マシンの現在の状態を保存してその状態を復元できるようにするには、スナップショットを作成します。仮想マシンのコピーを作成して個別に使用する場合は、クローンを作成します。
クローンは独立した仮想マシンですが、リンククローンの場合には仮想ディスクを親仮想マシンと共有します。

今回の目的では、リンククローンではなく、クローンを行う必要がありそうです。
また
MACアドレスが別のものになるということは、現在稼動中の CentOS は、固定アドレスを割り当てていますが、これが違うものになるということですね。したがってクローンが出来上がったら、CentOS上のコンソールでネットワークの設定をいじる必要があるということです。

B.手順

1.クローンの作成(VMware Workstation上にて)
  • VMware Workstation を起動しクローンする仮想マシンを読み込みます。
  • クローンする仮想マシンのタブを選択
  • メニュー
  • VM(M)
  • クローン作成(O)
  • ウイザード 次へ(N)
  • 「仮想マシンの現在の状態」にチェック 次へ(N)
  • 「完全クローンの作成(F)」にチェック 次へ(N)
  • 「仮想マシン名(V)」に名前を入力 「格納場所(L)」を設定し 完了
  • しばし待つ

    事前に割り当てたハードディスクは、事前に割り当てないディスクに変更されていました。
    大きくHDDを割り当てていたため、この結果には助かりました。1.2TB→300GB
2.CentOS上にて

CentOSは固定アドレスで運用しているため、netデバイスを書き換えます。
  • # system-network-config コマンドで固定アドレスの設定
  • # /etc/rc.d/init.d/network restart ネットワークを再読み込み
  • # ifconfig コマンドで確認
以上

2010年3月11日木曜日

RFC違反のメールアドレス

hiyokoが管理しているサーバーでは、幾つかのメール配信(MailmanやCGI)を行っています。

そんな中、携帯電話から登録する方が多くなっているのが現状ですが、相変わらず変なメールアドレスが見受けられ、配信不能になっている。

このことは、ユーザーの問題ではないと思います、各社携帯キャリアがしっかり管理しないと・・・
余計な時間がとられて困ります。勿論ユーザーの方も何がなんだか分からないでしょうから。

もっとシッカリせい!独自規格などイランワイ!


今後のために
参考になるサイトからおもいっきり引用
http://m97087yh.seesaa.net/article/123135487.html

メールアドレスに使用できる文字列は基本的にRFC2822で規定されている。

http://srgia.com/docs/rfc2822j.html

具体的には、

・大文字小文字のアルファベット

・数字

・! (エクスクラメーション)
・# (シャープ)
・$ (ダラー)
・% (パーセント)
・& (アンパサンド)
・' (シングルクォーテーション)
・* (アステリスク)
・+ (プラス)
・- (ハイフン、マイナス)
・/ (スラッシュ)
・= (イコール)
・? (クエスチョン)
・^ (キャロット、ハットマーク)
・` (バッククオート)
・{ } (中括弧開く閉じる)
・| (パイプライン)
・~ (チルダ)
・. (ドット、ピリオド)
・_ (アンダースコア、アンダーバー)

上記以外の文字の使用は不可。
"."(ドット)の使用は可能だが、連続しての使用は不可。
また、ローカル部(@の左側)の始めや終わりにも使用不可。

という決まりがある。

最近は、各携帯電話会社も準拠するようになっているが、

少し前まで、一部のプロバイダや、携帯電話会社ではこの仕様に準拠していなかった。
赤色の”.”ドットの取り扱いに問題がある方が多いですね。

2010年2月2日火曜日

CentOS5.4 yum update エラー修正について

近頃、Cron Daemonから以下のエラーが返されるようになった!

/etc/cron.daily/yum-check-update:

http://ftp.riken.jp/Linux/centos/5.4/updates/i386/repodata/repomd.xml: [Errno 12] Timeout:
Trying other mirror.
Excluding Packages in global exclude list
Finished
原因は不明
どうしたものか??
Googleで検索してみると
yum clean all && yum clean metadata && yum clean dbcache && yum makecache && yum update
をやってみろとあるので実行
さて明日からどうなるか待ってみます。

2010年1月13日水曜日

ulogd「IPTables log analyzer」のインストール

CentOSで自宅サーバー構築を参考にサイトを構築しているが、

40.2.iptablesログ解析(IPTables log analyzer)

■ulogdインストール
 ここで問題発生

[root@centos /] # ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/local/lib --with-mysql
[root@centos /] # make
ulogd_MYSQL.c:174: 警告: format '%lld' expects type 'long long int', but argument 3 has type 'int64_t' ulogd_MYSQL.c:206: 警告: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'u_int64_t'
ld -shared -rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto -o ulogd_MYSQL.so ulogd_MYSQL_sh.o -lc
ld: bad -rpath option
make[1]: *** [ulogd_MYSQL.so] エラー 1
make[1]: ディレクトリ `/root/work/ulogd/ulogd-1.24/mysql' から出ます
make: *** [recurse] エラー 1

Makeがうまくいかないみたい!いろいろなサイトを見てみると、どうも -rdynamic がいけないみたい。 で
Rules.make を編集(-rdynamic オプションを削除)
# mysql output support
#ULOGD_SL+=MYSQL
MYSQL_CFLAGS=-I-I/usr/include/mysql -DOLD_MYSQL=1
#MYSQL_LDFLAGS= -rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto
MYSQL_LDFLAGS= -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto
再度
[root@centos /] # make
[root@centos /] # make install

今度は成功!良し良し

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 の 「--」が「-」となっていたためインストール出来ていなかった。


2009年12月26日土曜日

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

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

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

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

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 の間に「.」ドットが必要 

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


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. 仮想マシン構築  今回は構築無し

以下折りたたみ

2008年5月10日土曜日

Gallery からGallery2へのデータ移行

私が管理しているServerには、画像を手軽にアップ・閲覧するために Gallery というPHPで書かれたソフトをインストールしています。

Galleryサイト

Server開設当時(平成14年頃)から平成16年度まで11892枚(albums1)、平成17年度から現在まで18822枚(albums2)の画像をアップしており、このデータを新しいServerにどのようにして移行するか頭を悩ましています。

移行に関して問題点は

  1. 旧サーバーと新サーバーでシステムの文字コードが違う EUC-JP --> UTF-8
  2. albums1(Shift-JIS) --> MySQL(UTF-8)
  3. albums2(EUC-JP) --> MySQL(UTF-8)
  4. Gallery(NonDataBase) --> Gallery2(MySQL)

早速、新サーバーにGalleryをインストールしたいと思いますが、Gallery Ver1はEUC-JPで記述されておりUTF-8はサポートされていません。Gallery2はUTF-8がデフォルトです。
Galleryのサイトで調べてみると、Gallery Ver1からGallery2への移行は、Gallery2の中にツールがあるので、早速Gallery2をインストールします。
問題点 1. と 3. 4.はクリアーしましたが、2. が問題です。albums1(Shift-JIS)-->MySQL(UTF-8)はどうもサポートしていないようです。

サーバー開設当時は、Galleryは日本語をサポートしていなかったため、設定ファイルを無理やり日本語化して使用していました。日本語を正式にサポートしてまもなくサーバーを変更しその機会に新規にGallery Ver1(日本語サポート版)をインストールしました。(album2ですね)
当時、どうにかしてalbum1とalbum2を統合しようと試みましたが私には無理でした。今回はどうでしょう?

Gallery2のインストールは本当に簡単にいきました。要はPHPの設定と画像関係のツールを指示に従ってインストールしていくことです。
次は、データ移行ですが、album2(EUC-JP) -->MySQL(UTF-8)は、メニューから
サイト管理 --> インポート --> Gallery1
で、指示に従って行なえば簡単です。ただ一点だけ嵌ってしまいました。
/etc/php.ini
memory_limit = 64M  (元は16Mです)
デフォルトの16Mだとデータ移行時にメモリー不足になり途中でストップしてしまいました。
設定ファイルを書き換え、Apache2を再起動、Gallery2上から操作、これで一気にデータ移行ができました。一安心

続いてalbum1のほうですが、いろいろと試していますが実現できていません。時間が欲しい・・・

2008年5月8日木曜日

Linux(CentOS5.1)での 「 \ 」 半角バックシュラッシュについて

サーバーのメンテナンス中に起きた「 \半角バックシュラッシュのトラブルについての報告

SSH(Poderosa)でサーバーにログインし、あるディレクトリーをリネームしている時悲劇は起きました。

[root@server ~]# ls
albums install.log

[root@server ~]# mv xxxxxx xxxxxx_org

と入力したつもりが 「 _ 」が「 \ 」 となってしまい
[root@server ~]# mv xxxxxx xxxxxx\org

[root@server ~]#ls
xxxxxx\org install.log
ディレクトリー名の中に「 \ 」が含まれてしまいました。

こうなると「 \ 」を含んだディレクトリーは削除できません。

と・・・

書き込んだところで、今ターミナルで再検証してみると簡単に削除できます。
ん?なんか変だな・・・

よく考えてみると、どうしても削除できなかった時と今回では少し現象が違います。
  • ターミナルでは削除できなかった、今回は普通に削除できる
  • WinSCP上から「 \ 」を含むディレクトリーが見えなかった、今回は xxxxxxorg として見えている。¥は半角です。
よく分りませんが今回は再現できませんでした。
いづれにせよ、上記のような[ \ ]を含むディレクトリーがどうしても削除できない場合は
[root@server ~]# rm -rf xxxxxx*\\*org
という風に入力して削除できました。
こんなことは常識かな・・・、取り合えづ亡備録として残しておこう

サーバーの管理記録を始めました!

先月より、私が管理しているホームページのサーバーを機種間移行をしています。

・旧

CPU:Pentium4 2.4GHz
MEM:1GB
HDD:250GB
OS:Fedora3

・新
CPU:Core2Duo 6600
MEM:2GB
HDD:250GB(Systm WinXP) + 500GB
OS:Windows
XP Pro + VirtualBox - CentOS5.1


こんな感じです・・・
旧は単独のサーバーとして運用していますが、OSがFedora3とメンテナンスが終っていますのでセキュリティー面で不安がありましたし、機械自体も数年間24時間稼動していましたので、そろそろ寿命かななどと考えていました。

今回、長いサポートが期待できるCentOSを選択しました。また他機種へサーバーの移行が簡単になるようにVirtualBox上でOSを運用することにしました。

サーバーの構築およびデータの移行などを暇を見つけて書き込んで行きたいと思います。