I’m trying to setup phpmyadmin on my new ubuntu server running nginx. When I do domain.com/phpmyadmin/ it downloads a file consisting of php code etc while if I do domain.com/phpmyadmin/index.php it loads in correct. Got no idea why. This is my server block:
server {
listen 80;
listen [::]:80;
root /var/www/domain.com/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name domain.com;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location / {
try_files $uri/ $uri =404;
}
}
and I have set ‘’‘cgi.fix_pathinfo=0’‘’.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Didn’t know file downloads were cached. Forgot to clear cache. Now I feel dumb cause ofcourse downloads are cached and I’m just dumb.
@DreamplaySE
You can use
root
oralias
within the location block to set the path (though you should only use one or the other, not both)–alias
is often preferred (root
is generally used to set the high-level path, outside oflocation
blocks). I’ve provided a few examples below.For
root
, you’ll want to set the base path sansphpmyadmin
. NGINX will look within theroot
path for the directories and files being requested. For example:When
/phpmyadmin
is requested, the path updates to reflect the request. For example:Unlike
root
,alias
can only be used withinlocation
blocks andalias
overrides the defaultroot
directory. Foralias
, you’ll want to use the full path to wherephpmyadmin
is located (the physical directory, not the symlink). For example:With
alias
, NGINX does not postfix/phpmyadmin
to the end of the path. In many ways, this functions much like a symlink would, though you’re linking to the physical directory wherephpmyadmin
is.Oh I just realized it’s because I’ve linked phpmyadmin thru a symlink. Any way to fix the problem or is the best way to set root to the php folder instead?