Para aumentar a segurança no meu servidor, criei um subdomínio apenas para admin, como admin.domain.tld
e geralmente acesso o phpmyadmin indo apenas admin.domain.tld/mysqladmin
como no arquivo de configuração:
<VirtualHost *:80>
ServerName admin.domain.tld
Alias /mysqladmin /usr/share/phpMyAdmin/
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
AllowOverride All
[...]
</VirtualHost>
agora que tenho um subdomínio, quero protegê-lo com SSL, para isso preciso configurar um host virtual ou algo parecido (eu uso certbot, também conhecido como vamos criptografar), mas como tenho que configurar um host virtual, decidi criar um admin apenas página html admin.domain.tld
contendo links para minhas páginas de administração como phpmyadmin, página de administração do joomla, etc...
arquivo de configuração:
ServerName admin.domain.tld
DocumentRoot /var/www/admin.domain.tld
ErrorLog /var/log/httpd/admin.domain.tld/error.log
<Directory /var/www/admin.domain.tld>
Options FollowSymLinks Indexes
AllowOverride All
</Directory>
mas agora quando eu vou para admin.domain.tld/mysqladmin
eu recebo um erro:
The requested URL /mysqladmin/ was not found on this server.
Então, como posso fazê-lo funcionar assim:
admin.domain.tld é /var/www/admin.domain.tld
e
admin.domain.tld/mysqladmin é phpmyadmin
EDIT: acho que meu problema é que o alias não está funcionando, então quando vou para admin.domain.tld ele mostra /var/www/admin.domain.tld/mysqladmin em vez de /usr/share/phpMyAdmin
Você está fazendo um loop na primeira configuração. Você envia o alias para o mesmo diretório raiz, portanto, quando chamar o alias, exibirá o mesmo diretório raiz. Nesse caso, você precisará de uma
mysqladmin
pasta em/usr/share/phpMyAdmin/
.Tente usar
/var/www/admin.domain.tld
o diretório raiz em ambos os arquivos de configuração, para que o aliasmysqladmin
seja encaminhado para o arquivophpmyadmin
.Consegui resolver meu problema colocando o conteúdo do host virtual phpmyadmin junto com o do admin.domain.tld. assim: