Как мне заставить Apache .htpasswd работать в этом случае? - PullRequest
0 голосов
/ 07 марта 2020

У меня есть веб-сайт, работающий на AWS EC2 Amazon Linux 2 AMI с Apache и PHP / Laravel. Это тестовый сайт, и я хочу защитить его паролем через .htpasswd. Даже после нескольких уроков я не могу заставить его работать. Стоит отметить, что сайт работает отлично без конфигурации .htpasswd.

Когда я пытаюсь настроить его и go для сайта, он запрашивает у меня имя пользователя и пароль, но при правильном вводя их, я получаю следующую ошибку:

enter image description here

Чтобы настроить файл .htpasswd, я выполнил следующие команды:

cd ~
htpasswd -c .htpasswd project-name # Then input a password when prompted to.
sudo chown ec2-user:apache .htpasswd
sudo chmod 777 .htpasswd

Затем я добавил следующее в файл .htaccess в каталоге public проекта Laravel:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/ec2-user/.htpasswd
Require valid-user

И когда я пытаюсь загрузить сайт, я получаю выше ошибка. Если я закомментирую четыре строки в файле .htaccess, он будет работать нормально, но я не могу заставить его работать иначе. Я не уверен, что происходит, так как конфигурация Apache довольно проста.

Если это имеет значение, я добавил конфигурацию виртуального хоста в файл Apache httpd.conf. Это выглядит примерно так:

<VirtualHost *:80>
    ServerName ip-address
    DocumentRoot /var/www/project-name/public
    <Directory /var/www/project-name>
        AllowOverride All
    </Directory>
</VirtualHost>

Кроме того, я не уверен, имеет ли это значение, но поскольку это тестовый сайт, с ним не связано ни одно доменное имя. Он доступен только через IP-адрес.

Я пытался перезапустить службу Apache и все остальное, что я могу придумать, но безрезультатно. У кого-нибудь есть мысли о том, что я могу делать неправильно? Спасибо.

1 Ответ

0 голосов
/ 08 марта 2020

У меня были проблемы с просмотром журнала ошибок Apache, поэтому мне было так трудно увидеть, что происходит, но после выяснения, как получить доступ к журналу ошибок, я увидел, что существует проблема с разрешениями , Я переместил файл .htpasswd в каталог ec2-user home в другое место, и он сразу заработал. Спасибо.

...