Измените порт phpMyAdmin с 80 на другой номер
Как изменить порт phpMyAdmin из 80 в 99?
2 ответа
Просто чтобы прояснить, это не настройка PhpMyAdmin, это настройка конфигурации Apache2, и нам нужно создать новый VirtualHost для этой цели.
1. Понимание конфигурации по умолчанию PhpMyAdmin. По умолчанию (в Ubuntu 16.04) PhpMyAdmin включен (и включен) в конфигурацию Apache (для всех VirtualHosts!) Через этот дополнительный файл конфигурации:
/etc/apache2/conf-enabled/phpmyadmin.conf
Этот файл является символической ссылкой на файл /etc/apache2/conf-available/phpmyadmin.conf, которая является символической ссылкой на файл /etc/phpmyadmin/apache.conf, который будет использоваться на следующем шаге.
2. Создайте новый файл конфигурации VirtualHost. Давайте назовем это phpmyadmin.conf и создать его nano (или вы можете использовать ваш любимый текстовый редактор):
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Содержимое этого файла должно выглядеть так:
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>
Куда:
Listen 99поручает Apache2 прослушивать порт99, Как @LDJames говорит, что вы можете поместить эту директиву в/etc/apache2/ports.confили вы можете оставить это здесь;<VirtualHost *:99>...</VirtualHost>определяет VirtualHost, который будет обрабатывать запросы от всех интерфейсов (*) в порту:99,ServerName localhostэта директива является необязательной и может быть настроена в соответствии с вашими потребностями. (Обычно естьServerNameустановить на уровне сервера - в/etc/apache2/apache2.conf);<Directory /usr/share/phpmyadmin>...</Directory>эта директива является необязательной, поскольку права доступа для/usr/share/обычно устанавливаются в/etc/apache2/apache2.conf, Но вы можете добавить конкретные правила здесь, например, вы можетеSet Up Password Authentication;DocumentRoot /usr/share/phpmyadminэта директива устанавливает/usr/share/phpmyadminкак каталог, который формирует основное дерево документов, видимое из Интернета, для текущего VirtualHost;Include /etc/phpmyadmin/apache.confэта директива включает конфигурацию phpMyAdmin по умолчанию в конфигурацию Apache. таким образом/etc/phpmyadmin/apache.confбудет включен только для текущего VirtualHost! Вместо этой директивы вы можете скопировать / вставить содержимое/etc/phpmyadmin/apache.confв этом месте.
3. Переключите конфигурацию Apache и перезапустите его.
sudo a2disconf phpmyadmin
sudo a2ensite phpmyadmin
sudo systemctl restart apache2.service
Куда:
a2disconf phpmyadminотключит конфигурацию phpMyAdmin по умолчанию, описанную в 1.a2ensite phpmyadminвключит новый VirtualHost, описанный в 2.
!!. редактировать /etc/phpmyadmin/apache.conf и комментарий (#) первый Alias директива как то:
#Alias /phpmyadmin /usr/share/phpmyadmin
Этот шаг не является обязательным, но в противном случае http://localhost:99 а также http://localhost:99/phpmyadmin обеспечит идентичный результат, так что я полагаю, нам это не нужно:)
!!. Если вы хотите, чтобы этот новый VirtualHost был доступен извне, не забудьте добавить порт 99 в правилах вашего брандмауэра. Если вы используете UFW, вы можете сделать это с помощью этой команды:
sudo ufw allow 99/tcp
С iptables вы можете сделать это с помощью этой команды:
sudo iptables -A INPUT -p tcp -m tcp --dport 99 -j ACCEPT
Добавление доступа через порт 99 быстро и просто
Добавьте порт 99 в вашу конфигурацию Apache2. редактировать /etc/apache2/ports.conf, Добавьте директиву Listen 99:
# Если вы просто измените порт или добавите больше портов здесь, вы, вероятно, также # нужно изменить оператор VirtualHost в # /etc/apache2/sites-enabled/000-default.conf Слушай 80 Слушай 99Слушай 443 IfModule> Слушай 443 IfModule> # vim: синтаксис =apache ts=4 sw=4 sts=4 sr noet
Это добавляет порт 99 к доступному доступу. Чтобы отключить порт 80, к которому вы можете иметь доступ только через порт 99, закомментируйте или удалите Listen 80 из конфигурации.
Отключение порта по умолчанию немного подробнее
В большинстве случаев отключение порта 80 по умолчанию не требуется.
Если у вас есть другие сайты, которые вам нужно иметь доступ к порту 80 и Listen директива к этому виртуальному хосту.
Кроме того, вы можете ограничить Phpmyadmin только одним конкретным портом, создав хост версии Phpmyadmin и используя директиву Listen 99 для этого виртуального хоста.
Подробности создания виртуального хоста для Apache2 можно найти здесь:
Сделать символическую ссылку на /usr/share/phpmyadmin виртуальный хост document root,