apache


[Apache] Разрешить доступ по User-Agent

Чтобы разрешить доступ на сервер только для устройств с определенным User-Agent, можно создать соответствующее правило в файле .htaccess. Пример ниже разрешает доступ только для LG Smart TV, которые в строке User-Agent имеют слова LGE, NetCast или LG Browser: RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !(LG\%20Browser|LGE|NetCast) [NC] RewriteRule ^ — [F,L] Для всех остальных устройств будет отображена ошибка «403 Forbidden».

[Apache] Обработка html-файлов как PHP

Если необходимо обрабатывать файлы с расширением *.html через PHP, то для этого достаточно прописать в .htaccess следующую строчку: AddType application/x-httpd-php .php .htm .html

Просмотр подключенных модулей у Apache и nginx

Порой нужно узнать, какие модули подключены для Apache или nginx. К примеру, буквально пару дней назад необходимо было выяснить, подключен ли модуль mod_deflate у Apache. Выполняем: apache2ctl -M Читаем: Loaded Modules: core_module (static) … deflate_module (shared) … Syntax OK Для nginx также есть команда, которая показывает подробную информацию о сборке: nginx -V Читаем: nginx version: nginx/x.x.0 built […]

[Apache] Invalid command 'SSLEngine'

При опытке перезапустить Apache, выводится ошибка: # /etc/init.d/apache2 restart [warn] module rpaf_module is already loaded, skipping Syntax error on line 303 of /etc/apache2/apache2.conf: Invalid command ‘SSLEngine’, perhaps misspelled or defined by a module not included in the server configuration Action ‘configtest’ failed. The Apache error log may have more information. failed! Тем не менее модуль […]

[Apache] Error retrieving pid file /var/run/apache2.pid

Пробуя зайти на свой сайт, получил 504-ошибку (Gateway Timeout). Полез в консоль, пробую перезапустить Apache, получаю: Restarting web server: apache2Usage: grep [OPTION]… PATTERN [FILE]… Try `grep —help’ for more information. Usage: grep [OPTION]… PATTERN [FILE]… Try `grep —help’ for more information. [Sat Feb 15 18:04:48 2014] [warn] module rpaf_module is already loaded, skipping (20014)Internal error: […]

HTTP-аутентификация через .htaccess или PHP

Чтобы на сервере ограничить доступ к конкретному файлу через авторизацию посредством .htaccess, нужно прописать: <FilesMatch «file_name»> AuthName «Access Denied» AuthType Basic AuthUserFile /path_to_htpasswd/.htpasswd Require valid-user </FilesMatch> А если мы хотим защитить php-файл, то непосредственно в него можно прописать следующее: $login="login"; $pass="password"; if (!isset($_SERVER[’PHP_AUTH_USER’]) || $_SERVER[’PHP_AUTH_USER’]!=$login || $_SERVER[’PHP_AUTH_PW’]!=$pass) { header("WWW-Authenticate: Basic realm=\"Authorization\""); header("HTTP/1.0 401 Unauthorized"); exit("Access […]

Команды a2enmod / a2dismod и a2ensite / a2dissite

Несколько полезных команд Apache: a2enmod {modname} — подключение модуля (например «a2enmod rewrite» — подключает mod_rewrite) a2dismod {modname} — отключение модуля (например «a2dismod rewrite» — отключает mod_rewrite) Сами же модули находятся в следующих директориях: /etc/apache2/mods-available — доступные модули /etc/apache2/mods-enabled — задействованные модули (содержит ссылки на модули из директории ‘mods-available’) a2ensite {vhost_conf_name} — подключает виртуальный хост (например […]

[PHP] Увеличение объема памяти для выполнения скрипта

Задача: увеличить объем допустимой памяти для выполнения скрипта. Решение: Вариант 1: в файл .htaccess добавить строку (если PHP работает под Apache через mod_php) php_value memory_limit xxM Вариант 2: задать необходимое значение в файле php.ini memory_limit = xxM Вариант 3: задать необходимое значение непосредственно в PHP-скрипте ini_set(‘memory_limit’, ‘xxM’)