Показаны сообщения с ярлыком Apache. Показать все сообщения
Показаны сообщения с ярлыком Apache. Показать все сообщения

19 ноября 2013 г.

Как в Ubuntu запустить виртуальные хосты Apache под разными пользователями

Зачем нужно запускать виртуальные хосты под разными пользователями?
По-умолчанию Apache работает “от имени и по поручению” юзера www-data. Это значит что для веб-сервера будут доступны только те ресурсы (файли и каталоги), которые доступны для юзера www-data, соответственно и изменить он сможет только их. Как правило, на одном веб-сервере может располагаться сразу несколько виртуальных хостов (несколько сайтов), по-умолчанию все они будут доступны для юзера www-data и в случае взлома или поражения одного из ресурсов, остальные также могут быть поражены. Поэтому с целью обеспечения дополнительной безопастности существет возможность запуска виртуальных хостов от имени разных юзеров.
Как запустить виртуальные хосты от имени разных юзеров в Apache2?
Организовать работу виртуальных хостов под разными пользователями достаточно просто.
Для начала установим дополнительный модуль для апача apache2-mpm-itk. Так как этот модуль скомпилирован внутри apache2, во время установки появляется сообщение о том, чтотекущая версия apache и некоторые установленные модули могут быть удалени. Для установки запускаем следующую команду:
$ sudo apt-get install apache2-mpm-itk
В последующем перезапуске веб-сервера необходимости нет.
Теперь создадим новую группу
$ sudo addgroup GROUP_NAME
и юзера, под которыми будет работать один из наших виртуальных хостов
$ sudo useradd -g GROUP_NAME USER_NAME

$ sudo passwd USER_NAME
Далее открываем файл конфигурации виртуального хоста и добавляем туда диррективы:
<IfModule mpm_itk_module>

     AssignUserId USER_NAME GROUP_NAME

</IfModule>
Перед перезагрузкой apache установим соответствующие права на каталоги и файлы для нашего виртуального хоста
$ sudo chown USER_NAME:GROUP_NAME /var/www/some-virtualhost/ -R
Осталось только перезагрузить веб-сервер:
$ sudo service apache2 restart

Источник

1 ноября 2012 г.

Улучшаем производительность веб-ресурса. Установка mod_pagespeed в Ubuntu

Для начала загружаем пакет с сайта Google

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb

или для 32-битной системы

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb


Терь устанавливаем пакет (обезательно с правами root):

dpkg -i mod-pagespeed-*.deb
apt-get -f install


Настройка модуля осуществляется в файле /etc/apache2/mod-available/peagespeed.conf



5 октября 2012 г.

Как сделать редирект черз .htaccess если браузер IE6

Иногда приходится разрабатывать проекты, работающий с ограниченным количеством браузеров, либо же без потдержки старых версий (IE6 к примеру). В таких случаях логично организовать редирект на страницу с соответствующим текстом. Сделать это можно как при помощи Javasript-а, так и на стороне PHP. Но как по мне, более элегантным решением будет редирект на стороне веб-сервера Apache, а точнее при помощи фала .htaccess. Создаем файл .htaccess в корне сайта либо же открываем существующий, и добписываем следующие директивы:
RewriteCond %{REQUEST_FILENAME} !^.png [nc]
RewriteCond %{REQUEST_FILENAME} !^.css [nc]
RewriteCond %{REQUEST_FILENAME} !^.jpg [nc]
RewriteCond %{REQUEST_FILENAME} !^.js [nc]
RewriteCond %{REQUEST_FILENAME} !^.gif [nc]
RewriteCond %{HTTP_USER_AGENT} "Firefox/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Firefox/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Flock/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Camino/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/9" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/8" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/7" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/6" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/5" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/4" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/4" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Navigator/" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 6" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 4" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 3" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 2" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 1"
RewriteRule . upgrade.html [L]
Конечно же работать все это будет только при условии подключеного модуля mod_rewrite.