Мой старт в интернет!

В процессе эксплуатации серверного пакета «Мой Сервер» может возникнуть необходимость дополнительного тюнинга Апаче, например, загрузка дополнительных модулей, блокировка доступа к сайту, увеличение времени выполнения php-скриптов, настройка видимых папок для PHP и т.п.

Если тюнинг производится для отдельного сайта, то необходимо отредактировать соответствующим образом конфигурационный файла сайта и .htaccess в корне папки сайта.

Например, для сайта example.com необходимо закрыть доступ с адреса 1.2.3.4, увеличить время выполнения php-скриптов до 120 секунд и ограничить видимость для PHP временной папкой и папкой сайта.

Для этого добавляем в .htaccess в корне папки сайта следующие строки

1
2
3
4
5
6
7
<RequireAll>
  Require all granted
  Require not ip 1.2.3.4
</RequireAll>
<IfModule mod_php5.c>
  php_value max_execution_time 120
</IfModule>

Для настройки видимых PHP папок необходимо отредактировать файл конфигурации сайта W:\conf\hosts\example.com.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# example.com # example.com # example.com
<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /www/example.com
  <Directory /www/example.com>
    AllowOverride All
    Require all granted
    Options -Indexes +Includes +FollowSymLinks
  </Directory>
  ErrorLog /logs/example.com-error.log
  CustomLog /logs/example.com-access.log combined
  <IfModule mod_php5.c>
    php_admin_value open_basedir /tmp/;/www/example.com/
  </IfModule>
</VirtualHost>

Важно!
После редактирования конфигурационного файла сайта необходимо проверить правильность конфигурации

1
mysrv test apache

и при отсутствии ошибок перегрузить Apache

1
mysrv reload apache


Для глобального тюнинга Apache нет необходимости редактировать конфигурационные файлы W:\usr\local\Apache\conf\httpd.conf и W:\conf\mysrv.conf, которые могут быть заменены при последующем апдейте серверного пакета. Для того что бы актуальная рабочая конфигурация не была затерта при апдейте следует размещать ее в папке кастомных конфигураций W:\conf\conf.d

Например, необходимо запретить Apache отдавать файлы начинающиеся с точки и загрузить модуль mod_geoip.

Для этого в папке W:\conf\conf.d создаем файл deny_dot_file.conf

1
2
3
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

и файл mod_geoip.conf

1
2
3
4
5
6
7
8
9
LoadModule geoip_module modules/mod_geoip.so
# настройки модуля
    GeoIPEnable On
    GeoIPEnableUTF8 Off
    GeoIPScanProxyHeaders On
    GeoIPOutput Env    
# полный путь к файлам
    GeoIPDBFile /usr/local/share/GeoIP/GeoIPv6.dat
    GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat

Файлы в папке кастомных конфигураций должны иметь расширение conf

Важно!
После добавления файлов в папку кастомных конфигураций необходимо проверить правильность конфигурации

1
mysrv test apache

и при отсутствии ошибок перегрузить Apache

1
mysrv reload apache