Измените phpMyAdmin порт от 80 до другого числа

Как изменить phpMyAdmin порт от 80 кому: 99?

5
задан 26 March 2017 в 10:44

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. Как @L.D.James говорит, что можно вставить эту директиву /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 директива как thath:

#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
10
ответ дан 23 November 2019 в 08:43

Добавляющий доступ через порт 99 быстр, и легкий

Добавляют порт 99 к Вашей конфигурации Apache2. Редактирование /etc/apache2/ports.conf. Добавьте директиву Listen 99:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80
Listen 99

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Это добавляет порт 99 к доступному доступу. Для отключения порт 80 , где у Вас может только быть доступ через порт 99 прокомментируйте или удалите Listen 80 из конфигурации.

Отключение порта по умолчанию немного более подробно

При большей части обстоятельства, запрещение порта по умолчанию 80 не необходимо.

, Если у Вас есть другие сайты, что у Вас должен быть доступ к порту 80 и Listen директива к тому Virtualhost.

, С другой стороны, Вы могли ограничить Phpmyadmin только одним определенным портом путем создания хост версии Phpmyadmin и использовать эти , Слушают 99 директива к тому виртуальному хосту.

Детали для создания виртуального хоста к Apache2 могут быть найдены здесь :

Делают символьную ссылку на /usr/share/phpmyadmin virtualhost document root.

4
ответ дан 23 November 2019 в 08:43

Другие вопросы по тегам:

Похожие вопросы: