Category: Linux

PEARの設定を調べる為のコマンド

pear config-show

このコマンドでインストールされているフォルダ等が表示される。

yumからインストールしたffmpegでffmpeg-phpを利用する

phpizeはphpをyum経由でインストールするとphp-develがインストールしてないと使えないので

yum –enablerepo=rpmforge install ffmpeg-devel

とやって

無事インストールされたら再度ffmpeg-phpをインストールする

コンパイル環境がなければインストールしておく。

yum install gcc gcc-c++
yum install automake libtool

cd ffmpeg-php-0.X.X
phpize
./configure
make
make install

/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32′ undeclared (first use in this function)
make: *** [ffmpeg_frame.lo] エラー 1

これを解決するには

viでffmpeg_frame.cを開いて「RGBA32」を全部「RGBA」に置換してもう一度
./configure
make
make install
とインストールしてください。

全部無事に終わったら

php.iniに

extension=ffmpeg.so

を追加したらapache再起動で完了。

CentOSへffmpegのインストール

RPMforgeが追加されていれば

yum –enablerepo=rpmforge install ffmpeg

でインストール出来る。

コーデックは
yum install SDL-devel freetype-devel zlib-devel libogg-devel libvorbis-devel libtheora-devel
yum install –enablerepo=rpmforge imlib2-devel lame-devel faad2-devel faac-devel gsm-devel xvidcore-devel x264-devel a52dec-devel

でインストール。

yumで追加パッケージ群DAG(RPMforge)を追加する

CentOS5.i386の場合。最新バージョンはここを参照して確認。

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

この時
ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
の様なエラーが出たら

wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm –import RPM-GPG-KEY.dag.txt

として

最後に
yum update

して完了

vi /etc/yum.repos.d/rpmforge.repo

enabled = 1

enabled = 0 ← 「0」にすることで無効となる

とすることでyumの度に見に行くことがないので、yumをしょっちゅう使う場合は設定しておいた方が良いかも。

Linuxの32ビットと64ビットマシンの見分け方

トラックバックより抜粋

cat /proc/cpuinfo

lmがあれば64ビット

uname -a

X86_64とかamd64とかが表示されたら、64ビット版のカーネルです。

64ビットCPU上で、64ビット版カーネルが稼働している時が64ビットマシンです。

シンプルに

$ uname -m
i686
$ uname -i
i386

$ uname -m
x86_64
$ uname -i
x86_64

サーバーのディストリビューションを調べる

対処方をそのままコピペ

(1) Debian系 Debian/GNU Linux

# cat /etc/debian_version
3.1

(2) RedHat系

CentOS

# cat /etc/redhat-release
CentOS release 4.3 (Final)

Fedora Core

# cat /etc/redhat-release
Fedora Core release 5 (Bordeaux)

Vine Linux

# cat /etc/vine-release
Vine Linux 3.2 (Ducru Beaucaillou)

Turbo Linux

# cat /etc/turbolinux-release
Turbolinux Server 8.0 (Viper)

Webページをサムネイル化する

Webページをサムネイル化してリアルタイムに表示しているサイトがありますが

どの様にやったら出来るか考えると。

1.HTMLをレンダリングして、そこから画像生成
2.画面キャプチャして画像生成

の2点くらいしか思い浮かばない。

そこで
実際にどの様に実現しているのか気になったので調べてみた。

基本的にWebサーバーとして使用するLinuxはCUIなので
画面にWebページを表示することが出来ません。
そこで、仮想GUIを作ってその中で画像キャプチャをする様です。

参考

1.Xvfb(仮想フレームバッファ)起動

2.firefox(ブラウザ)起動

3.firefox(ブラウザ)でURLにアクセス

4.ImageMagickでスクリーンショットを取る

5.画像保存

6.firefox(ブラウザ)終了

7.Xvfb(仮想フレームバッファ)サーバー終了

インストールコマンド

yum grouplist

yum groupinfo “X Window System”

yum upgrade xorg-x11-xfs

yum upgrade xorg-x11

yum upgrade xorg-x11-devel

yum upgrade xorg-x11-libs

yum groupupdate “X Window System”

yum upgrade xorg-x11-libs

yum install xorg-x11-Xvfb

yum groupinstall “X Window System”

yum groupinstall “Japanese Support”

yum groupinstall “GNOME Desktop Environment”

yum install firefox

yum install ImageMagick

FireFoxの設定

~/.mozilla/firefox/xxxxxxxx.default/

user.js
user_pref("browser.sessionstore.enabled", false);
user_pref("browser.sessionstore.resume_from_crash", false);
user_pref("browser.startup.page", 0);
user_pref("plugin.default_plugin_disabled", false);
user_pref("privacy.popups.disable_from_plugins", 3);
user_pref("alerts.totalOpenTime", 1);
user_pref("security.enable_ssl2", false);
user_pref("security.enable_ssl3", false);

userChrome.css

/* Pop-up bookmarks toolbar */
#PersonalToolbar {display: none;}
#navigator-toolbox:hover > #PersonalToolbar {display: -moz-box;}

サンプルコード


//エイリアス設定
# DISPLAY=:1.0
# export DISPLAY

//Xvfb(仮想Xサーバー)起動

$command = '/usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 > /dev/null &';
// 1024*768のフルカラー(1677万色)のディスプレイをID1で用意するという意味

$last_line = system($command , $rtn);

//firefox起動(プロファイル”user”で起動)

$command = '/usr/bin/firefox -display :1 -width 1024 -height 800 -P "user" > /dev/null &';

$last_line = system($command , $rtn);

//60秒待つ

sleep(60);

$url = 'http://www.res-system.com/weblog/';

//サムネイル画像パス指定

$thumbimg = '/thumb/t.gif'; //サムネイル画像

$img = '/img/i.gif';        //サムネイル元画像

//firefox上でサイト表示

$command = '/usr/bin/firefox -display :1 -remote "openurl(' . $url . ')" &';

$last_line = system($command , $rtn);

//10秒待つ

sleep(10);

//ImageMagickでスクリーンショットを画像に保存

$command = '/usr/bin/import -display :1 -window root ' . $img;

$last_line = system($command , $rtn);

//保存した画像のサイズを求める

list($width, $height, $type, $attr) = getimagesize($img);

//画像の作成

$im = imagecreatefromgif($img);

//サムネイル画像加工(サムネイル元画像からサイズ縮小)

$thumb_im = imagecreatetruecolor(120, 90);

imagecopyresampled($thumb_im, $im, 0, 0, 0, 90, 120, 90, $width, $height);

//サムネイル画像を保存

imagegif($thumb_im, $thumbimg);

//firefox終了

$command = 'killall firefox-bin > /dev/null &';

$last_line = system($command , $rtn);

//Xvfb(仮想Xサーバー)終了

$command = 'killall Xvfb > /dev/null &';

$last_line = system($command , $rtn);

抜粋しただけなのでやってみます。

Linuxでフォルダ名を変更する

Linuxでディレクトリの名前変更を行おうとすると少しコツがいる。

いや、それほどでもないですがw

ファイルやディレクトリの移動・名前の変更をする

mv [options] source dest
mv [options] source… directory

オプション

-b, –backup 上書きされる,削除されるファイルのバックアップを作成する
-f, –force 移動先に同名ファイルがあるときも警告なく上書きをする
-i, –interactive 上書きされるファイルがあるときは問い合わせする
-u, –update 同名のファイルが存在した場合,タイム・スタンプを比較し同じまたは新しいときには移動を行わない
-v, –verbose 移動の前にそのファイル名を表示する
–help lsコマンドの使用法を表示する
source コピー元のファイルやディレクトリを指定する。ワイルド・カードを使用することもできる
dest コピー先のファイル名やディレクトリ名を指定する。ファイル名を指定した場合は新しい名前でコピーされる
directory コピー先のディレクトリを指定する

名前変更=同じディレクトリ内での移動
となっています。

WordPress Themes