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 99instrui o Apache2 a escutar na porta99. Assim como o @LDJames diz você pode colocar esta diretiva em/etc/apache2/ports.confou 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 localhostesta diretiva é opcional e pode ser personalizada de acordo às suas necessidades. (Geralmente, háServerNamedefinido 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/phpmyadminesta diretiva define/usr/share/phpmyadmincomo diretório que forma a árvore do documento principal visível a partir da web, para o VirtualHost atual; -
Include /etc/phpmyadmin/apache.confessa diretiva inclui a configuração padrão do phpMyAdmin no Apache configuração. Assim,/etc/phpmyadmin/apache.confserá incluído apenas para o VirtualHost atual! Em vez desta diretiva você pode copiar / colar o conteúdo de/etc/phpmyadmin/apache.confneste lugar.
3. Troque a configuração do Apache e reinicie-o.
sudo a2disconf phpmyadmin
sudo a2ensite phpmyadmin
sudo systemctl restart apache2.service
Onde:
-
a2disconf phpmyadmindesativará a configuração padrão do phpMyAdmin, descrita em 1. -
a2ensite phpmyadminhabilitará 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