Apache-2.2
apache2 UserDir 拒絕除我之外的所有人
我已經為 PHP Web 開發/個人託管設置了 Debain 6 VPS,並有一個快速的問題:
我想在 /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,虛擬主機設置,其他)
如果您從一個固定的 IP 地址連接到 VPS,那麼將其更改
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,現在應該要求您提供密碼以訪問開發文件的內容。