У меня есть 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?