Я установил Debain 6 VPS для веб-разработки / персонального хостинга PHP и у меня есть быстрый вопрос:
Я хочу разместить производственный код в: /var/www/site.com, а код разработки - в / home / username / public_html / site
Я установил userdir.conf (думаю, по умолчанию):
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
Я могу получить доступ к обеим кодовым базам через: www.site.com и www.site.com/~username/site соответственно.
Мой вопрос: как лучше всего ограничить www.site.com/~username/site (мой проект в стадии разработки) внешним миром? (.htaccess, настройка виртуального хоста, другое)
Если вы подключаетесь к VPS с фиксированного IP-адреса, измените Allow from all
к Allow from IP.AD.RE.SS
быстро и легко. Если вы этого не сделаете, вы можете настроить базовая аутентификация используя файл .htaccess. Поставить что-то вроде
AuthType Basic
AuthName Private
Authuserfile /path/to/.htpasswd
Require valid-user
В файле public_html / .htaccess.
Инициализировать файл .htpasswd
htpasswd -c /path/to/.htpasswd Purplefish32
New password: mypassword
Re-type new password: mypassword
Adding password for user Purplefish32
Затем убедитесь, что ваша основная конфигурация apache имеет подходящий allowoverride директива например AllowOverride AuthConfig
. Если потребуется, перезапустите apache, и теперь вас попросят ввести пароль для доступа к содержимому ваших файлов разработки.