2016-09-03 125 views
0

に続いてthis howto Apache 2.4.10とMySQL 5.5.50で私のDebian 8サーバをセットアップして、私のSVNの認証バックエンドとしてMySQLを使用しようとしました。私は内部サーバーのエラーを取得し、理由を把握することはできません。mod_authn_dbdとMySQLでApache2認証

まず私は、「MySQLデータベースを設定した

a2enconfig dbd_mysql 

続いもちろんの

<IfModule mod_dbd.c> 
    DBDriver  mysql 
    DBDParams  "host=localhost user=THEUSER pass=THEPASS" 
    DBDMin   2 
    DBDKeep   4 
    DBDMax   10 
    DBDExptime  300 
</IfModule> 

を含む、ファイル/etc/apache2/conf-available/dbd_mysql.confを追加しました基本的に2つの重要なカラム "username"と "password"を持つテーブル "mysql_auth"を含む "authdb"です。特定のデータベースにはユーザーがアクセスできます。SELECT権限を持つ「THEUSER」と呼びます。

は、その後、私は/etc/apache2/site-available/svn.confに、サイト固有の設定を追加しました:

DBDParams "dbname=authdb" 

<Location /svn/private/> 

    DAV svn 
    SVNParentPath /svn/private/ 
    AuthzSVNAccessFile /svn/auth/accesslist_private 

    SSLRequireSSL 
    AuthUserFile /dev/null 
    AuthName "SVN" 
    AuthType Basic 
    <IfModule mod_authn_dbd.c> 

      AuthBasicProvider dbd 
      AuthDBDUserPWQuery "SELECT password FROM mysql_auth WHERE username = %s" 
      Require valid-user 

    </IfModule> 
</Location> 

を、私は、Apacheを再起動し、ログに何かを見つけたように、このサイトの構成が既に有効になっています私は絶対に理解できないファイル:

[dbd:error] [pid 15225] (20014)Internal error: AH00629: Can't connect to mysql: Access denied for user 'A LOCAL SYSTEM USER'@'localhost' (using password: NO) 
[dbd:error] [pid 15225] (20014)Internal error: AH00633: failed to initialise 
[authn_dbd:error] [pid 15225] [client XX.XX.XX.XX:XYZ] AH01653: Failed to acquire database connection to look up user 'some_user' 

私は私のSVNリポジトリにアクセスしようとするたびに、このエラーが繰り返されます。

これについて本当に奇妙なのは、ログファイルには私がここでは絶対に見つからないと思われるユーザーがいるということです。これは、MySQLとApacheのどちらにも関係ないシステムユーザです。このユーザーは、SSHでログインするためにのみ使用されます。どちらの点が欠けていますか?どんな助けもありがとう!

答えて

0

最後に問題が分かりました。明らかに私の設定ファイルの内容は、私のサイト定義の内容の後に読み込まれました。

解決策は次のとおりです。私は/etc/apache2/site-available/svn.confの定義の前でdbd_mysql.confの内容を移動し、confを無効にして、Apacheを再読み込みしてすべてを動かしました。

私がまだ理解していないのは、私の設定が間違っているのは、設定が以前の設定に依存しているサイト定義の前にロードされることが予想されるからです。

関連する問題