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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Можно ли добавить в Apache сайт, просто создав директорию с сайтом?  (Прочитано 4353 раз)

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

Оффлайн nvros86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Вопрос такой. А нельзя ли как на денвере настроить апач? Т.е. существует дирректория для хранения всех папок хостов (в денвере это /home/), создаешь в ней папку с именем нового хоста а в ней еще одну с именем www, перезапускаешь апач - и новый хост уже работает.
или что то подобное можно зделать?
« Последнее редактирование: 31 Июля 2012, 17:03:59 от Дмитрий Бо »

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Вопрос по lamp
« Ответ #1 : 31 Июля 2012, 16:45:27 »
не проблема ведь сделать как положено, минутное дело ведь скопировать настройки хоста и активировать его...

https://help.ubuntu.ru/wiki/web-server

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
nvros86,
название топика должно быть информативным. Я придумал вот такое, можешь ещё поправить, если хочешь.

Оффлайн nvros86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
nvros86,
название топика должно быть информативным. Я придумал вот такое, можешь ещё поправить, если хочешь.
Подойдет )
А можно ли сделать так чтоб например я создал папку site.home в определенном каталоге и он подключался автоматом без прописывания его?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Можно, но учитывай, что сайты, созданные таким образом, делят общие настройки безопасности.
Этот вопрос уже поднимался раньше.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн jack_solovey

  • Активист
  • *
  • Сообщений: 902
  • Mate, и никаких Unity
    • Просмотр профиля
nvros86,
название топика должно быть информативным. Я придумал вот такое, можешь ещё поправить, если хочешь.
Подойдет )
А можно ли сделать так чтоб например я создал папку site.home в определенном каталоге и он подключался автоматом без прописывания его?

Можно.
То что прописывается в Virtualhost позволяет делать сайты для разных доменных имен.
типа  http;//site1.ru, http;//site2.ru, http;//site3.ru
А если для одного виртуального хоста http;//host.ru в папку кидать подпапки site1, site2, site3, то получится так
http;//host.ru/site1 , http;//host.ru/site2 , http;//host.ru/site3
Но это как-то уродливо и нищебродски.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
jack_solovey, вы сами поняли, что написали? Я - нет. А я ведь знаю настройки, про которые вы говорите...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Henryh

  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
А можно ли сделать так чтоб например я создал папку site.home в определенном каталоге и он подключался автоматом без прописывания его?
Конечно можно, но только как и в случае с денвером вам придется запускать скрипт (которы нужно написть сначала, например на bash), который будет:
- останавливать сервис apache
- сканировать папку (например /home/webserver/) на наличие там новых папок аля site.home и удаленных старых (чтобы с ними провести аналогичные дальнейшим действия, но наоборот)
- создавать в директории /etc/apache2/sites-available файл site.home с содержимым указывающим на /home/webserver/site.home/
- создавать симлинк/применять этот сайт в sites-enabled
- создавать запись в /etc/hosts, аля 127.0.0.1 site.home
- запускать apache обратно

Как то так в теории работает скрипт "reastart" денвера.
Автоматизируй это

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
jack_solovey,
Какая-то бредятина, что есть подкаталоги и что виртуальный хост. Бывает так, что сайту требуется находится в корне хоста, а не в папке. Да и вообще не решение это для поставленной задачи.

Пользователь решил продолжить мысль 02 Августа 2012, 05:18:54:
keysi_,
А вот ты правильно всё сказал, сделай человеку скриптик :)

Оффлайн nvros86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Всем спасибо сделал проще написалb скрипт
« Последнее редактирование: 03 Августа 2012, 13:04:14 от nvros86 »

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Работает? Покажешь?

Оффлайн Henryh

  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Всем спасибо сделал проще написал скрипт
Замечательно. Выкладывай сюда, народ помог - теперь поделись с народом.
Автоматизируй это

Оффлайн nvros86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Создаем файл например newHost.sh туда вставляем
#!/bin/sh
#
admin_email="site@site.ru"      # Admin email
path_htdocs="/home/домашняя папка/www/" # Можно задать любой путь, там будут хранится Ваши виртуальные хосты
wwwuser="Ваше имя в системе"
wwwgroup="Ваша группа в системе"
 
case "$1" in
    "")
        echo "Please input new domain name (Run is root)."
        ;;
 
    *)
        clear
        echo "###########################################################\n#                 Add new local host                      #\n#                  for apache2                            #\n###########################################################"
 
        echo "Create site directory"
        mkdir -p $path_htdocs$1/www/
        echo "$path_htdocs$1/www/"
 
        echo "\nCreate index.php file"
        echo "<?php phpinfo(); ?>" > $path_htdocs$1/www/index.php
 
        chown -R $wwwuser:$wwwgroup /$path_htdocs$1
 
        echo "\nAdd: /etc/apache2/sites-enabled/$1.vhost"
        exec 3>&1 1>/etc/apache2/sites-enabled/$1.vhost
        echo "<virtualhost *:80>"
        echo " ServerName $1"
        echo " ServerAdmin $admin_email"
        echo " "
        echo " ErrorLog $path_htdocs$1/error.log"
        echo " CustomLog $path_htdocs$1/access.log combined"
        echo " LogLevel warn"
        echo " "
        echo " DocumentRoot $path_htdocs$1/www/"
        echo "</virtualhost>"
        exec 1>&3
 
        echo "Added domain name to hosts"
        sudo echo "127.0.0.1 $1" >> /etc/hosts
        echo "Complite"
        sleep 1
        echo "Restarting apache"
        sudo /etc/init.d/apache2 restart
        echo "Domain is added you system ;)"
        echo "Please visit http://$1"
        ;;
esac

запускаем в терминале

sudo sh 'тут путь до скрипта' название создаваемого виртуального хоста

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
path_htdocs="/home/домашняя папка/www/" # Можно задать любой путь, там будут хранится Ваши виртуальные хосты
wwwuser="Ваше имя в системе"
wwwgroup="Ваша группа в системе"
заменить пример
path_htdocs="/home/`uname -n`/www/" # Можно задать любой путь, там будут хранится Ваши виртуальные хосты
wwwuser="`uname -n`"
wwwgroup="`uname -n`"
« Последнее редактирование: 03 Августа 2012, 13:30:14 от victor00000 »
Wars ~.o

Оффлайн nvros86

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Цитировать
path_htdocs="/home/домашняя папка/www/" # Можно задать любой путь, там будут хранится Ваши виртуальные хосты
wwwuser="Ваше имя в системе"
wwwgroup="Ваша группа в системе"
заменить пример
path_htdocs="/home/`uname -n`/www/" # Можно задать любой путь, там будут хранится Ваши виртуальные хосты
wwwuser="`uname -n`"
wwwgroup="`uname -n`"


я использую имя без ключа

 

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