Назад | Перейти на главную страницу

Настройте аутентификацию с MySQL в Apache 2.22

У меня есть raspberry pi 1, который обслуживает веб-страницы с использованием apache 2.22. Я провел небольшое исследование и нашел способ защитить «страницы» с помощью базы данных (в данном случае mysql).

я обнаружил этот небольшое руководство, чтобы заставить его работать (также проверил официальный документация). Создал базу данных под названием apache и таблицу с именем password (как в руководстве). Затем я добавил в свой места Файл конфигурации. Это фрагмент кода:

DBDriver mysql
DBDParams "host=localhost port=3306 dbname=apache user=myuser pass=mypass"
DBDMin  2
DBDKeep 4
DBDMax  10
DBDExptime 300
...
# A virtualhost
<VirtualHost *:80>
        ServerName subdomain.domain.com
        ServerAdmin mymail@gmail.com

        <Location />
                AuthName "Identification to my page"
                AuthType Basic
                AuthBasicProvider dbd

                # Also tried this line, replacing the other AuthDBDUserPWQuery below, but no luck
                #AuthDBDUserPWQuery "SELECT encrypt(password) AS password FROM password WHERE username=%s"

                AuthDBDUserPWQuery "SELECT `password`.`password` FROM `apache`.`password` WHERE `password`.`username`=%s"
                Require valid-user
        </Location>

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass "/" "http://192.168.1.5:32400/"
        ProxyPassReverse "/" "http://192.168.1.5:32400/"

        RewriteEngine on
        RewriteCond %{REQUEST_URI} !^/web
        RewriteCond %{HTTP:X-Plex-Device} ^$
        RewriteRule ^/plex/$ /web/$1 [P]
</VirtualHost>
...

Когда я ввожу subdomain.domain.com, страница запрашивает имя пользователя и пароль, но после этого я получаю эту страницу:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, mymail@gmail.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/2.2.22 (Debian) Server at subdomain.domain.com Port 80

Итак, вопрос простой, что я делаю не так? Как заставить работать mysql auth здесь?

Заранее спасибо.

ИЗМЕНИТЬ 1:

Я обновил raspbian с wheezy до jessie, и теперь у меня установлен Apache Httpd 2.4 вместо 2.22.

Может ли кто-нибудь дать быстрое объяснение, чтобы авторизация базы данных (mysql или postgresql) работала на VirtualHosts?