Локальный запуск нескольких сайтов Apache PHP Ubuntu - PullRequest
7 голосов
/ 25 августа 2009

Я пытаюсь запустить более одного виртуального хоста (?), Например: http: / localhost будет указывать на один проект, http: / newsite - на другой, а http: / myfavourite - на другой проект с другим корнем документа.

(каждый http: // является http: / here из-за ограничений размещения гиперссылок)

Мне не удалось найти место для редактирования файлов apache в / etc / apache2. Я ищу файл vhosts?

Любой совет был бы замечательным, спасибо.

Ответы [ 3 ]

9 голосов
/ 25 августа 2009

Вот глава электронной книги, которая объясняет, как создавать виртуальные хосты, чтобы делать именно то, что вы хотите - и примеры используют Ubuntu: Создание локального домена с использованием виртуальных хостов Apache

В двух словах:

  • Сначала необходимо создать VirtualHost
  • Затем вам нужно отредактировать файл хостов (в Linux это /etc/hosts), чтобы новое «псевдодоменное имя» указывало на ваш компьютер.

Для VirtualHost с Ubuntu вы создадите новый файл в /etc/apache2/sites-available/; например с именем your-site.com; он будет содержать что-то вроде этого:

<VirtualHost *:80>
    ServerName your-site.com
    DocumentRoot /.../www/...

    <Directory /.../www/...>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

И вы регистрируете этот файл, чтобы он загружался Apache, с помощью этой команды:

sudo a2ensite your-site.com

А затем перезагрузите Apache:

sudo /etc/init.d/apache2 reload


Затем вам нужно отредактировать / etc / hosts, чтобы добавить строку вроде этой:

127.0.0.1       your-site.com

Таким образом, your-site.com фактически указывает на ваш собственный компьютер.


Важно, чтобы имя, используемое для доступа к вашему веб-сайту в браузере, было объявлено в файле hosts; он также должен совпадать с тем, который используется Directivr ServerName в конфигурации Apache.


Когда вы сделаете это для одного VirtualHost ... Это точно так же для всех остальных: измените только название сайта и DocumentRoot.


Надеюсь, это поможет!

4 голосов
/ 25 августа 2009

Вы можете отредактировать ваш / etc / hosts и добавить несколько имен, указывающих на 127.0.0.1, а затем добавить записи VirtualHost для каждого из этих имен. В зависимости от вашего сервера конфигурация может быть в /etc/apache2/conf/httpd.conf или в / etc / apache2 / sites-available Если это последнее, то здесь - это первое попадание Google, которое я получил для конфигурации.

1 голос
/ 25 августа 2009

localhost не имеет ничего общего с apache, но является псевдонимом вашей машины (ip 127.x.x.x).

вам придется отредактировать /etc/hosts, чтобы выполнить то, что вы хотите.

почему ты хочешь это сделать? http://localhost/newsite не достаточно?

...