我得到了一个403禁止与phpmyadmin错误

我正在运行ngnix和php5-fpm,我在Ubuntu 13.04上

server { server_name website.com; access_log /srv/www/website.com/logs/access.log; error_log /srv/www/website.com/logs/error.log; root /srv/www/website.com/public_html; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/website.com/public_html$fastcgi_script_name; } } 

我在/srv/wwww/website.com/public_html/phpmyadmin中有一个到/ usr / share / phpmyadmin的符号链接

不知道发生了什么,我对这一切都很陌生。

不知道具体的错误,我会说你应该检查文件的权限(这通常是什么“禁止”的错误是关于我的经验)。

转到您的html根目录(/srv/www/website.com/public_html/,看起来像)和types

 ls -Z 

或者可能

 ls -l 

那么确保所有文件属于Web服务器正在运行的用户。 他们应该有一个用户和组,看起来适合您的Web服务器 – 我没有具体使用那一个。 或者他们可能是根,我以前见过。 SELinux上下文(你只会看到第一个命令)应该是这样的

 unconfined_u:object_r:httpd_sys_rw_content_t:s0 

这可能不完全是,但如果它有“http”在那里或以其他方式看起来与networking有关,你可能是好的。 如果没有出现,请不要惊慌; 我不确定Ubuntu甚至会强制这样做。 您只能获得用户/组权限。

包括SELinux上下文,你应该得到像这样的结果:

 drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 css drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 downloads 

尽pipe如此,也许并不完全一样。 第二个命令看起来更像这样:

 drwxr-xr-x. 2 apache apache 4096 Aug 19 00:41 css drwxr-xr-x. 3 apache apache 4096 Jun 26 22:36 downloads 

用户和组再次可能不一定是apache。 如果它是与您的Web服务器或可能是根相关的东西,这是很好的。

如果用户和组错误,您可以更改它们:

 chown -R user:group folder 

如果SELinux上下文是错误的(如果它甚至没有你可能不需要担心),你可以用下面的方法修复它:

 chcon -R -t httpd_sys_content_t /srv/wwww/website.com/public_html/ 

这也可能是一个缺less模块或您的Web服务器的问题。 我从来没有使用ngnix,但我记得使用lighttpd而不是我平常的apache我有这个非常相同的PHP文件意想不到的困难。 我不得不安装一个模块,并做一个小的configuration更改。 不幸的是我不能提供任何意见 – 就像我说的,我没有专门使用ngnix。

那么我不知道我在做什么错误的符号链接,但我决定采取这条路线,而不是它的工作! 我只是决定给phpmyadmin它是自己的子域名。

在Ubuntu 13.04上,你必须确保使用

 fastcgi_pass unix:/var/run/php5-fpm.sock; 

代替

 fastcgi_pass 127.0.0.1:9000; 

这也给我一些问题。

 server { listen 80; server_name pma.website.com; access_log /var/log/nginx/phpmyadmin/access.log; error_log /var/log/nginx/phpmyadmin/error.log; root /usr/share/phpmyadmin; location / { index index.php; } ## Images and static content is treated different location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 360d; } location ~ /\.ht { deny all; } location ~ /(libraries|setup/frames|setup/libs) { deny all; return 404; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name; } 

}