Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm confused, i read a lot of information, but still get same error, when i call ../phpmyadmin/index.php

Access denied.

my nginx configuration file:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    passenger_root /usr/local/rvm/gems/ruby-1.9.3-p484/gems/passenger-4.0.35;
    passenger_ruby /usr/local/rvm/gems/ruby-1.9.3-p484/wrappers/ruby;
    client_max_body_size 150m;
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
    location / { 
         alias /home/prog/someapp/public;
     passenger_enabled on;
     rails_spawn_method smart;
     rails_env production;
    }

    location /phpmyadmin/ {
         alias /var/www/html/phpMyAdmin/;
         passenger_enabled off;
         index index.php;
        }
    location /mail/{
     alias /var/www/html/roundcube/;
     passenger_enabled off;
     index index.php;
    }
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {
         #   root   html;
          #  index  index.html index.htm;
        #}

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
         #   root   html;
        #}

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #aliassxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            alias         html;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $request_filename;# scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
    #location ~ .php$ { alias html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

in

/etc/php5/fpm/pool.d/www.conf

i add

limit_extensions = .php .php3 .php4 .php5 .html 

.html work's great, but nothing is with php

also i try to set in php.ini to 1 cgi.fix_pathinfo and nothing(

what i do wrong?

part of log

2014/01/19 19:25:01 [error] 5354#0: *11 FastCGI sent in stderr: "Access to the script '/opt/nginx/html' has been denied (see security.limit_extensions)" while reading response header from upstream, client: *, server: localhost, request: "GET /phpmyadmin/index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: ""

share|improve this question
1  
    
@cnst m? it's my question... also there i have good answer, also in answer below in comment i post this link ) –  brabertaser1992 Jan 22 at 8:02

1 Answer 1

It looks like the nginx user does not have permission to access the files in /opt/nginx/html

First, see which user nginx is operating as (probably www-data), then see what the permissions of the files and dirs in /opt/nginx/html are.

Either make sure that www-data owns the files/dirs or set the permissions as such that www-data can read (and if needed write) to them.

share|improve this answer
    
i have all html data in /var/www/html –  brabertaser1992 Jan 20 at 7:52
    
and how could i set this permissions? –  brabertaser1992 Jan 20 at 16:46
    
First, what are they currently? –  Lothar_Grimpsenbacher Jan 20 at 17:25
    
so, i solve here: stackoverflow.com/questions/21210630/… –  brabertaser1992 Jan 20 at 17:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.