Raspbian работает на raspberrypi 3+ apache 2.4
Я пытался немного лучше защитить свой сервер и включил .htaccess
путем изменения apache2.conf
линия Аллововеррайд
к Разрешить переопределить все
и добавил .htaccess
файл к пути phpmyadmin, расположенному по адресу /var/www/BaseSite/phpmyadmin
:
запретить заказ, разрешить
отрицать все
разрешить 192.168
прежде чем понять, что apache 2.4 устарел от этого синтаксиса в пользу использования Требовать
директивы и на самом деле не рекомендует использовать .htaccess
файлы больше, но полагаясь исключительно на Требовать
директивы (оригинал .haccess
файл все равно не позволял мне получить к нему доступ из локальной сети по какой-то причине), поэтому я удалил .htaccess
файл и восстановлен Аллововеррайд
но проблема в том, что я все еще не могу получить доступ к phpmyadmin. Я просто получаю сообщение «Запрещено, у вас нет разрешения на доступ к этому ресурсу». Я просмотрел каждый из моих файлов конфигурации как для apache2, так и для phpmyadmin, и я понятия не имею, почему он отказывает мне в доступе. Я даже зашел так далеко, что удалил и переустановил phpmyadmin, но получил ту же проблему. В недоумении, что делать. Любая помощь приветствуется.
Для справки, apache2.conf
:
# Это основной файл конфигурации сервера Apache. Он содержит
# директивы конфигурации, которые дают инструкции серверу.
# См. http://httpd.apache.org/docs/2.4/ для получения подробной информации о
# директивы и /usr/share/doc/apache2/README.Debian о специфичных для Debian
# подсказки.
#
#
# Краткое изложение того, как конфигурация Apache 2 работает в Debian:
# Конфигурация веб-сервера Apache 2 в Debian сильно отличается от
# предложенный upstream способ настройки веб-сервера. Это потому, что Debian
# установка Apache2 по умолчанию пытается добавить и удалить модули,
# виртуальные хосты и дополнительные директивы конфигурации настолько гибки, насколько это возможно, в
# чтобы сделать автоматизацию изменений и администрирование сервера максимально простым
# возможное.
# Он разделен на несколько файлов, образующих описанную иерархию конфигурации
# ниже, все расположено в каталоге /etc/apache2/:
#
# /etc/apache2/
# |-- apache2.conf
# | `-- порты.conf
# |-- с поддержкой модов
# | |-- *.загрузить
# | `-- *.conf
# |-- conf включен
# | `-- *.conf
# `-- с поддержкой сайтов
# `-- *.conf
#
#
# * apache2.conf — основной файл конфигурации (этот файл). Он кладет кусочки
# вместе, включив все оставшиеся файлы конфигурации при запуске
# веб сервер.
#
# * ports.conf всегда подключается из основного файла конфигурации. это
# предполагается определить порты прослушивания для входящих соединений, которые могут быть
# настраивается в любое время.
#
# * Конфигурационные файлы в папках mods-enabled/, conf-enabled/ и sites-enabled/
# каталоги содержат определенные фрагменты конфигурации, которые управляют модулями,
# глобальные фрагменты конфигурации или конфигурации виртуального хоста,
# соответственно.
#
# Они активируются символической ссылкой на доступные файлы конфигурации из их
# соответствующие *-доступные/аналоги. Они должны управляться с помощью нашего
# помощники a2enmod/a2dismod, a2ensite/a2dissite и a2enconf/a2disconf. Видеть
# соответствующие справочные страницы для получения подробной информации.
#
# * Бинарный файл называется apache2. Из-за использования переменных окружения в
# конфигурация по умолчанию, apache2 нужно запускать/останавливать с помощью
# /etc/init.d/apache2 или apache2ctl. Вызов /usr/bin/apache2 напрямую не будет
# работа с конфигурацией по умолчанию.
# Глобальная конфигурация
#
#
# ServerRoot: Верхняя часть дерева каталогов, в которой находится сервер.
# файлы конфигурации, ошибок и журналов сохраняются.
#
# ПРИМЕЧАНИЕ! Если вы собираетесь разместить это в NFS (или в другой сети)
# смонтированная файловая система, тогда прочтите документацию по Mutex (доступна
# по адресу <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
# вы избавите себя от многих проблем.
#
# НЕ добавляйте косую черту в конце пути к каталогу.
#
#ServerRoot "/etc/apache2"
#
# Файл блокировки сериализации приема ДОЛЖЕН БЫТЬ ХРАНЕН НА ЛОКАЛЬНОМ ДИСКЕ.
#
#Файл мьютекса: ${APACHE_LOCK_DIR} по умолчанию
#
# Каталог, в котором будут храниться shm и другие файлы среды выполнения.
#
Каталог времени выполнения по умолчанию ${APACHE_RUN_DIR}
#
# PidFile: файл, в котором сервер должен записывать свой процесс
# идентификационный номер при запуске.
# Это нужно установить в /etc/apache2/envvars
#
Pid-файл ${APACHE_PID_FILE}
#
# Тайм-аут: количество секунд до тайм-аута приема и отправки.
#
Таймаут 300
#
# KeepAlive: разрешать ли постоянные соединения (более
# один запрос на соединение). Установите на «Выкл.», чтобы деактивировать.
#
KeepAlive включен
#
# MaxKeepAliveRequests: Максимальное количество разрешенных запросов
# при постоянном соединении. Установите на 0, чтобы разрешить неограниченное количество.
# Мы рекомендуем вам оставить это число большим для максимальной производительности.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: количество секунд ожидания следующего запроса от
# тот же клиент на том же соединении.
#
KeepAliveTimeout 5
# Их нужно установить в /etc/apache2/envvars
Пользователь ${APACHE_RUN_USER}
Группа ${APACHE_RUN_GROUP}
#
# HostnameLookups: регистрируйте имена клиентов или только их IP-адреса.
# например, www.apache.org (вкл.) или 204.62.129.132 (вкл.).
# По умолчанию отключено, потому что в целом для сети было бы лучше, если бы люди
# должен был сознательно включить эту функцию, так как ее включение означает, что
# каждый клиентский запрос приведет как минимум к одному запросу на поиск
# сервер имен.
#
HostnameLookups Off
# ErrorLog: расположение файла журнала ошибок.
# Если вы не укажете директиву ErrorLog внутри <VirtualHost>
# контейнер, сообщения об ошибках, относящиеся к этому виртуальному хосту, будут
# зарегистрировался здесь. Если вы *делаете* определяете файл журнала ошибок для <VirtualHost>
# контейнер, ошибки этого хоста будут регистрироваться там, а не здесь.
#
Журнал ошибок ${APACHE_LOG_DIR}/error.log
#
# LogLevel: контроль серьезности сообщений, регистрируемых в error_log.
# Доступные значения: trace8, ..., trace1, отладка, информация, уведомление, предупреждение,
# ошибка, крит, оповещение, эмердж.
# Также можно настроить уровень журнала для определенных модулей, например.
# "Информация об уровне журнала ssl: предупреждение"
#
Предупреждение LogLevel
# Включить конфигурацию модуля:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
# Включить список портов для прослушивания
Включить порты.conf
# Устанавливает модель безопасности по умолчанию для HTTPD-сервера Apache2. Оно делает
# не разрешать доступ к корневой файловой системе за пределами /usr/share и /var/www.
# Первый используется веб-приложениями, упакованными в Debian,
# последний может использоваться для локальных каталогов, обслуживаемых веб-сервером. Если
# ваша система обслуживает контент из подкаталога в /srv, вы должны разрешить
# доступ сюда или к любому связанному виртуальному хосту.
<Каталог />
Параметры
Аллововеррайд
Требовать все отказано
</Каталог>
<Каталог /usr/share>
Аллововеррайд
Требовать все отказано
</Каталог>
<Каталог /var/www/>
Индексы опционов FollowSymLinks
Аллововеррайд
Аллововеррайделист нет
Требовать все предоставленные
</Каталог>
#<Каталог /srv/>
# Индексы опционов FollowSymLinks
# Разрешить переопределение
# Требовать все предоставленные
#</Каталог>
# AccessFileName: Имя файла для поиска в каждом каталоге
# для дополнительных директив конфигурации. См. также AllowOverride
# директива.
#
ИмяФайлаДоступа .htaccess
#
# Следующие строки предотвращают доступ к файлам .htaccess и .htpasswd.
# просматривается веб-клиентами.
#
<Соответствие файлов "^\.ht">
Требовать все отказано
</FilesMatch>
#
#Следующее позволяет php анализировать файлы php (поддомен wordpress/виртуальный хост по какой-то причине перестал анализировать php)
#
<Соответствие файлов \.php$>
Приложение SetHandler/x-httpd-php
</FilesMatch>
#
# Следующие директивы определяют псевдонимы некоторых форматов для использования с
# директива CustomLog.
#
# Они отличаются от определений Common Log Format тем, что используют %O
# (фактические отправленные байты, включая заголовки) вместо %b (размер
# запрошенный файл), так как последний делает невозможным обнаружение частичных
# Запросы.
#
# Обратите внимание, что использование %{X-Forwarded-For}i вместо %h не рекомендуется.
# Вместо этого используйте mod_remoteip.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" в сочетании
LogFormat "%h %l %u %t \"%r\" %>s %O" общий
LogFormat "%{Referer}i -> %U" реферер
Агент LogFormat "%{User-agent}i"
# Включение каталогов игнорирует файлы резервных копий редакторов и dpkg,
# подробности см. в README.Debian.
# Включить общие фрагменты операторов
IncludeOptional conf-enabled/*.conf
# Включите конфигурации виртуального хоста:
IncludeOptional sites-enabled/*.conf
# vim: синтаксис=apache ts=4 sw=4 sts=4 sr noet
Имя сервера mydomain.com
# разрешить загрузку и прослушивание конфигурации PHPMyadmin Apache
Включить /etc/phpmyadmin/apache.conf
phpmyadmin.conf
находится в /etc/apache2/conf-enabled/
:
# Конфигурация Apache по умолчанию в phpMyAdmin
Псевдоним /phpmyadmin /usr/share/phpmyadmin
<Каталог /usr/share/phpmyadmin>
Параметры SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
Приложение AddType/x-httpd-php .php
</ЕслиМодуль>
<FilesMatch ".+\.php$">
Приложение SetHandler/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/: /usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</ЕслиМодуль>
<IfModule mod_php.c>
<IfModule mod_mime.c>
Приложение AddType/x-httpd-php .php
</ЕслиМодуль>
<FilesMatch ".+\.php$">
Приложение SetHandler/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/: /usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</ЕслиМодуль>
</Каталог>
# Авторизоваться для установки
<Каталог /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
Основной тип авторизации
AuthName "Настройка phpMyAdmin"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</ЕслиМодуль>
Требовать действительного пользователя
</ЕслиМодуль>
</Каталог>
# Запретить веб-доступ к каталогам, которым это не нужно
<Каталог /usr/share/phpmyadmin/templates>
Требовать все отказано
</Каталог>
<Каталог /usr/share/phpmyadmin/libraries>
Требовать все отказано
</Каталог>
<Каталог /usr/share/phpmyadmin/setup/lib>
Требовать все отказано
</Каталог>