2009年08月16日 23:39

Bind で bad owner name (check-names)

サブドメインにアンダーバー(_)等の禁止される文字を使っている場合に、
named[...]: ...: bad owner name (check-names)
/var/log/messagesにログが残され、名前解決ができないようです。

Aレコードでアンダーバーを上記エラーにより使うとだめだが、CNAMEだとエラーが出ず無事のようです。なぜでしょう。
タグ:Linux
カテゴリ:テック
2009/08/16 Sun 23:39 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年07月14日 22:05

右クリックのメニューを出さないようにする方法

HTMLページで右クリックのメニューを出さないようにするには、bodyを、以下のようにする。
<body oncontextmenu="return false">
タグ:javascript HTML
カテゴリ:テック
2009/07/14 Tue 22:05 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年06月30日 19:52

CGI形式のPHPの設定

#!/usr/local/bin/php とかで始まっているCGI形式のPHPが、うまく動かなかったが、Apacheで以下の設定をしたら、動くようになったので、メモ。
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /php-cgi-bin/ "/usr/bin/"
Action cgi-php-script /php-cgi-bin/php-cgi
AddHandler cgi-php-script .cgi
この各行の意味はよくわからないが、これで、
PHPから読み取れなかった $_GET$_POST を読み取れるようになり、
レスポンスヘッダーが出力されなかったのが、Content-type: text/html\n\n がはき出されるようになりました。
タグ:PHP Linux Apache
カテゴリ:テック
2009/06/30 Tue 19:52 | Comment(1) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年06月05日 01:14

デジカメの写真をPCに取り込んで管理するのに役立つソフト

EXIFに保存されているデジカメの縦横情報(撮影方向情報)を元に、一斉に画像を回転させEXIF縦横情報(撮影方向情報)をリセットするソフト
http://www.vector.co.jp/soft/win95/art/se310329.html
※複数ファイルをドラッグして一斉に処理できる。

デジカメの時計がずれている場合に、EXIF情報の撮影時刻を一斉に変更するソフト
http://www.ryouto.jp/f6exif/table07.html
※フォルダ単位で一斉に処理できる。

ファイル名をEXIF情報の撮影時刻を元に一斉に変更するソフト
http://www.vector.co.jp/soft/winnt/util/se131133.html
※フォルダ単位で一斉に処理できる。

カテゴリ:テック
2009/06/05 Fri 01:14 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年06月03日 21:24

phpPgAdminで「サーバーが指定されていません!」

エクスポートしたファイルをインポートさせる場合などで、phpPgAdminでSQLのファイルをアップして実行した際に「サーバーが指定されていません!」という質素なエラーが出てしまう場合の解決策。

アップロードしたファイルが大きすぎてPHPが処理できていないためのようで、php.iniでとりあえず以下のように数字を大きめに設定して、Apacheを再起動する。
post_max_size        = 32M
upload_max_filesize  = 32M

php.iniの代わりに.htaccessに以下のように設定してもよい。
php_value post_max_size        32M
php_value upload_max_filesize  32M

ここに詳細が載っていました。
http://akira.matrix.jp/index.php?ID=232
タグ:PHP Linux PostgreSQL
カテゴリ:テック
2009/06/03 Wed 21:24 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年05月30日 11:41

FTPのPASV返答がローカルIPになってしまうのを強引になんとかする方法

Linuxで動くアプリケーションから外部のFTPサーバに接続する必要があるとする。

こちらはファイアウォールの内側にあるのでPASVモードで接続しにいかねばならないが、先方もNATしているルータの向こう側にあり、かつFTPサーバもルータもおバカさんでPASVコマンドの返答でローカルIPを返してしまうとする。と、データコネクションが張れず、FTPサーバに接続できてもファイルの転送ができない。

そのときの解決策が以下。root権限でiptablesをいじって、そのローカルIPへのパケットが外部の実際のIPに飛んでいくようにする。

# 現状を確認
/sbin/iptables --list -t nat

# iptablesをいじる
/sbin/iptables -t nat -A OUTPUT -d 192.168.999.999 -j DNAT --to-destination 999.999.999.999

# 変更した結果を確認
/sbin/iptables --list -t nat

これで、アプリケーションがローカルIPの192.168.999.999に接続しようとすると、LinuxのiptablesがそれをグローバルIPの999.999.999.999に接続するようになる。アプリケーションから見ると、ローカルIPとファイル転送しているように見える。

ここでいうアプリケーションとはPHPやJavaで作ったプログラムでもなんでもよい。

・FTPサーバが返してくるローカルIPはいつも一定であること
・そのローカルIPが自分のところでは使っていないこと
が条件。
タグ:Linux
カテゴリ:テック
2009/05/30 Sat 11:41 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年05月27日 20:14

PHP Fatal error: Allowed memory size exhausted の対処

PHP Fatal error: Allowed memory size of 16777216 bytes exhausted
というエラーが出たときの超その場しのぎの対処法。

PHPソースコードの先頭に以下を記述。
ini_set("memory_limit","256M");

または、.htaccessに以下を記述。
php_value memory_limit 256M
タグ:PHP
カテゴリ:テック
2009/05/27 Wed 20:14 | Comment(3) | TrackBack(1) | テック | このブログの読者になる | 更新情報をチェックする

2009年05月16日 19:29

PostgreSQLの複数バージョンをインストール

PostgreSQL 8.1.9 がすでにインストールされている Fedora Core 6 に PostgreSQL 7.4.25 を重複してインストールした。

wget ftp://ftp.postgresql.org/pub/source/v7.4.25/postgresql-7.4.25.tar.gz

tar xvzf postgresql-7.4.25.tar.gz

cd postgresql-7.4.25

# オプションを確認
./configure --help

./configure --prefix=/usr/local/pgsql7 --with-pgport=5433

ここで
checking for readline... no
configure: error: readline library not found
If you have readline already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.
と出てしまったので、
./configure --prefix=/usr/local/pgsql7 --with-pgport=5433 --without-readline

make

sudo make install

cd /usr/local/pgsql7

sudo chown -R postgres:postgres .

sudo su postgres

# /usr/local/pgsql7/data をデータディレクトリとして初期化する
bin/initdb -D /usr/local/pgsql7/data

# デーモンを起動
/usr/local/pgsql7/bin/postmaster -p 5433 -D /usr/local/pgsql7/data &

exit

今回やりたかったのは、PostgreSQL 7.3 で動いていたときのデータディレクトリのみが残っている状態で、別のサーバでそのデータを復元することだった。しかし、同じバージョンはすでに配布されておらず、PostgreSQL 7.4 をインストールした。

7.3のときのデータディレクトリをコピーしてデーモンを起動したところ、
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 7.3, which is not compatible with this version 7.4.25.
となってしまった。

データディレクトリにある PG_VERSION というファイルに 7.3 と書いてあったのを 7.4 に書き換え、再度起動したところ、今度は、
FATAL:  database files are incompatible with server
DETAIL:  The database cluster was initialized with CATALOG_VERSION_NO 200211021, but the server was compiled with CATALOG_VERSION_NO 200310211.
HINT:  It looks like you need to initdb.
となった。

PostgreSQL 7.4 のソースファイルから 200310211 という文字列を検索すると、src/include/catalog/catversion.h というファイルが見つかったので、試しにそれを編集してみる。
diff catversion.h.orig catversion.h
56c56
< #define CATALOG_VERSION_NO    200310211
---
> #define CATALOG_VERSION_NO    200211021

そして再度 configure, make, make install をする。データディレクトリはすでにあるので初期化せずに、デーモンを起動してみると、
LOG:  database system was shut down at 2009-05-16 18:40:26 JST
LOG:  checkpoint record is at 0/D5764C0
LOG:  redo record is at 0/D5764C0; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 6366923; next OID: 52688
LOG:  database system is ready
成功。しかし、実際にデータベースに接続しようとすること、こうなった。
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 7.3, which is not compatible with this version 7.4.25.
だめだこりゃ。



追記その1
ここに古いバージョンのソースコードがありました。
ftp://ftp-archives.postgresql.org/pub/source/



追記その2
TCP/IPで接続できるようにするには -i をつけなきゃいけない。これに気付かずにはまった。
/usr/local/pgsql7/bin/postmaster -i -p 5433 -D /usr/local/pgsql7/data &
タグ:PostgreSQL Linux
カテゴリ:テック
2009/05/16 Sat 19:29 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年05月16日 19:26

最近更新したファイルの一覧を表示するコマンド

最近更新したファイルの一覧を表示するコマンド。たとえば、タイムスタンプが最近30分以内のファイルのリストを表示する場合、
find . -mmin -30 -ls
タグ:Linux
カテゴリ:テック
2009/05/16 Sat 19:26 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする

2009年05月15日 15:41

htaccessでwwwなしからありへリダイレクトさせる方法

wwwなしなど、正規のホスト名以外でアクセスした場合に、wwwあり正規のホスト名にリダイレクトさせるためのhtaccessの設定の仕方。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
タグ:Linux Apache
カテゴリ:テック
2009/05/15 Fri 15:41 | Comment(0) | TrackBack(0) | テック | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。