ApacheLinux日記

CentOS6.4 Apache 2.4.4 SSL 本番環境コピーでエラーとなる

1 Mins read

本番環境からconf系ファイルをコピーして使用できるよう環境構築時に嵌ったので覚書!

コピーしてきてapacheが起動しない、confテストはOK

error_logに以下の記載がある

AH02311: Fatal error initialising mod_ssl,

ssl用のアクセスログを見ると。。。

AH02204: Init: Pass phrase incorrect for key of localhost.local:443
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)

「Init: Pass phrase incorrect」とはSSL用の起動時passがないと言っている。。。はて?

決められた場所にpasswordファイルがあり、「SSLPassPhraseDialog exec:」のpassが間違っているのかと確認する。。。あってる。。。はて?

1時間ほど苦悶しながら調べる。。。あっ!?コピーしたから実行権限がなくなっているんだ!そう、このファイル内だけbshellが記載してあるんだ。。。とほほ、basic認証のpasswordファイルなどは関係ないのに。。。(すでに言い訳、笑)

Read more
LinuxMySQLPHP日記

PHP5.4 PDO Connection Windows7で遅い

1 Mins read

気づいたら、1年ぶりの更新だった(汗)

さてさて、開発環境のLAMPを最新版にバージョンアップしてみたら、
PDO経由でのMySQLへのアクセスが遅い遅い、従来の10倍ぐらい時間がかかっている!!!

調べてみたら、PDOのConnectionで遅い。。。。はて?

環境は以下
旧:Apache2.2,MySQL5.1,PHP5.2
新:Apache2.4,MySQL5.5,PHP5.4

どうやら、接続時の文字列を「localhost」にしていたのだが、DNSの名前解決で遅延しているらしい、これを「127.0.0.1」とIP指定してあげたらもとの速度に戻った。

ググるとVista,Win7,Win8で起きるらしい

なんでだ。。。hostにも「localhost 127.0.0.1」と設定したのにダメ

ネットワークのIP6も使用禁止にしたのに

本当の解決方法を知りたい。

Read more
ApacheLinuxMySQL

Redmine 1.3 Subversion 1.6.11 連携 Basic認証エラー mod_auth_mysql

1 Mins read

環境、CentOS6.2、Apache2.2.15、Redmine1.3、Subversion1.6.11、Mysql5.5.20

Redmine1.3を使用しRedmineのユーザーをWebBasic認証(mod_auth_mysql)とリンクさせて使用する際にエラーとなったので覚書しとく

基本的に上位アプリは正しくセットアップされて単独で動く状態からの処理となる

原因はRedmine1.2よりパスワード保持方法が変更となった、この変更にmod_auth_mysqlがついていけないことが原因。(SHA1+saltとなった)

1.mod_auth_mysqlのソースをここからDownload

2.Mysql5.0系用のpacheをDownし「1」のソースファイル当てる

3.Redmineで使用している認証方法をここからDownし「2」のソースファイル当てる

これでソースのある下位層まで「cd」してコンパイル開始Go!

/usr/sbin/apxs -ci -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lm mod_auth_mysql.c

・・・

「make_scrambled_password error」となりコンパイルが通らない・・・

どうやら「make_scrambled_password」用のシンボリックリンクが見つからないらしい、Mysqlのソースを追加すれば行けそうだけど、そもそも「make_scrambled_password」を使用する気はないので、コメントアウトとする。

make_scrambled_password関連個所のソースをコメントにし、再度コンパイル・・・

無事に「mod_auth_mysql.so」完成!

使ってみる・・・OKそう

AuthMySQLEnable On
AuthMySQLSocket /var/lib/mysql/mysql.sock
AuthMySQLHost [DB Host名]
AuthMySQLUser [DB接続User名]
AuthMySQLPassword [DB接続PW]
AuthMySQLDB [接続DB名]
AuthMySQLUserTable [確認Table名]
AuthMySQLNameField [確認IDフィールド名]
AuthMySQLPasswordField [確認PWフィールド名]
AuthMySQLSaltField salt
AuthMySQLPwEncryption sha1-rm
AuthMySQLNoPasswd Off
#AuthMySQLCharacterSet UTF-8
 
#AuthGroupFile /dev/null
AuthType Basic
AuthName "Authorization SVN"
Require valid-user

編集ソースとコンパイル後のファイルを置いておきますが、何が起こっても自己責任でお願いしますね。

Read more