Só para ficar claro, isso não é uma configuração do PhpMyAdmin, é uma configuração da configuração do Apache2 e precisamos criar um novo VirtualHost para essa finalidade.
1. Entendimento da configuração padrão do PhpMyAdmin. Por padrão (dentro do Ubuntu 16.04) PhpMyAdmin é incluído (e habilitado) na configuração do Apache ( para todos os VirtualHosts! ) através deste arquivo de configuração adicional:
/etc/apache2/conf-enabled/phpmyadmin.conf
Este arquivo é um simbólico link para o arquivo /etc/apache2/conf-available/phpmyadmin.conf
, que é um link simbólico para o arquivo /etc/phpmyadmin/apache.conf
, que será usado na próxima etapa.
2. Crie um novo arquivo de configuração do VirtualHost. Vamos chamá-lo de phpmyadmin.conf
e criá-lo por nano
(ou você pode usar o seu editor de texto favorito):
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
O conteúdo deste arquivo deve se parecer com:
Listen 99
<VirtualHost *:99>
ServerName localhost
<Directory /usr/share/phpmyadmin>
AllowOverride None
Require all granted
</Directory>
DocumentRoot /usr/share/phpmyadmin
Include /etc/phpmyadmin/apache.conf
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined
</VirtualHost>
Onde:
-
Listen 99
instrui o Apache2 a escutar na porta99
. Assim como o @LDJames diz você pode colocar esta diretiva em/etc/apache2/ports.conf
ou você pode deixá-la aqui; -
<VirtualHost *:99>...</VirtualHost>
define um VirtualHost que lidará com o formulário de solicitações todas as interfaces (*
) na porta:99
. -
ServerName localhost
esta diretiva é opcional e pode ser personalizada de acordo às suas necessidades. (Geralmente, háServerName
definido no nível do servidor - em/etc/apache2/apache2.conf
); -
<Directory /usr/share/phpmyadmin>...</Directory>
esta diretiva é opcional porque as permissões de acesso para/usr/share/
geralmente são definidos em/etc/apache2/apache2.conf
. Mas você pode adicionar regras específicas aqui, por exemplo, você podeSet Up Password Authentication
; -
DocumentRoot /usr/share/phpmyadmin
esta diretiva define/usr/share/phpmyadmin
como diretório que forma a árvore do documento principal visível a partir da web, para o VirtualHost atual; -
Include /etc/phpmyadmin/apache.conf
essa diretiva inclui a configuração padrão do phpMyAdmin no Apache configuração. Assim,/etc/phpmyadmin/apache.conf
será incluído apenas para o VirtualHost atual! Em vez desta diretiva você pode copiar / colar o conteúdo de/etc/phpmyadmin/apache.conf
neste lugar.
3. Troque a configuração do Apache e reinicie-o.
sudo a2disconf phpmyadmin
sudo a2ensite phpmyadmin
sudo systemctl restart apache2.service
Onde:
-
a2disconf phpmyadmin
desativará a configuração padrão do phpMyAdmin, descrita em 1. -
a2ensite phpmyadmin
habilitará o novo VirtualHost, descrito em 2.
!!. Edite /etc/phpmyadmin/apache.conf
e comente ( #
) a primeira diretiva Alias
como a seguinte:
#Alias /phpmyadmin /usr/share/phpmyadmin
Esta etapa é opcional, mas caso contrário, http://localhost:99
e http://localhost:99/phpmyadmin
fornecerão resultados idênticos, portanto, suponho que não precisamos disso:)
!!. Se você quiser que este novo VirtualHost seja acessível externamente, não se esqueça de adicionar a porta 99
às regras do seu firewall. Se você usar UFW , poderá fazer isso com este comando:
sudo ufw allow 99/tcp
Com iptables você pode fazer isso com este comando:
sudo iptables -A INPUT -p tcp -m tcp --dport 99 -j ACCEPT