редактирующий апачский vhosts и файл hosts человечности?

Я только что установил человечность (11.04).

Я установил apache/mysql/php и т.д.

У меня есть несколько сайтов, находящихся в

/var/www/site1  
/var/www/site2  
/var/www/site3  

Я хочу смочь получить доступ к ним в

http://site1.local  
http://site2.local  
http://site3.local

Таким образом в моем файле hosts я имею

127.0.0.1   site1.local  
127.0.0.1   site2.local  
127.0.0.1   site3.local  

Затем я скопировал /etc/apache2/sites-available/default 3 раза.

таким образом, теперь я имею:

/etc/apache2/sites-available/site1  
/etc/apache2/sites-available/site2  
/etc/apache2/sites-available/site3  

Они все похожи (с соответствующими именами sitex)

<VirtualHost site1.local>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/site1
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/site1/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

В терминале я затем звоню

sudo a2ensite site1 site2 site3 && sudo /etc/init.d/apache2 reload

Который, кажется, работает, кроме только одной из работ vhosts одновременно (включая значение по умолчанию), Что я делаю неправильно?


Когда я выполняю команду перезагрузки, я добираюсь
  • Перезагрузка веб-сервера конфигурирует apache2
    apache2: не Мог надежно определить полностью определенное доменное имя сервера,
    использование 127.0.1.1 для ServerName
    [Пятница 15 апреля 10:45:27, 2011] [предупреждает] NameVirtualHost *:80, не имеет никакого VirtualHosts
5
задан 21 March 2013 в 12:44

2 ответа

Файл: / etc / hosts

127.0.0.1 site1.local
127.0.0.1 site2.local
127.0.0.1 site3.local

Файл: /etc/apache2/apache2.conf

[...]
NameVirtualHost *:80
[...]

Файлы : / etc / apache2 / sites-available / site {i} .local.conf (вместо {i} введите номер: 1, 2 или 3)

<VirtualHost *:80>
    ServerName site{i}.local
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/site{i}
    [...]
</VirtualHost>

В каталоге / etc / apache2 / sites-enabled / создайте символические ссылки:

@site{i}.local.conf

Перезапустите apache и получайте удовольствие:)

0
ответ дан 21 March 2013 в 12:44

Существует сценарий, который делает это простым для Вас - https://github.com/RoverWire/virtualhost

Это в конечном счете делает то же, утончается, как объяснено данными ответами, но выполняет в нем всего одна команда, например, -

sudo virtualhost create mysite.local my_site

Это также позволяет Вам удалять хост, который Вы создали

sudo virtualhost delete mysite.local my_site

Просто обратите внимание, что "my_dir" предполагает, что запускается после/var/www

Таким образом, если Ваша папка сайта находится в/var/www/my_site

Необходимо работать, это (передайте путь к каталогу без/var/www) -

sudo virtualhost create mysite.local my_site

Можно также изменить файл сценария и удалить путь по умолчанию "/var/www" так, чтобы можно было передать полный путь каталогу сайта

0
ответ дан 21 March 2013 в 12:44

Другие вопросы по тегам:

Похожие вопросы: