このハウツーに従って、SVN の認証バックエンドとして MySQL を使用するために、Apache 2.4.10 と MySQL 5.5.50 で Debian 8 サーバーをセットアップしようとしました。内部サーバー エラーが発生しましたが、その理由がわかりません。
最初に、ファイル /etc/apache2/conf-available/dbd_mysql.conf を追加しました。
<IfModule mod_dbd.c>
DBDriver mysql
DBDParams "host=localhost user=THEUSER pass=THEPASS"
DBDMin 2
DBDKeep 4
DBDMax 10
DBDExptime 300
</IfModule>
もちろんそれに続く
a2enconfig dbd_mysql
基本的に2つの重要な列「ユーザー名」と「パスワード」を持つテーブル「mysql_auth」を含むMySQLデータベース「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 でのログインにのみ使用されます。どの点が欠けていますか? どんな助けでも大歓迎です!