Какие шаги необходимы для размещения веб-сайта в Ubuntu с использованием Apache2?

Я успешно запустил один сайт на apache2 с помощью учебника. Мой второй веб-сайт, я не могу получить доступ локально, и я не знаю почему.

Вот шаги, которые я выполняю:

  1. скопировать мой сайт в папку /data/mywebsite
  2. создать символическую ссылку на /var/www/mywebsite
  3. настроить /etc/apache2/sites-available/mywebsite как this:
<VirtualHost *:80>
        ServerAdmin me@localhost.de
        ServerName localhost
        DocumentRoot /var/www/mywebsite

        <Directory /var/www/mywebsite>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

теперь я включаю эту страницу, используя apache2, а затем перезапускаю apache2

sudo a2ensite mywebsite
sudo service apache2 restart

, но вместо своей страницы я вижу только моя папка www. Я предполагаю, что связал что-то не так. Нужно ли иметь эту косую черту / позади mywebsite или что-то в этом роде?

Я пробовал ВСЕ, о чем я могу думать в течение нескольких часов.

Я также попытался запустить его на другом порту и добавить порт к своему apache2 ports.conf. все еще безуспешно.

Любой совет будет наиболее полезным.

0
задан 13 August 2013 в 17:09

2 ответа

Если у Вас есть несколько сайтов на одном Apache httpd сервер, необходимо отправить полную конфигурацию (оба VirtualHost).

Я собираюсь отправить конфигурацию в качестве примера двух серверов Apache сайта, тот, который служит www.example.com и один для www.example.org:

файл:/etc/apache2/sites-available/example-com

<VirtualHost 172.20.30.50>
DocumentRoot /var/www/example.com/
ServerName www.example.com

# Other directives here ...

</VirtualHost>

файл:/etc/apache2/sites-available/example-org

<VirtualHost 172.20.30.50>
DocumentRoot /var/www/example.com/
ServerName www.example.com

# Other directives here ...

</VirtualHost>

Если оба Ваших сайта указывают на: localhost, только один сайт покажет, каждый предшествует другому, другими словами, имеет более высокий приоритет. Это - wha, для которого директива "Имени сервера" там. Это будет служить тем, кто пробует к ener что ServerName.

Таким образом, если Вы только тестируете вещи на своем localhost, просто используйте тот же VirtualHost и используйте подпапки. Один сайт в: /var/www/site1 и другой в /var/www/site2, и укажите на свой браузер на: http://localhost/site1 или http://localhost/site2.

Другое решение, если Вы не хотите иметь подпапки в своем URL, состоит в том, чтобы обойти Ваш поиск DNS и просто вызвать некоторые доменные поиски через /etc/hosts файл. Вот пример (Вы хотите добавить к 127.0.0.1 строкам в конце):

файл:/etc/hosts

127.0.0.1 localhost example.com example.org

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

Для получения дополнительной информации: http://httpd.apache.org/docs/2.2/vhosts/examples.html

2
ответ дан 13 August 2013 в 17:09

Я не знал об этом, но я несколько минут играл, чтобы посмотреть, как это работает.

Я думаю, что вы все делали правильно, но, как уже упоминалось, вы должны добавить что-то вроде ServerName www.site1.com в конфигурацию (не localhost ). Затем включите сайт, перезапустите Apache и т. Д.

Кроме того, как отмечено в http://httpd.apache.org/docs/current/vhosts/examples.html : «Сервер Apache магическим образом не вызывает создание записей DNS для этих имен хостов. . Вы должны иметь имена в DNS, преобразуясь в ваш IP-адрес ".

Для локального тестирования вы можете отредактировать файл / etc / hosts и добавить имя сайта (использованный выше www.site1.com ) в качестве псевдонима для localhost, изменив строка с надписью 127.0.0.1 localhost - 127.0.0.1 localhost www.site1.com (замените www.site1.com названием вашего сайта). Затем перезапустите браузер и укажите его название, чтобы увидеть, работает ли он.

Или вы можете забыть обо всех этих конфигурациях и просто написать localhost / mywebsite в своем браузере, чтобы получить доступ к вашему сайту, но, похоже, это не то, что вам нужно.

0
ответ дан 13 August 2013 в 17:09

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

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