当我想访问我的phpMyAdmin时,我总是收到此消息。
w3m localhost/phpmyadmin
Forbidden
You don't have permission to access /phpmyadmin/ on this server.
Apache/2.2.15 (CentOS) Server at localhost Port 80
安装步骤:
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2- 2.el6.rf.x86_64.rpm
yum install phpmyadmin
添加别名
vi /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
从Cookie更改为http
vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]
重新启动
/etc/init.d/httpd restart
SELinux - / etc / httpd
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 .
drwxr-xr-x. root root system_u:object_r:etc_t:s0 ..
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf.d
lrwxrwxrwx. root root system_u:object_r:httpd_log_t:s0 logs -> ../../var/log/httpd
lrwxrwxrwx. root root system_u:object_r:httpd_modules_t:s0 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. root root system_u:object_r:httpd_config_t:s0 run -> ../../var/run/httpd
SELinux - / usr / share / phpmyadmin
drwxr-xr-x. root root system_u:object_r:usr_t:s0 .
drwxr-xr-x. root root system_u:object_r:usr_t:s0 ..
-rw-r--r--. root root system_u:object_r:usr_t:s0 browse_foreigners.php
-rw-r--r--. root root system_u:object_r:usr_t:s0 calendar.php
-rw-r--r--. root root system_u:object_r:usr_t:s0 changelog.php
-rw-r--r--. root root system_u:object_r:usr_t:s0 chk_rel.phph
.
.
.
-rw-r--r--. root root system_u:object_r:usr_t:s0 view_create.php
操作系统
centos-release-6-0.el6.centos.5.x86_64
答案 0 :(得分:31)
编辑httpd.conf文件,如下所示:
# nano /etc/httpd/conf/httpd.conf
在此处添加以下行:
<Directory "/usr/share/phpmyadmin">
Order allow,deny
Allow from all
</Directory>
发出以下命令:
# service httpd restart
如果问题仍未解决,请停用SELinux。
答案 1 :(得分:28)
上面的配置都没有在我的CentOS 7服务器上工作。经过几个小时的搜索,这对我有用:
编辑文件phpMyAdmin.conf
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
并将其替换为顶部:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
答案 2 :(得分:7)
我尝试了这里提供的所有答案:编辑phpMyAdmin.conf,更改phpmyadmin文件夹的selinux上下文,禁用selinux ......但我仍然从Web服务器获得了“Forbidden”。
我终于找到了Edouard Thiel帖子here中遗漏的内容:
$ yum install php
然后重启httpd:
$ service httpd restart
=&gt;对于centos 6 hots
$ systemctl restart httpd
=&gt;对于centos 7主机
令我惊讶的是,为什么php首先没有安装为phpmyadmin的依赖项。
此致 佛瑞德
答案 3 :(得分:3)
我现在有两天同样的问题了。禁用SELinux,一切都没有帮助。我意识到,为一个小修复禁用安全性可能并不聪明。然后我发现了这篇文章 - http://wiki.centos.org/HowTos/SELinux/,它解释了SELinux如何运作。所以这就是我所做的,它解决了我的问题。
通过转到phpmyadmin的父目录(我的是html)并输入:
来启用对主phpmyadmin目录的访问chcon -v --type=httpd_sys_content_t phpmyadmin
现在输入以下内容对index.php执行相同的操作:
chcon -v --type=httpd_sys_content_t phpmyadmin/index.php
现在返回并检查您是否收到空白页面。如果你是,那么你走在正确的轨道上。如果没有,请返回并检查您的httpd.config目录设置。一旦获得没有警告的空白页面,请继续。
现在通过运行:
来递归phpmyadmin目录中的所有文件chron -Rv --type=httpd_sys_content_t phpmyadmin/*
返回到您的phpmyadmin页面,看看您是否看到了所需内容。 如果您运行的是可从网络外部访问的Web服务器,请确保将SELinux重置为适当的安全级别。希望这有帮助!
答案 4 :(得分:0)
上述解决方案中没有一个适合我。以下是最终的工作:
#yum update
#yum install phpmyadmin
请注意,phpmyadmin几个小时前就开始工作了。我不知道发生了什么。
在此之后,进入浏览器,我收到一条错误./config.inic.php can't be accessed
#cd /usr/share/phpmyadmin/
#stat -c %a config.inic.php
#640
#chmod 644 config.inic.php
这表明文件权限是640,然后我将它们更改为644。 最终,它奏效了。
请记住重启httpd。
#service httpd restart
答案 5 :(得分:0)
我在录制网址时遇到了同样的问题
https://www.nameDomain.com/phpmyadmin
由于/ use / share / phpMyAdmin目录中的规则,禁止显示消息
我通过在此部分中添加此文件/etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
....
</Directory>
这些规则
<Directory /usr/share/phpMyAdmin/>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Allow from All
...
</Directory>
您保存文件,然后重新启动apache服务,无论您选择哪种方法service httpd graceful
或service httpd restart
,这取决于您的政策
出于安全原因,如果您的IP没有更改,您可以通过设置一个IP地址来指定一个连接,否则如果您的IP也在每次更改时都更改。
<Directory /usr/share/phpMyAdmin/>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Allow from 105.105.105.254 ## set here your IP address
...
</Directory>
答案 6 :(得分:-1)
我有同样的问题。
仅在我更改了php.ini变量
之后display_errors = Off
到
display_errors = On
Phpadmin开始工作......疯了......