Измените порт 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
,