PC関係のメモ
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が使える状態になった。
近況報告
4月から一人暮らしを始めました。
アニメガイドを復旧
アニメガイドを復旧させた。約2ヶ月前のサーバダウン以来、放置しっぱなしだったが、ようやく復旧。
社内標準化
http://www.jsa.or.jp/stdz/edu/pdf/b1/1_06.pdf
標準化教育プログラム[共通分野編] 第6章 社内標準化とTQM
via 満足せる豚。眠たげなポチ。:業務システム開発でドキュメントを作ることについての「っき」さんのコメントより
フレッツ光プレミアム開通
4月から一人暮らしを始めてから約1ヶ月半。ようやくブロードバンド環境が開通した。
この1ヶ月はauのデータ通信でしのいでいたが、これからはより快適なネット環境が整ったことになる。
CTUという見慣れない機器が設置された。いくつか気になることがあったので気が向いたら調べる。
- どうやらルータ機能を内蔵しているらしい。
- 自分のルータを使う場合はこいつの下にぶら下げるみたい。
- それって無駄じゃない?スループット落ちそうなんだけど。
- CTUの設定をするためにクライアントPC上で専用ソフトウェアのインストールを要求された。これって必須なのか?
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
後の手順は
と同じ。nkfは最初から入ってたので省いた。
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
出力結果

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

SWFファイルの仕様書 / Graphvizで「ミドルウェア構成図」を書いてみた / Graphvizで○○を書いてみたシリーズ
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フォームから作成/編集できるスクリプト組めばより簡単になる。
cronの読み方 / CPANの読み方 / .htaccessでPHPの設定を行う / 位置参照情報ダウンロードサービス
cronの読み方
自分は「クロン」と読んでる。
クローンもしくはクロウンなら理解できる。
クーロンは割と普及してるけど「cron」という綴りからはちょっと連想し辛い。
シーロンはCPANから来てるのかね。言われてもパッと理解できない可能性大。
によるとクロウンが近い。
英語圏の人の発音は「クロン」らしい。
Cron comes from the word chronos, the Greek word for time.
語源は時を司る神「クロノス」からであるという説。であるならば「クロン」というのは納得。
語源としては他に「Command Run ON」であるという説もある。
というわけで自分の読み方は変わらず「クロン」で行くことにする。
.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
各値はスクリプトの内容に応じて設定する。

