March 01, 2007
mod_auth_mysqlをインストールしてみる
興味本位でmod_auth_mysqlを会社のテストサーバーにインストールしてみたので、手順の説明。
テスト環境:
OS:RHLinux9
Apache:v2.0.53
Mysql:v4.0.23
まずはソースをココからダウンロード
以下手順
ソースを解凍し、ディレクトリに移動
#tar zxvf mod_auth_mysql-2.8.1.tar.gz #cd mod_auth_mysql-2.8.1 #ls -l -rw-r--r-- 1 root root 3356 12月 15 2004 BUILD -rw-r--r-- 1 root root 3565 12月 15 2004 CHANGES -rw-r--r-- 1 root root 13630 12月 11 2004 CONFIGURE -rw-r--r-- 1 root root 434 12月 8 2004 README -rw-r--r-- 1 root root 37995 12月 15 2004 mod_auth_mysql.c
とりあえずBUILDの中身を見てコンパイル方法をチェックしExampleの指示通りに実行
#apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c (-L/usr/lib/mysqlと -I/usr/include/mysql オプションはサーバーの環境に合わせてパスを変更してください)
コンパイルが終わるとファイルがいくつか出来ています
#ls -l -rw-r--r-- 1 root root 3356 12月 15 2004 BUILD -rw-r--r-- 1 root root 3565 12月 15 2004 CHANGES -rw-r--r-- 1 root root 13630 12月 11 2004 CONFIGURE -rw-r--r-- 1 root root 434 12月 8 2004 README -rw-r--r-- 1 root root 37995 12月 15 2004 mod_auth_mysql.c -rw-r--r-- 1 root root 927 3月 1 11:45 mod_auth_mysql.la -rw-r--r-- 1 root root 333 3月 1 11:45 mod_auth_mysql.lo -rw-r--r-- 1 root root 87064 3月 1 11:45 mod_auth_mysql.o -rw-r--r-- 1 root root 0 3月 1 11:45 mod_auth_mysql.slo
Apache2系ではmod_auth_mysql.laを使うらしいので、BUILDの指示通りapxsを実行
#apxs -i mod_auth_mysql.la
実行が完了すると/usr/local/apache2(Apacheインストールディレクトリ)下のmodulesディレクトリ下にmod_auth_mysql.soが出来ます。
#ls -l /usr/local/apache2/modules -rw-r--r-- 1 root root 8440 3月 28 2005 httpd.exp -rwxr-xr-x 1 root root 7083747 3月 28 2005 libphp4.so -rwxr-xr-x 1 root root 74199 3月 1 11:47 mod_auth_mysql.so
これまた指示通りhttpd.confにLoadModuleの設定する
#vi httpd.conf LoadModule mysql_auth_module modules/mod_auth_mysql.so # #Apacheを再起動して組み込み完了 #apachectl restart #
あとはMySQLに認証用のDBとテーブルを作成
データベース名: webauth テーブル名: user_pwd create table user_pwd ( name varchr(30) not null, pass varchar(30), primary key (name) );
最後に.htaccessをこんな感じで作成
AuthName "mod_auth_mysql Page" AuthType Basic require valid-user AuthMySQLHost localhost AuthMySQLDB webauth AuthMySQLUser mysql AuthMySQLPassword fugafuga AuthMySQLUserTable user_pwd AuthMySQLNameField name AuthMySQLPasswordField pass AuthMySQLCryptedPasswords Off
で.htaccessを設置したディレクトリにブラウザでアクセスして、ベーシック認証画面が表示されDBに登録したユーザー名とパスワードでログインが出ればインストール成功です。
参考サイト:
MySQLを使ったデータベース認証
http://tsuttayo.sytes.net/apache/access/db/
投稿者 nitoka : 12:26 PM | コメント (0) | トラックバック
October 27, 2006
FreeBSDでアカウントの属するグループを変更する
仕事で調べたので忘れないようにメモ。
そんなの知らなかったの?って笑われてしまいそうですが、知りませんでした。
なんせ、imanagerとかPleskばっかり使ってサーバーの管理してたもので。。。
pw usermod -n user-hoge -G wheel,ftp,www
これで変更可能です。もっと詳しくは「man pw」を見てみればわかりますが。
投稿者 nitoka : 02:32 PM | コメント (0) | トラックバック
October 18, 2006
Apacheでサーバー情報を非表示にする
FirefoxのLiveHTTPHeadersプラグインなんかをいれると、HTTPヘッダー情報が見れるのですが、その中に「Server」という項目があり、サーバーの情報(ApacheのバージョンやPHPのバージョンなど)が表示されています。
こいつを表示させておくと、クラッカーにクラッキングするための情報を教えているようなものなので、以下の設定で余計な情報は非表示にしたほうがいいようです。
ServerTokens Prod
以下は、マニュアルからの抜粋。
- ServerTokens Prod[uctOnly]
- サーバは (例えば): Server: Apache といったように送ります。
- ServerTokens Major
- Server sends (e.g.): Server: Apache/2
- ServerTokens Minor
- Server sends (e.g.): Server: Apache/2.0
- ServerTokens Min[imal]
- サーバは (例えば): Server: Apache/2.0.41 といったように送ります。
- ServerTokens OS
- サーバは (例えば): Server: Apache/2.0.41 (Unix) といったように送ります。
- ServerTokens Full (もしくは未指定)
- サーバは (例えば): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2 といったように送ります。
投稿者 nitoka : 01:57 PM | コメント (0) | トラックバック
October 04, 2005
Apache log rotate
某クライアントの要望でApacheのアクセスログを日ごとに分割して欲しいと要望があり、過去そんな設定をしたことがなかったので、Googleで調べてみた。
Apache2 系は組み込みのlogrotateの機能が充実していて、日ごとのログに分割できるみたいなのだが、Apache1.3系ではカスタマイズがあまりできないらしい。
だが、cronologをサーバーにインストールすればApache2系のようにな感じでLogファイルのカスタマイズができるらしい。