Как настроить виртуальный хост для локальной разработки

Ubuntu 11.04 установлен с apache2 и установлены все соответствующие пакеты. Я пробовал большинство блогов и сделал google и другие форумы моими лучшими друзьями, но я не могу решить эту проблему.

Мне нужно настроить именованный виртуальный хост в моей локальной системе для разработки.

Я создал каталог «vivek» в /var/www и скопировал индекс index.html по умолчанию и отредактировал некоторые элементы.

Я добавил файл vivek.com в /etc/apache2/sites-available следующим образом :

# Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> 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>

Т.е. я добавил следующие строки

# Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>

К файлу по умолчанию, который уже присутствовал в папке «Доступные сайты» (взял резервную копию файл по умолчанию перед его редактированием)

Добавлено это в файл hosts, присутствующий в / etc / hosts

127.0.0.1 localhost 127.0.1.1 vivek-PC 127.0.0.1 www.vivek.com

. Выполнялись следующие операции без ошибок:

root@vivek-PC:~# a2ensite vivek.com Enabling site vivek.com. Run '/etc/init.d/apache2 reload' to activate new configuration! root@vivek-PC:~# /etc/init.d/apache2 reload * Reloading web server config apache2

Когда я ввел www.vivek.com, он дал мне индекс index.html по умолчанию в /var/www, но не один из присутствующих в папке / var / www / vivek, который редактируется.

Позже я редактировал index.html из /var/www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый файл, который продолжает появляться, когда я запрашиваю www.vivek.com

. Ирония заключается в том, что после перезапуска - Apache придумал отлично, но мой сайт - www.vivek.com не удалось показать (даже с index.html, который скрыт, бог знает где!). Теперь мой браузер показывает «Невозможно подключиться»

Пожалуйста, помогите. вы пытались установить это с недели без успешного результата.

10
задан 4 July 2011 в 18:33

16 ответов

Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 25 July 2018 в 21:37

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 25 July 2018 в 21:37
Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 31 July 2018 в 11:56

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 31 July 2018 в 11:56
Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 2 August 2018 в 03:14

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 2 August 2018 в 03:14
Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 4 August 2018 в 19:08

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 4 August 2018 в 19:08
Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 6 August 2018 в 03:26

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 6 August 2018 в 03:26
Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию - до редактирования). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просматриваете файл в кеше , Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно используйте программу командной строки curl (которая не установлена ​​по умолчанию). Пример использования:

$ curl -i http://localhost/ HTTP/1.1 200 OK Date: Sat, 02 Jul 2011 00:42:01 GMT Server: Apache/2.2.17 (Ubuntu) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: "4507-b1-4a6fa3b114149" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html <html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>

Одна нота: я выполнил следующее в чистой установке apache:

Добавьте свой первый файл конфигурации в /etc/apache2/sites-available/vivek.com (оставьте /etc/apache2/sites-available/default нетронутым) Запустите sudo a2ensite vivek.com Запуск sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы. Однако сервер не запускался. Когда вы останавливаете сервер с помощью sudo /etc/init.d/apache2 stop и снова запускаете его с помощью sudo /etc/init.d/apache2 start, он вообще отказался. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

[Sat Jul 02 00:48:09 2011] [notice] Graceful restart requested, doing restart apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Sat Jul 02 00:48:09 2011] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничего не слушает порт 80, запустив sudo netstat -tpln. Я просмотрел конфигурацию и пришел к выводу, что строка Listen 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com. После этого я снова могу запустить сервер и использовать curl, я подтвердил, что сервер правильно отвечает на запросы.

KISS, ваш второй блок-хост является избыточным, поскольку он закрыт /etc/apache2/sites-available/default. Следующий файл конфигурации - /etc/apache2/sites-available/vivek.com:

<VirtualHost *:80> ServerName www.vivek.com DocumentRoot /var/www/vivek # Other directives here <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/vivek/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
6
ответ дан 7 August 2018 в 21:12

Существует сценарий, который делает это простым для вас - 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

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

1
ответ дан 7 August 2018 в 21:12

Существует сценарий, который делает это простым для вас - 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  

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

1
ответ дан 10 August 2018 в 09:31

Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию перед редактированием). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просмотр кэшированного файла. Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно, используйте программу командной строки curl (которая не установлена по умолчанию). Пример использования:

  $ curl -i http: // localhost / HTTP / 1.1 200 OK Дата: Сб, 02 июл 2011 00:42:01 GMT Сервер: Apache / 2.2.17 (Ubuntu  ) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: «4507-b1-4a6fa3b114149» Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text / html & lt; html & gt;  & lt; body & gt; & lt; h1 & gt; Он работает! & lt; / h1 & gt;  & lt; p & gt; Это веб-страница по умолчанию для этого сервера. & lt; / p & gt;  Программное обеспечение веб-сервера работает, но контент еще не добавлен. & lt; / p & gt;  & Lt; / тело & GT; & Lt; / HTML & GT;   

Одно замечание: я выполнил следующее по чистой установке apache:

  • Добавьте свой первый файл конфигурации в / etc / apache2 / sites- Доступно / vivek.com
  • (оставить / etc / apache2 / sites-available / default нетронутым)
  • Запустить sudo a2ensite vivek.com
  • Запустить sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы , Однако сервер не запускался. При остановке сервера с помощью sudo /etc/init.d/apache2 остановите и запустите его снова, используя sudo /etc/init.d/apache2 start , он отказался начинать с все. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

  [Сб июл 02 00:48:09 2011] [уведомление]  Запланированный перезапуск запрошен, выполнение перезапуска apache2: Не удалось достоверно определить полное доменное имя сервера, используя 127.0.1.1 для ServerName [Сб июл 02 00:48:09 2011] [warn] NameVirtualHost *: 80 не имеет VirtualHosts (98) Адрес  уже используется: make_sock: не удалось привязать к адресу 0.0.0.0:80, нет доступных сокетов для прослушивания, выключение Невозможно открыть журналы  

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничто не слушает порт 80, запустив sudo netstat -tpln . Я рассмотрел конфигурацию и пришел к выводу, что строка Слушать 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com . После этого я могу снова запустить сервер и использовать curl , я подтвердил, что сервер правильно отвечает на запросы.

KISS , ваш второй призрак блок избыточен, так как он покрыт / etc / apache2 / sites-available / default . Следующий файл конфигурации: /etc/apache2/sites-available/vivek.com :

  & lt; VirtualHost *: 80 & gt;  ServerName www.vivek.com DocumentRoot / var / www / vivek # Другие директивы здесь & lt; Directory & gt;  Параметры FollowSymLinks AllowOverride None & lt; / Directory & gt;  & lt; Directory / var / www / vivek / & gt;  Параметры Индексы FollowSymLinks MultiViews AllowOverride Нет Разрешить заказ, запретить доступ ко всем & lt; / Directory & gt;  & Lt; / VirtualHost & GT;   
6
ответ дан 10 August 2018 в 09:31

Существует сценарий, который делает это простым для вас - 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  

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

1
ответ дан 13 August 2018 в 15:40

Позже я редактировал index.html из / var / www, но я все еще получал тот же index.html (по умолчанию перед редактированием). Все index.htmls были отредактированы, но у Apache, похоже, есть скрытый, который продолжает появляться, когда я запрашиваю www.vivek.com

. Прочитав это, я думаю, что вы просмотр кэшированного файла. Вместо нажатия клавиши F5 или нажатия кнопки «Обновить» пропустите кеш при обновлении, нажав Ctrl + F5.

Альтернативно, используйте программу командной строки curl (которая не установлена по умолчанию). Пример использования:

  $ curl -i http: // localhost / HTTP / 1.1 200 OK Дата: Сб, 02 июл 2011 00:42:01 GMT Сервер: Apache / 2.2.17 (Ubuntu  ) Last-Modified: Fri, 01 Jul 2011 04:12:49 GMT ETag: «4507-b1-4a6fa3b114149» Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text / html & lt; html & gt;  & lt; body & gt; & lt; h1 & gt; Он работает! & lt; / h1 & gt;  & lt; p & gt; Это веб-страница по умолчанию для этого сервера. & lt; / p & gt;  Программное обеспечение веб-сервера работает, но контент еще не добавлен. & lt; / p & gt;  & Lt; / тело & GT; & Lt; / HTML & GT;   

Одно замечание: я выполнил следующее по чистой установке apache:

  • Добавьте свой первый файл конфигурации в / etc / apache2 / sites- Доступно / vivek.com
  • (оставить / etc / apache2 / sites-available / default нетронутым)
  • Запустить sudo a2ensite vivek.com
  • Запустить sudo /etc/init.d/apache reload

Я получаю те же сообщения, что и вы , Однако сервер не запускался. При остановке сервера с помощью sudo /etc/init.d/apache2 остановите и запустите его снова, используя sudo /etc/init.d/apache2 start , он отказался начинать с все. В журнале ошибок /var/log/apache2/error.log были обнаружены некоторые ошибки:

  [Сб июл 02 00:48:09 2011] [уведомление]  Запланированный перезапуск запрошен, выполнение перезапуска apache2: Не удалось достоверно определить полное доменное имя сервера, используя 127.0.1.1 для ServerName [Сб июл 02 00:48:09 2011] [warn] NameVirtualHost *: 80 не имеет VirtualHosts (98) Адрес  уже используется: make_sock: не удалось привязать к адресу 0.0.0.0:80, нет доступных сокетов для прослушивания, выключение Невозможно открыть журналы  

Так что порт 80, по-видимому, используется. Но если Apache еще не запущен, я могу подтвердить, что ничто не слушает порт 80, запустив sudo netstat -tpln . Я рассмотрел конфигурацию и пришел к выводу, что строка Слушать 80 должна быть удалена из вашего файла конфигурации /etc/apache2/sites-available/vivek.com . После этого я могу снова запустить сервер и использовать curl , я подтвердил, что сервер правильно отвечает на запросы.

KISS , ваш второй призрак блок избыточен, так как он покрыт / etc / apache2 / sites-available / default . Следующий файл конфигурации: /etc/apache2/sites-available/vivek.com :

  & lt; VirtualHost *: 80 & gt;  ServerName www.vivek.com DocumentRoot / var / www / vivek # Другие директивы здесь & lt; Directory & gt;  Параметры FollowSymLinks AllowOverride None & lt; / Directory & gt;  & lt; Directory / var / www / vivek / & gt;  Параметры Индексы FollowSymLinks MultiViews AllowOverride Нет Разрешить заказ, запретить доступ ко всем & lt; / Directory & gt;  & Lt; / VirtualHost & GT;   
6
ответ дан 13 August 2018 в 15:40

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

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