Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как настраивать Apache2 с новыми .conf  (Прочитано 8851 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fierylion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
  • fierylion
    • Просмотр профиля
    • www.folio.fierylion.ru
Как настраивать Apache2 с новыми .conf
« : 22 Августа 2014, 21:16:15 »
Может где  есть нормальная человеко понятная инструкция по настройке apache для работы с виртуальными хостами.
Потому как  все что здесь нашел, откровенно говоря, ……., иных слов нету.  Ух и зло берёт. Глаза уже стеклянные стали. Зачем переделывать  то что и так работало не плохо.
Это я уже попытался понять.
https://forum.ubuntu.ru/index.php?topic=201930.0
https://forum.ubuntu.ru/index.php?topic=52552.0
https://help.ubuntu.ru/wiki/web-server

По последней ссылке  много двойственности.

Это что /etc/apache2/conf.d ?
каталог?
Тогда так /etc/apache2/conf.d/
и там создать myconf.conf
тут непонятно для каждого сайта свой myconf.conf или он должен быть один для всего сервера или даже может быть директория conf.d для каждого сайта своя.

при попытке выполнить команду a2enconf myconf.conf выдаёт

ERROR: Conf myconf does not exist!

Старые .conf не подходят.
И так  нужно исходить из следующего.
Все php сценарии  лежат  по пути  /home/user/sites/ далее у каждого сайта  свая директория /www/index.php
Создаю в директории sites-available файл test1.conf
Вписываю туда

(Нажмите, чтобы показать/скрыть)

Apache при перезапуске пишет fall  не нравиться ему 7 строка Options -Indexes FollowSymLinks MultiViews
Удаляю директиву
попытался что называется максимально упростить
(Нажмите, чтобы показать/скрыть)
всё тоже самое

Apache запускается сайт вроде как цепляет, однако при попытке выти на него, выдаёт.
(Нажмите, чтобы показать/скрыть)
:buck2:

Оффлайн Alex Gluck

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: Как настраивать Apache2 с новыми .conf
« Ответ #1 : 22 Августа 2014, 21:27:49 »
Налицо видна ваша "усталость", вам стоит отдохнуть и перечитать документацию по используемому у вас веб серверу http://httpd.apache.org/docs/2.4/

А так же по правам в unix системах https://ru.wikipedia.org/wiki/Chmod

Оффлайн fierylion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
  • fierylion
    • Просмотр профиля
    • www.folio.fierylion.ru
Re: Как настраивать Apache2 с новыми .conf
« Ответ #2 : 22 Августа 2014, 22:01:46 »
Нет дело тут не в 750 и не 421 401 000 и даже не rwxr-x---
Но вам не кажется что если каждому читать много томную документацию, как это сказать, зачем нужен форум, суда приходят в надежде быстро решить проблему, надеясь что кто то проложил нужную тропку. Хотя-бы фонариком посветил.

Пошел я спать завтра точно решу проблему.  Будут снится аАДминские кошмары. Серверы сошли с ума, стали обладать интеллектом.

Оффлайн Labaman

  • Участник
  • *
  • Сообщений: 235
  • И все-таки Ubuntu
    • Просмотр профиля
Re: Как настраивать Apache2 с новыми .conf
« Ответ #3 : 23 Августа 2014, 18:03:51 »
Налицо видна ваша "усталость", вам стоит отдохнуть и перечитать документацию по используемому у вас веб серверу http://httpd.apache.org/docs/2.4/

А так же по правам в unix системах https://ru.wikipedia.org/wiki/Chmod
И толку от этого автору? Он жалуется на хитрожопость замудренность бубунты в настройках, надо заметить, когда я попытался поднять apache на 14.04 я тоже долго материл на чем свет стоит такой подход. Но в свежем Debian 7 применяется тот же подход так что...
А по тем ссылкам, что Вы выложили находятся штатные руководства apache, а с недавних пор для Ubuntu они не подходят ибо настройки apache тоже решили дибилизировать дебианизировать. Так что тут скорее уже вопрос об особенностях настройки apache для debian-подобных.
Автору:
Прочти вот тут https://help.ubuntu.ru/wiki/apache2
Основная идея что по-сути теперь виртуальные хосты нам навязывают. Так что каждую "папку" предполагаемого сайта надо описывать в отдельном конфиге, а потом активировать их командой:
sudo a2ensiteТо есть сначала описываем настройки сайта в отдельном файле в папке /etc/apache2/sites-available
А потом даем вышеописанную комманду:
 sudo a2ensite имя_конфигакоторый создаст симлинк в папке /etc/apache2/sites-enabled/
И после рестарта apache можешь обращаться к сайту.
P.S. Ну а если хочешь чтобы в любой "гнутый" софт работал и настраивался так как описано на официальных сайтах, и Вы не планируете использовать на этом же сервере коммерческий софт (1C, Oracle итд) то советую присмотреться к freebsd или ArchLinux и gentoo linux - в них все остается "как есть" с минимальной адаптацией под ОС.
« Последнее редактирование: 23 Августа 2014, 18:08:35 от Labaman »

Оффлайн fierylion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
  • fierylion
    • Просмотр профиля
    • www.folio.fierylion.ru
Re: Как настраивать Apache2 с новыми .conf
« Ответ #4 : 23 Августа 2014, 20:23:01 »
Вот короче ребятушки чего я намутил.... Схема вполне рабочая
Остались конечно вопросы ну это немного позже.

Базовая настройка сервера 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.conf
myconf.conf может быть с любым именем  хоть  xyz.conf главное что-бы  после имени стояла  точка  и  conf то есть так  theripiri.conf
программа  nano создаст файл в директории conf-available с указанным вами именем и откроет его
в нем пишем  индивидуальные настройки для  вашего сервера Apachec2
(Нажмите, чтобы показать/скрыть)
Сохраняем, выходим
Подключаем конфигурационный файл, который только что создали
# a2enconf файл.conf   
Перезагружаем apache2 командой
# Service apache2 restart
Или так, это как кому удобно
# /etc/init.d/apache2  restart
# nano cd /etc/apachec2/apache2.conf
Открываем  главный конфигурационный файл  apache
Ищем там  примерно  это
(Нажмите, чтобы показать/скрыть)
Сразу после  </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  в конце, имя опять таки может быть любым главное то что вы укажите внутри  файла. Однако  чисто для удобства создавайте конфигурационные файлы с именами ваших сайтов, так понятнее что к чему относится.
Внутри пишем
(Нажмите, чтобы показать/скрыть)

Сохраняем и выходим, и создаем, если у вас ещё нет ни одного сайта, все по пути /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.conf
test.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.ru
ServerAlias www. test.com 
В файл test.conf и также добавить имена в /etc/hosts
Однако если вы разработчик, а сервер вам нужен только для отладки, ограничитесь записями без www»

а именно  в этом примере это test
Должна отобразиться таблица с параметрами php.

Далее чисто для удобства перечислю все команды, приведенные выше в порядке очереди


(Нажмите, чтобы показать/скрыть)
Надеюсь кому поможет.
 :idiot2:
« Последнее редактирование: 23 Августа 2014, 21:07:51 от fierylion »

Оффлайн Labaman

  • Участник
  • *
  • Сообщений: 235
  • И все-таки Ubuntu
    • Просмотр профиля
Re: Как настраивать Apache2 с новыми .conf
« Ответ #5 : 23 Августа 2014, 21:50:41 »

$ sudo passwd root
Дальше система попросит вести текущий пароль пользователя, как только вы его введете
Придумайте и наберите пароль для root
Второй раз повторите его
Теперь не надо заморачиваться с sudo
В терминале набираем
Вообще-то
sudo -sТот же самый эффект. Т.е переход в консоль root'а.
Сразу после  </Directory>пишем свои строки  примерно это

<Directory /home/user/sites/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
        Require all granted
</Directory>   
Order allow,deny
 allow from all
Вот это абсолютно лишнее - эти атрибуты больше не действуют. Их заменил один атрибут - Require:
Require all granted = Order allow,deny
 allow from all
Require all deny = Order deny,allow
 deny from all
Тут уж действительно почитайте руководство миграции Apache 2.2 -> Apache 2.4
И, да, я Вас прекрасно понял, что Вы разбираетесь в Linux, но я еще раз Вам посоветую - поищите и почитайте все же руководства на тему "как оно сделано в Ubuntu/Debian".

Оффлайн fierylion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
  • fierylion
    • Просмотр профиля
    • www.folio.fierylion.ru
Re: Как настраивать Apache2 с новыми .conf
« Ответ #6 : 25 Августа 2014, 20:32:59 »
Спасибо за ваши бесценные советы, правда, так и рождается истинное понимание.
И вот еще, у кого может быть есть закладочка  на тему, "как оно сделано в Ubuntu/Debian" напишите её здесь.

Оффлайн Alex Gluck

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: Как настраивать Apache2 с новыми .conf
« Ответ #7 : 25 Августа 2014, 22:00:56 »
Но вам не кажется что если каждому читать много томную документацию, как это сказать, зачем нужен форум, суда приходят в надежде быстро решить проблему, надеясь что кто то проложил нужную тропку.

Виноват apache 2.4 действительно поменялся, но к счастью я полностью переехал на nginx.
Что уж по факту проложенной дорожки вы неправильно понимаете форумы. Я вот уже 6 лет делаю так:
Нужна фича
1. Поиск форума
2. поиск гугла
3. Нашёл, реализовал.
Если не подходит или устарело
1. Адаптировал обновил постами форум.
Нет вообще как такового
1. Сам разобрался, сам с нуля написал.

Оффлайн Labaman

  • Участник
  • *
  • Сообщений: 235
  • И все-таки Ubuntu
    • Просмотр профиля
Re: Как настраивать Apache2 с новыми .conf
« Ответ #8 : 25 Августа 2014, 22:26:24 »
Нет вообще как такового
1. Сам разобрался, сам с нуля написал.
Ну или вариант проще - перейти на платформу, где это работает и актуально (например я так и изучил и освоил FreeBSD).
P.S. По поводу nginx -  штука хорошая, но только, как я писал выше - если работаешь исключительно с гнутым софтом. Ибо практически никто из разработчиков проприарного софта на сегодняшний день не поддерживает nginx. 

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Wars ~.o

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.