PostgreSQL 8.3.0をインストール / PHP 5.2.6をインストール / 「イラストレーターファイル→テキスト抽出」復活 / 近況報告

PostgreSQL 8.3.0をインストール

CentOS 5.1にPostgreSQL 8.3.0をインストールした。

wget ftp://ftp.sra.co.jp/pub/cmd/postgres/8.3.0/postgresql-8.3.0.tar.gz
tar xvfz postgresql-8.3.0.tar.gz
cd postgresql-8.3.0
./configure

下記エラーでストップしてしまった。

configure: error: readline library not found

というわけでreadline-develをインストールして再チャレンジ。

yum install readline-devel
./configure
make
make install

起動スクリプトをコピーする。

cp contrib/start-scripts/linux /etc/init.d/postgresql

起動スクリプトを書き換える。

#PGDATA="/usr/local/pgsql/data"
PGDATA="/var/pgsql/data"

起動スクリプトに実行権限をつけて自動起動するように登録する。

chmod 755 /etc/init.d/postgresql
chkconfig --add postgresql

起動ユーザ/グループを作成する。

groupadd postgres
useradd -g postgres -d /var/pgsql postgres

postgresユーザでデータベースを初期化する。

su - postgres
mkdir /var/pgsql/data
/usr/local/pgsql/bin/initdb -D /var/pgsql/data -E UNICODE --no-locale

ここまででサービスの起動が可能となるため、rootユーザで起動させてみる。

/etc/init.d/postgresql start

再度postgresユーザに変更。.bash_profileに環境変数の初期化処理を追記する。

export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=/var/pgsql/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

確認を実施する。

$ psql -l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+----------
 postgres  | postgres | UTF8
 template0 | postgres | UTF8
 template1 | postgres | UTF8
(3 rows)

以上で完了。

PHP 5.2.6をインストール

CentOS 5.1にPHP 5.2.6をインストールした。

bzip2形式を扱いたいのでライブラリをインストールする。

yum install bzip2-devel

PHP5.2.6をインストールする。

wget http://jp2.php.net/get/php-5.2.6.tar.gz/from/this/mirror
tar xvfz php-5.2.6.tar.gz
cd php-5.2.6
./configure
make
make install

PHPの設定ファイルをコピーする。

cp php.ini-dist /usr/local/lib/php.ini

httpd.confに以下を追加する。

その後、Apacheをリスタートしたら失敗。下記エラーメッセージが出力された。

libphp5.so: cannot restore segment prot after reloc: Permission denied

原因はSELinuxによるもので、有効になっていたため無効に変更した。特にセキュリティに関して、よくわからないもの(SELinux)は使わない。生半可だとあんまり意味がないので必要があればそのとき覚える。

SELinuxを無効にするには/etc/selinux/configの下記行を編集する。

# SELINUX=enforcing
SELINUX=disabled

変更後リブート。マシン動作中に切り替えたい場合は下記コマンドでいけるらしいが試してない。

/usr/sbin/setenforce disabled

FC4/SELinux/動作モード確認・変更と起動時の設定 - Pocketstudio.jp Linux Wikiより。

改めてApacheを起動するとPHPが使える状態になった。

「イラストレーターファイル→テキスト抽出」復活

イラストレーターファイル→テキスト抽出

PHPをインストールしたことによって復活。

近況報告

4月から一人暮らしを始めました。

最終更新時刻: 2008年08月03日

アニメガイドを復旧

アニメガイド - アニメ専門の番組表

アニメガイドを復旧させた。約2ヶ月前のサーバダウン以来、放置しっぱなしだったが、ようやく復旧。

最終更新時刻: 2008年11月04日

社内標準化

http://www.jsa.or.jp/stdz/edu/pdf/b1/1_06.pdf

標準化教育プログラム[共通分野編] 第6章 社内標準化とTQM

via 満足せる豚。眠たげなポチ。:業務システム開発でドキュメントを作ることについての「っき」さんのコメントより

最終更新時刻: 2008年10月20日

フレッツ光プレミアム開通

4月から一人暮らしを始めてから約1ヶ月半。ようやくブロードバンド環境が開通した。

この1ヶ月はauのデータ通信でしのいでいたが、これからはより快適なネット環境が整ったことになる。

CTUという見慣れない機器が設置された。いくつか気になることがあったので気が向いたら調べる。

  • どうやらルータ機能を内蔵しているらしい。
  • 自分のルータを使う場合はこいつの下にぶら下げるみたい。
  • それって無駄じゃない?スループット落ちそうなんだけど。
  • CTUの設定をするためにクライアントPC上で専用ソフトウェアのインストールを要求された。これって必須なのか?
最終更新時刻: 2008年10月20日

Subversionのインストール / Rastのインストール / graphvizのインストール

Subversionのインストール

旧サーバからSubversionリポジトリを持ってくるためにインストール。

旧サーバにあわせるため古めのソース(1.4.2)を使用した。

1.4.0のときと同じ手順。

Rastのインストール

db4をインストールする。

yum install db4-devel

mkmf.rbが必要なのでruby-develをインストールする。

yum install ruby-devel

後の手順は

20070319#p01

と同じ。nkfは最初から入ってたので省いた。

graphvizのインストール

Graphviz

libpngとfreetypeをインストールした。

yum install libpng-devel
yum install freetype-devel

上記がなくてもpngが使えなかったりするだけでgifやsvgは作れた。

http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.18.tar.gz
tar xvfz graphviz-2.18.tar.gz
./configure --enable-php --enable-ruby
make
make install

pngの出力結果にアンチエイリアスをかけたいので下記ライブラリをインストールして再コンパイルする。

yum install librsvg2-devel

出力テスト。以下の内容のtest.dotを作成する。

digraph test{
  hoge1->hoge2;
  hoge2->hoge1;
  あああ->いいい;
}

pngで出力するコマンドを実行する。

dot -Tpng test.dot -o test.png

出力結果

日本語も問題なし。アンチエイリアスがかかって良い感じ。

最終更新時刻: 2008年10月27日

SWFファイルの仕様書 / Graphvizで「ミドルウェア構成図」を書いてみた / Graphvizで○○を書いてみたシリーズ

SWFファイルの仕様書

Adobe - SWF Technology Center

Adobe社より「SWF file format specification」として公開されている。

Graphvizで「ミドルウェア構成図」を書いてみた

dot言語は記述が割と自由だから標準化が必要だと思った。

内容について言及すると、

  • Xenで構築。
  • ApacheとPostgreSQLはソースから最新版を導入。
  • その他はパッケージから導入。

Graphvizで○○を書いてみたシリーズ

がしばらく続くと思われ。

そのために特定フォルダにdotファイルをアップロードすると、動的にpngファイル及びhtmlファイルが生成されるスクリプトを組んだ。

それからtDiary用に超簡単なプラグインを作った。

def graph(id)
	%Q!<div class="graph"><a href="/graph/! + id.to_s() + %Q!.html"><img src="/graph/! + id.to_s() + %Q!.png"></a></div>!
end

相変わらずRubyに慣れてない。1行が長くてマズー。

使い方はこんな感じ(RDスタイル)

((%graph 1%))

あとはそのdotファイルをWebフォームから作成/編集できるスクリプト組めばより簡単になる。

最終更新時刻: 2008年10月01日

cronの読み方 / CPANの読み方 / .htaccessでPHPの設定を行う / 位置参照情報ダウンロードサービス

cronの読み方

自分は「クロン」と読んでる。

クローンもしくはクロウンなら理解できる。

クーロンは割と普及してるけど「cron」という綴りからはちょっと連想し辛い。

シーロンはCPANから来てるのかね。言われてもパッと理解できない可能性大。

によるとクロウンが近い。

英語圏の人の発音は「クロン」らしい。

Cron comes from the word chronos, the Greek word for time.

語源は時を司る神「クロノス」からであるという説。であるならば「クロン」というのは納得。

語源としては他に「Command Run ON」であるという説もある。

というわけで自分の読み方は変わらず「クロン」で行くことにする。

CPANの読み方

CPANの読み方は「しーぱん」であるらしい。

「しーぱん」なのか「くぱん」なのかハッキリさせよう - にぽたん研究所

.htaccessでPHPの設定を行う

各スクリプト毎に大体下記のような.htaccessを作成。

http.confやphp.ini側はあまり弄らない/依存しない方針で。

DirectoryIndex index.php
AddType application/x-httpd-php .php

php_value session.gc_probability 30
php_value session.use_trans_sid 0
php_flag  magic_quotes_gpc Off
php_flag  register_globals Off
php_flag  mbstring.encoding_translation Off
php_value mbstring.internal_encoding "UTF-8"
php_value mbstring.script_encoding "UTF-8"
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_flag  short_open_tag Off
php_flag expose_php Off
php_value upload_max_filesize "5M"
php_value pcre.backtrack_limit 300000

各値はスクリプトの内容に応じて設定する。

位置参照情報ダウンロードサービス

位置参照情報ダウンロードサービス

最終更新時刻: 2008年12月14日