Добавление массива виртуальных хостов apache2

F
На сайте с 05.03.2009
Offline
123
765

Собственно появилась такая задачка.

Есть список доменов 100 штук.

Надо сделать чтобы они прописались в апач на 127.0.0.1 и открывались на локальной машине.

По одному 100-200 штук добавлять радости мало само собой.

Задача 2, всё это удалить также быстро.

Апач второй стоит на убунту.

Собственно есть какие решения для подобного?

IL
На сайте с 20.04.2007
Offline
435
#1
flashdix:
Надо сделать чтобы они прописались в апач на 127.0.0.1 и открывались на локальной машине.

1. В hosts добавить 100 хостов (хоть из XLS 2 колонки копировать-вставить)

2. из какой директории должны открываться? Все из одной? из разных?

Если из одной - Alias-ов добавить.

Если из разных - так примерно:

VirtualDocumentRoot /home/user/www/%0/docs

p.s. ну или скриптом 100 файлов нагенерить.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
F
На сайте с 05.03.2009
Offline
123
#2

ivan-lev, На каждом домене свой сайт, сответственно у каждого сайта своя директория.

[umka]
На сайте с 25.05.2008
Offline
456
#3

for d in $(cat domain_list.txt); do echo $d|awk '{printf("<VirtualHost 11.22.33.44:80>\nServerName %s\nServerAlias www.%s\nDocumentRoot /path/to/%s/www/\n</VirtualHost>\n",$1,$1,$1);}' > /path/to/apache/conf/includes/$d; mkdir -p /path/to/$d/www; done

В domain_list.txt кладём список доменов (без www)

То, что зелёным, станет конфигами виртуальных хостов

"/path/to/%s/www/" и "/path/to/$d/www" — шаблон пути к корневым директориям сайтов

Директорию со свежесозданными конфигами виртуальных хостов "/path/to/apache/conf/includes/" нужно будет заинклудить в httpd.conf примерно так:

Include conf/includes/

Лог в помощь!
izbushka
На сайте с 08.06.2007
Offline
110
#4

Есть замечательный модуль mod_macro:

раз два

Glueon
На сайте с 26.07.2013
Offline
172
#5
flashdix:
ivan-lev, На каждом домене свой сайт, сответственно у каждого сайта своя директория.

Вам это человек и предложил во втоорой части предложения.

https://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

Домены через скрипт в /etc/hosts добавить:

for i in domain.ru sitre.ru mail.ru; do echo 127.0.0.1 $i  >> /etc/hosts ; done;

Удалить из /etc/hosts:

for i in domain.ru sitre.ru mail.ru; do sed -i "/$i/d" /etc/hosts; done;

И точно так же папки . Больше ничего не надо тогда.

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
F
На сайте с 05.03.2009
Offline
123
#6

Всем спасибо, проблема решена.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий