Seu objetivo é separar completamente seus arquivos web "regulares" da sua instalação do phpMyAdmin.
Deve-se enfatizar que cada configuração de servidor no Nginx pode (e deve) ter apenas um webroot. Dito isto, estas são suas opções:
-
Instale o phpMyAdmin em um diretório sob sua webroot, que no seu caso é
/var/www/phpmyadmin
. Pode ser acessado através dehttp://localhost/phpmyadmin
Esta é a configuração mais simples e estou incluindo aqui por uma questão de perfeição (e pessoas que vêm aqui dos mecanismos de pesquisa).
-
Instale o phpMyAdmin em um diretório fora de sua webroot e, em seguida, crie um link simbólico chamado
phpmyadmin
em sua webroot apontando para esse diretório. Nesse caso, você precisa ter certeza de que especificoudisable_symlinks off
na configuração do seu servidor. -
Você pode conseguir a separação no mesmo vhost criando duas configurações de servidor escutando em portas diferentes, tendo diferentes webroots e se comunicando através da diretiva proxy_pass. Um esboço básico de tal configuração é o seguinte:
server { listen 80; server_name localhost; root /var/www/htdocs; index index.php index.html index.htm; location /phpmyadmin { proxy_pass http://127.0.0.1:8080/; } # ...Add more location directives, php support, etc... } server { listen 8080; server_name localhost; root /var/www/phpmyadmin; index index.php index.html index.htm; # ...Specify additional location directives, php support, etc... }
Nesse caso, todas as solicitações para o phpMyAdmin serão passadas de forma transparente para a instância do servidor que está escutando na porta 8080 através do
/phpmyadmin
location na instância do servidor que está escutando na porta 80. -
Por fim, você pode conseguir a separação em diferentes vhosts criando duas configurações de servidor ouvindo na mesma porta, mas com diferentes
server_name
diretivas e diferentesroot
locais. Por exemplo, um esquema básico como este:server { listen 80; server_name dev.local; root /var/www/htdocs; index index.php index.html index.htm; # ...Add more location directives, php support, etc... } server { listen 80; server_name phpmyadmin.local; root /var/www/phpmyadmin; index index.php index.html index.htm; # ...Specify additional location directives, php support, etc... }
Em seguida, você poderia adicionar as seguintes entradas ao seu /etc/hosts
:
127.0.0.1 dev.local
127.0.0.1 phpmyadmin.local
e, em seguida, você pode acessar seus arquivos por meio de http://dev.local
e sua instância do phpMyAdmin por meio de http://phpmyadmin.local
. Obviamente, da sua estação de trabalho local.