Archive for Apache

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

環境、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

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

rewrite http to https and https to http

CentOS5.6

Apache2.2系にて.htaccessを使用してrewrite処理を行う

とあるフォルダ下は「http」から「https」へ

とあるフォルダ下は「https」から「http」へ
(↑これが結構???苦労しました)

あと.htaccessにrewrite処理させたい時にはconfに

<Directory "/hoge/htdocs">
 
AllowOverride FileInfo Options
 
Or
 
AllowOverride All
 
</Diredtory>

が必要

そして.htaccessへ

<IfModule rewrite_module>
 
#http tp https
RewriteEngine on
RewriteBase /hoge/htdocs
 
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/ssldir/.*$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
#https tp http
#RewriteEngine On #ダメなときはこのコメントを削除して試してみる?
#RewriteBase /hoge/htdocs #ダメなときはこのコメントを削除して試してみる?
 
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(^/ssldir/.*$)
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
</IfModule>

以上、覚書♪

mod_rewriteでError 403

mod_rewriteを使用してアクセス・・・・・・Error 403???
はて?・・・はて?

Apacheのログを見ると

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden:

あっ!

Directoryに「Options FollowSymLinks」が必要だった(汗)
(シンボリックリンクをOKにしないと!)

ナイス!ログ君(笑)