我已正确安装 lampp 和 wordpress。当我尝试导航到时,http://localhost/phpmyadmin
出现 403 权限被拒绝错误。我可以访问我的虚拟主机配置中可用的两个站点。虽然我不完全确定我的虚拟主机配置文件中的所有选项的作用,但我认为它们会弄乱 phpmyadmin。例如,当我导航到 localhost 时,我收到以下错误消息,这可能意味着我做错了什么(没有链接任何 wordpress 安装/var/www/
):
“既找不到/etc/wordpress/config-localhost.php
也/etc/wordpress/config-localhost.php
找不到。请确保其中一个存在、可被 Web 服务器读取且包含正确的密码/用户名。”
我的两个站点均可用/var/www/
,并且文件系统布局如下:
-site1
---web (public html - symbolic link to /usr/share/wordpress)
---uploads
-site2
---web (public html - symbolic link to /usr/share/wordpress)
---uploads
phpmyadmin 已经通过 Ubuntu 12.04 存储库安装,就像其他所有东西一样,并在安装过程中自动配置(只需导航到就可以使用,http://localhost/phpmyadmin/
但我可能在配置其余部分时破坏了它。)
这是我配置虚拟主机的方式(这些设置适用于两个站点,只是域名不同):
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.com
ServerAlias www.site1.com
ErrorLog /var/log/apache2/site1.com/error.log
CustomLog /var/log/apache2/site1.com/access.log combined
DocumentRoot /var/www/site1.com/web
<Directory />
Options -Indexes FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
#ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options -Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
如果您对该配置有任何意见,除了使 phpmyadmin 工作所需的配置之外,也请告诉我:)
非常感谢大家的帮助!非常感谢!
答案1
我认为您的问题出在行 上DocumentRoot /var/www/site1.com/web
。这将根目录设置为 site1.com 中的 web 文件夹,因此无法访问该目录下的任何内容。文档根目录应设置为/var/www
,但您可以将其设置为您想要的任何内容。目录通常至少与一个条目匹配,但您可以为更多站点设置更多目录条目。
例如,要添加 site1.com,您可以添加另一个条目,如下所示:
<VirtualHost *:80>
<Directory /var/www/site1.com/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
DocumentRoot /var/www/site1.com/web
ServerName site1.com
</VirtualHost>
该条目可以位于文件末尾,添加到现有条目中
答案2
我解决这个问题的方法是将其更改<Directory /var/www/>
为<Directory /var/www/site1.com/web/>
。然后我的两个网站都可以正常工作,甚至 phpmyadmin 也可以正常工作。我想我误解了 的用途<Directory>
。
我收到的答案并没有帮我解决这个问题,或者我无法正确理解解释,如果是这样的话,我很抱歉。谢谢你的帮助,马蒂!:)