?

Log in

No account? Create an account
Август 2014   01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

FreeBSD, Apache,Virtual hosts

Posted on 2010.08.30 at 11:47
Ранее было написано как установить и настроить Apache, здесь -
настройка Apache для работы нескольких сайтов с разными юзерами.
* Проверка того, что апач работает:

# ps ax | grep httpd

Если Apache запущен, то Вы увидите подобные строки:

53092 ?? I 0:00,02 /usr/local/sbin/httpd -DNOHTTPACCEPT
53258 ?? I 0:00,02 /usr/local/sbin/httpd -DNOHTTPACCEPT

пуск и стоп Apache:

/usr/local/etc/rc.d/apache22 start

Команда для остановки Apache

/usr/local/etc/rc.d/apache22 stop

перезапуск Apache

/usr/local/etc/rc.d/apache22 restart


* Проверка наличия настроек для виртуалхостов в конфигурации Apache

Для того, чтобы Apache мог работать с несколькими сайтами, он должен быть сконфигурирован для работы с виртуалхостами. Для этого необходимо проверить:

в /usr/local/etc/apache22/httpd.conf должны присутствовать и быть незакомментированными следующие строки

Include etc/apache22/extra/httpd-vhosts.conf

Include etc/apache22/Includes/*.conf

В файле /usr/local/etc/apache22/extra/httpd-vhosts.conf должна остаться незакомментированной только строка

NameVirtualHost *:80


* Добавление нового сайта на сервер

Исходные данные:
логин пользователя: newuser
домашняя директория: /home/newuser
доменное имя сайта: newsite.ru
подразумевается, что у пользователя будет больше одного сайта

1. Добавляем нового пользователя на сервере как написано здесь
2. Чтобы пользователь при заходе на сервер через ftp попадал в свою домашнюю директорию, редактируем файл /etc/ftpchroot, если файл отсутствует, то создаем. Добавляем туда строку:

newuser /home/newuser

3. Создаем директорию /home/newuser/newsite.ru и в ней три директории: cgi-bin (для файлов perl), htdocs (для html-файлов) и logs (для логов Apache от сайта)

mkdir -p /home/newuser/newsite.ru/cgi-bin
mkdir /home/newuser/newsite.ru/htdocs
mkdir /home/newuser/newsite.ru/logs

4. Задаем для директории /home/newuser/newsite.ru и всех её поддиректорий владельца newuser, группу newuser и права доступа 0755:

chown -R newuser:newuser /home/newuser/newsite.ru
chmod -R 0755 /home/newuser/newsite.ru

5. Настраиваем конфигурацию виртуалхоста в Apache.
Создаем или редактируем файл /usr/local/etc/apache22/Includes/newuser.conf - в этом файле будут храниться конфигурации виртуалхостов для всех сайтов пользователя newuser. Как вариант, можно использовать отдельный файл для каждого сайта, в этом случае в качестве названия файла целесообразно использовать доменное имя сайта, в нашем случае это /usr/local/etc/apache22/Includes/newsite.ru.conf . Создаем конфигурацию виртуалхоста для нашего сайта и записываем её в newuser.conf:


ServerName newsite.ru
ServerAlias www.newsite.ru
ServerAdmin support@newsite.ru

SuexecUserGroup newuser newuser
AddHandler cgi-script .pl

DocumentRoot /home/newuser/newsite.ru/htdocs
home/newuser/newsite.ru/htdocs>
Options Includes FollowSymLinks Indexes

AllowOverride All
Order allow,deny
allow from all
DirectoryIndex index.html index.shtml


ScriptAlias /cgi-bin/ "/home/newuser/newsite.ru/cgi-bin/"
home/newuser/newsite.ru/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all


ErrorLog "|/usr/local/sbin/rotatelogs /home/newuser/newsite.ru/logs/%Y-%m-%d-error 86400"
CustomLog "|/usr/local/sbin/rotatelogs /home/newuser/newsite.ru/logs/%Y-%m-%d-access 86400" combined


6. Перезапускаем Apache.
7. Для добавления пользователю нового сайта, повторяем п.п.3-6, используя вместо newsite.ru доменное имя нового сайта.

Оригинал записи и комментарии на LiveInternet.ru


Previous Entry  Next Entry