Вот короче ребятушки чего я намутил.... Схема вполне рабочая
Остались конечно вопросы ну это немного позже.
Базовая настройка сервера apache2.4Становимся root, для этого в терминале пишем
$ sudo passwd rootДальше система попросит вести текущий пароль пользователя, как только вы его введете
Придумайте и наберите пароль для root
Второй раз повторите его
Теперь не надо заморачиваться с sudo
В терминале набираем
$ suПишем пароль
И становимся root
Устанавливаем apache
# apt-get install apache2 libapache2-mod-auth-mysqlУстанавливаем php
# apt-get install php5-common php5 libapache2-mod-php5 php5-cli php5cgi php5-mysql php-sd php-curlУстанавливаем MySQL если нужно.
# apt-get install mysql-server mysql-clientПосле того как всё это установится, идём настраивать apache2
# cd /etc/apachec2/conf-available# nano myconf.confmyconf.conf может быть с любым именем хоть xyz.conf главное что-бы после имени стояла точка и conf то есть так theripiri.conf
программа nano создаст файл в директории conf-available с указанным вами именем и откроет его
в нем пишем индивидуальные настройки для вашего сервера Apachec2
## Файл персональных настроек веб-сервера Apache
## Чтобы устранить предупреждение при перезапуске Apache (хотя в целом на производительности это не отразится)
ServerName localhost
## Для того, чтобы Apache интерпретировал php и не предлагал сохранить php-файл
AddType application/x-httpd-php .php .phtml
## Установка кодировки UTF-8 по умолчанию
AddDefaultCharset UTF-8
Сохраняем, выходим
Подключаем конфигурационный файл, который только что создали
# a2enconf файл.conf Перезагружаем apache2 командой
# Service apache2 restartИли так, это как кому удобно
# /etc/init.d/apache2 restart# nano cd /etc/apachec2/apache2.confОткрываем главный конфигурационный файл apache
Ищем там примерно это
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Сразу после </Directory>пишем свои строки примерно это
<Directory /home/user/sites/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
Короче говоря, эти строки описывают правила для конкретной директории в нашем случае /home/user/sites/
Раньше нужно было описывать это для каждого сайта в отдельности в файлaх конфигурации лежащим в директории/etc/apache2/sites-available , а теперь видимо нужно тут, можно по отдельности для каждого сайта, однако лично для меня эти строки одинаковы для всех сайтов, лежащих в директории sites, поэтому я указываю сразу /home/user/sites/ то есть общею папку
Сохраняем рестартим apache2 уже известным способом
# Service apache2 restartСмотрим, чтобы не было ошибок. Если будут apache не перезапустится, тогда всё внимательно проверяем еще раз.
Идем дальше в
# cd /etc/apache2/sites-available# nano test.confСоздаём файл имя_сайта.conf
Это нововведение, раньше достаточно было создать только neim_site без .conf в конце, имя опять таки может быть любым главное то что вы укажите внутри файла. Однако чисто для удобства создавайте конфигурационные файлы с именами ваших сайтов, так понятнее что к чему относится.
Внутри пишем
<VirtualHost *:80>
ServerName test
DocumentRoot /home/user/sites/test/www/
<Directory /home/user/sites/test/www/>
AllowOverride All
</Directory>
</VirtualHost>
Сохраняем и выходим, и создаем, если у вас ещё нет ни одного сайта, все по пути /home/user/sites/test/www/ все директории должны присутствовать иначе вы будите ссылаться на несуществующие директории.
В www создадим файл index.php
Откроем его и отредактируем, впишем туда
Сохраним, мы создали проверочный файл сценария php.
Далее нужно настроить права доступа таким образом
#usermod –a –G user www-dataТолько что мы добавили пользователя www-data к группе user , user это ваша группа и вы сами, таким образом, теперь можно выставить права доступа к директории сайта на 750
#chmod 750 –R /home/user/sites/Это будет значить что вы пользователь и создатель всех сценариев сайтов можете делать с ними что вздумается .
Пользователь www-data, от имени которого работает apache, теперь находится в вашей группе и может кое что, все остальные нам тут ни к чему.
Далее настал момент подвесить ваш сайт
#a2ensite test.conftest.conf это имя файла того что мы создали в директории /etc/apache2/sites-available
И снова перезапустим apache
#Service apache2 restartДалее нам нужно указать в файле по следующему пути, что наш сайт находится на этом же машине что и запущенный браузер, да это запись делается для браузера.
Пишем в терминале
# nano /etc/hostsДобавляем туда после строки
127.0.0.1 localhostзапись
127.0.0.1 testНе забываем сохранить
Для верности можно перезагрузится, затем запускаем браузер набираем то что мы писали после директивы ServerName имя виртуального сервера у нас test, в файле конфигурации test.conf лежащему по пути /etc/apache2/sites-available
«Тут нужно сказать, что можно указывать и алиасы путем дополнительной директивы
ServerAlias test.ru
ServerAlias
www.test.ruServerAlias www. test.com
В файл test.conf и также добавить имена в /etc/hosts
Однако если вы разработчик, а сервер вам нужен только для отладки, ограничитесь записями без www»
а именно в этом примере это test
Должна отобразиться таблица с параметрами php.
Далее чисто для удобства перечислю все команды, приведенные выше в порядке очереди$ sudo passwd root
пароль текущего пользователт
придуманный пароль для root
второй раз его же
$ su
пароль root
# apt-get install apache2 libapache2-mod-auth-mysql
# apt-get install php5-common php5 libapache2-mod-php5 php5-cli php5cgi php5-mysql php-sd php-curl
# apt-get install mysql-server mysql-client
#c d /etc/apachec2/conf-available
# nano myconf.conf
## Файл персональных настроек веб-сервера Apache
## Чтобы устранить предупреждение при перезапуске Apache (хотя в целом на производительности это не отразится)
ServerName localhost
## Для того, чтобы Apache интерпретировал php и не предлагал сохранить php-файл
AddType application/x-httpd-php .php .phtml
## Установка кодировки UTF-8 по умолчанию
AddDefaultCharset UTF-8
Сохраняем выходим
Водим новую команду, продолжаем
# a2enconf файл.conf
# Service apache2 restart
# nano cd /etc/apachec2/apache2.conf
<Directory /home/user/sites/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
# Service apache2 restart
# cd /etc/apache2/sites-available
# nano test.conf
<VirtualHost *:80>
ServerName test
DocumentRoot /home/user/sites/test/www/
<Directory /home/user/sites/test/www/>
AllowOverride All
</Directory>
</VirtualHost>
# mkdir /home/user/sites/www
# nano /home/user/sites/www/index.php
<?php
echo phpinfo();
?>
# chmod 750 –R /home/user/sites/
# usermod –a –G user www-data
# a2ensite test.conf
# Service apache2 restart
# nano /etc/hosts
127.0.0.1 test
# reboot
Надеюсь кому поможет.