Чтобы повысить безопасность на моем сервере, я создал поддомен только для администратора, например admin.domain.tld
и обычно я получаю доступ к phpmyadmin, зайдя только в admin.domain.tld/mysqladmin
как в файле конфигурации:
<VirtualHost *:80>
ServerName admin.domain.tld
Alias /mysqladmin /usr/share/phpMyAdmin/
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
AllowOverride All
[...]
</VirtualHost>
теперь, когда у меня есть поддомен, я хочу защитить его с помощью SSL, для этого мне нужно настроить виртуальный хост или что-то в этом роде (я использую certbot aka Let's encrypt), но поскольку мне нужно настроить виртуальный хост, я решил создать админ только html-страница в admin.domain.tld
содержащие ссылки на мои страницы администратора, такие как phpmyadmin, страница администратора joomla и т. д.
файл конфигурации:
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>
но теперь, когда я иду в admin.domain.tld/mysqladmin
я получаю сообщение об ошибке:
The requested URL /mysqladmin/ was not found on this server.
Итак, как я могу заставить его работать так:
admin.domain.tld - это /var/www/admin.domain.tld
и
admin.domain.tld / mysqladmin - это phpmyadmin
РЕДАКТИРОВАТЬ: я думаю, моя проблема в том, что псевдоним не работает, поэтому, когда я перехожу к admin.domain.tld, он показывает /var/www/admin.domain.tld/mysqladmin вместо / usr / share / phpMyAdmin
Вы делаете цикл в первом конфиге. Вы отправляете псевдоним в тот же корневой каталог, поэтому при вызове псевдонима будет отображаться тот же корневой каталог. В этом случае вам понадобится mysqladmin
папка на /usr/share/phpMyAdmin/
.
Попробуй использовать /var/www/admin.domain.tld
в корневой каталог в обоих файлах конфигурации, поэтому псевдоним mysqladmin
перенаправит в phpmyadmin
.
Мне удалось решить мою проблему, поместив содержимое виртуального хоста phpmyadmin вместе с одним из admin.domain.tld. как это:
<VirtualHost *:80>
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>
Alias /mysqladmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
AllowOverride All
[...]
</VirtualHost>