0
Найти на сайте: параметры поиска

 

 

Виртуальные хосты

Настройка виртуальных хостов на mint13/ubuntu 12.04
  
Сообщений: 0
В сети много мануалов, но как-то всегда с некой кривизной.
Вот решил поделиться опробованным рецептом. Чтобы было легко самому найти и другим было полезно.
Идем в терминал.

Если вообще нет сервера :)
Получаем права админа
Код PHP:
  1. sudo -i
Создаем файл с именем сайта:
Код PHP:
  1. touch /etc/apache2/sites-available/site.my
Редактируем файл:
Код PHP:
  1. nano /etc/apache2/sites-available/site.my
Вставляем следующее:
<VirtualHost *:80>
ServerName site
ServerAlias site.my www.site.my
DocumentRoot /var/www/site.my/www
ErrorLog /var/www/site.my/error.log
CustomLog /var/www/site.my/access.log common
</VirtualHost>

Создаем каталог для сайта
Код PHP:
  1. mkdir /var/www/site.my
Создаем корень сайта
Код PHP:
  1. mkdir /var/www/site.my/www
Меняем владельца:группу каталогов с root на себя
Код PHP:
  1. chown userName:userName -R /var/www/site.my
Правим список хостов:
Код PHP:
  1. nano /etc/hosts
Вставляем строку:
127.0.0.1 site.my www.site.my
Подключаем сайт:
Код PHP:
  1. a2ensite site.my
Чтобы не выскакивала ошибка, при перезагрузки апача(в общем-то это не влияет на работу апача особо, просто неприятный нюанс) следующего содержания:
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Отредактируем httpd.conf
Код PHP:
  1. nano /etc/apache2/httpd.conf
Вставляем строку
ServerName site
Перезагружаем апач
Код PHP:
  1. service apache2 reload

Ну и все...

Все должно работать v
Редактировалось: 7 раз (Последний: 6 декабря 2013 в 11:46)
Сообщений: 0
Если нужен Mod rewrite.

Делаем так:

Проверяем есть ли модуль вообще:
Код PHP:
  1. cd /etc/apache2/mods-available
  2. ls rew*
Если есть: rewrite.load

То командуем:
Код PHP:
  1. sudo a2enmod rewrite
Далее в конфиги сайта (в данном случае /etc/apache2/sites-available/site.my, для которого и был создан виртуальный хост постом выше) где нужен Mod rewrite
Добавляем блок

<Directory /var/www/site.my/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

В итоге выглядеть будет так:
Спойлер
Можно сделать по дефолту для всех хостов:
Код PHP:
  1. sudo nano /etc/apache2/sites-available/default
Изменив параметр AllowOverride None на AllowOverride All в соответственном блоке (см. выше).

Ну и
Код PHP:
  1. service apache2 restart
Ну вот как-то так. scratch
Редактировалось: 4 раз (Последний: 8 мая 2013 в 09:43)
Сообщений: 0
Чтобы добавить модули, которых нету в стандартном пакете php, например curl
Делаем так:
Парсим кэш apt
Код PHP:
  1. apt-cache search curl | grep php
Видим такое:
php5-curl - CURL module for php5
Значит модуль есть в кэше.
Инсталлим его:
Код PHP:
  1. apt-get install php5-curl
Ну и рестарт апачу:
Код PHP:
  1. invoke-rc.d apache2 restart
Тестим модуль, должно работать joke
Редактировалось: 1 раз (Последний: 8 мая 2013 в 08:45)
Сообщений: 0
Как правило, все традиционно создают на настольных машинных отдельный раздел под /home и, в итоге, при создании площадки для работы с сайтами (по умолчанию это директория /var/www), может возникнуть проблема с местом scratch для сайтов...
Решается просто.
Ну это только один из способов, на мой взгляд самый простой.

Создаем в домашней папке директорию /www
В нее помещаем нужный сайт. Все традиционно выглядеть по вложенности должно так: /home/userName/www/siteName/www.
Далее делаем символьную ссылку на наш сайт
Код PHP:
  1. ln -s /home/userName/www/siteName /var/www/siteName
и далее прикручиваем виртуальный хост как обычно (см. посты выше), в путях указываем так, как если бы в /var/www лежала не ссылка а сайт.
Пример
Редактировалось: 3 раз (Последний: 13 июня 2013 в 10:43)
В начало страницы 
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.