Wamp застрял на "сервер оффлайн" после изменения каталога


Я хотел изменить папку, из которой Wamp читает свои файлы, из папки www внутри папки wamp в другое место.

Я попытался изменить файл httpd.conf и заменить каждое вхождение исходной папки www моей новой папкой. Проблема в том, что после того, как я это делаю и запускаю Wamp, он застревает на оранжевом значке с сообщением "сервер оффлайн" и, кажется, не запускается. Когда я изменяю файл httpd.conf обратно на то, что он был Wamp удается запустить успешно.

Что я делаю не так? Как я могу изменить папку www и все еще иметь работающий Wamp?

2 2

2 ответа:

Для этого лучше всего создать Virtual Hosts. Оставьте вещи вампиров там, где они есть, и создайте Virtual Hosts для каждого из ваших проектов.

Как создать виртуальные хосты в WAMPServer

ПРЕЖДЕ ЧЕМ ДЕЛАТЬ ЧТО-ЛИБО ИЗ ЭТОГО, ПОЖАЛУЙСТА, УБЕДИТЕСЬ, ЧТО APACHE И MYSQL РАБОТАЮТ ПРАВИЛЬНО!!!

Создайте новую папку вне структуры каталогов wamp. Эта папка может находиться на любом диске, видимом для ПК под управлением wamp. Так что если вы установили WAMP на C:\ это может быть включено D:\ или E: \ etc

C:\websites

Создайте вложенную папку в c:\websites для каждого сайта, который вы хотите создать. например:

C:\websites\site1
C:\websites\site2

Отредактируйте файл C:\wamp\bin\apache\apachex.y. z\conf\extra\httpd-vhosts.conf, где x, y и z-номера версий apache, которые вы фактически установили.

Примечание: Если вы переключаетесь между 2 или более версиями apache, это должно быть сделано для всех ваших версий apache по очереди.

Предложение: мне нравится использовать формат sitename.Дэва дайте мне понять, что я имею дело с моей копией разработки localhost сайта, вы можете предпочесть другую нотацию, это нормально, слово dev не имеет фактического определенного значения в этом случае, это просто мой способ назвать мои версии разработки живого сайта.

Удалите строки, которые уже существуют в этом файле. Это всего лишь примеры.

NameVirtualHost *:80

## must be first so the the wamp menu page loads when you use just localhost as the domain name
<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "C:/wamp/www">
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from localhost
        Allow from ::1
    </Directory>
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "C:/websites/site1"
    ServerName site1.dev
    ServerAlias www.site1.dev
    Options Indexes FollowSymLinks
    <Directory "C:/websites/www/site1">
        AllowOverride All
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from localhost
        Allow from ::1
    </Directory>
</VirtualHost>

Добавьте столько, сколько вам нужно, чтобы каждый из ваших сайтов имел один, изменяя DocumentRoot, ServerName и любые другие параметры как подходящий. Это также позволяет вносить изменения в конфигурацию для конкретного сайта.

Примечание: это приведет к тому, что функция WAMP manager "Put Online" больше не будет иметь никакого влияния на эти новые сайты vhost'Ed, поскольку безопасность для каждого из них теперь является частью определения vhost, поэтому оставьте WAMP, OFFLINE. Если вы хотите подключить один или несколько сайтов, вам придется вручную изменить команды Allow в httpd-vhosts.файл conf.

Для проверки подсети выполните следующие действия: Запуск команды окно, и бегите

ipconfig

Найдите строку "Default Gateway" в выходных данных и используйте третье число в командах Allow.

Отредактируйте httpd.conf файл и поиск этих строк, они находятся в нижней части файла.

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Удалите символ комментария " # " в этой строке, чтобы включить ваши недавно измененные vhosts, это заставит apache зарегистрировать их существование.

Все еще редактируя httpd.поиск файла conf для этого раздела это

onlineoffline tag - don't remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

НЕ МЕНЯЙТЕ ЭТИ СТРОКИ!

Добавьте следующее после тега , чтобы обеспечить безопасность вашего нового C:\websites папка.

<Directory "C:/websites/">
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from localhost
    Allow from ::1
</Directory>

Это делается для обеспечения безопасности вашей новой структуры каталогов, чтобы доступ к этим новым сайтам был разрешен только с 127.0.0.1 (localhost), если не будут внесены изменения из конкретного VHOST. Вы можете добавить к этому по мере изменения ваших требований. Например, если вы хотите, чтобы кто-то из вашей подсети имел доступ к вашему сайту(сайтам), вы можете добавьте 'Allow from 192.168.0' в этот список если вы находитесь в подсети 192.168.0, проверьте с помощью 'ipconfig'.

Теперь для того, чтобы ваш браузер знал, как добраться до этих новых доменных имен, т. е. site1.Дэв и site2.Дев, нам нужно сообщить windows, на каком IP-адресе они расположены. Существует файл под названием HOSTS, который является пережитком тех дней, когда еще не были изобретены серверы доменных имен (DNS). Это способ дать хорошие легко запоминающиеся имена IP-адресам, что, конечно, и делают DNS-серверы теперь для всех нас.

Отредактируйте файл HOSTS, его можно найти в C:\windows\system32\drivers\etc , файл не имеет расширения. Windows защищает этот файл, поэтому вы должны быть администратором, чтобы иметь возможность сохранять изменения в этом файле.

Если вы используете VISTA или Windows7 / 8, вы можете думать, что вы администратор, но это не так!!!! Таким образом, чтобы отредактировать этот файл, вы должны запустить свой редактор или блокнот определенным образом, чтобы получить права администратора. Для этого найдите значок редактора и запустите его, используя следующие ключевые штрихи: Shift + щелкните правой кнопкой мыши по его значку, появится меню, выберите пункт " Запуск от имени администратора "и нажмите кнопку" Разрешить " в появившемся диалоговом окне вызова.

Теперь вы готовы отредактировать файл hosts, поэтому перейдите в Редактор, чтобы c:\windows\system32\drivers\etc\hosts

Добавьте в этот файл следующие строки

127.0.0.1   site1.dev
127.0.0.1   site2.dev
Примечание: вам нужно будет добавить одну строку в этот файл для каждого из ваших новых виртуальных хостов.

В для того, чтобы Apache принял эти изменения, вы должны отскочить (остановить и перезапустить ) apache. Сделайте это с помощью: Wampmanager - > Apache - > Service - > Restart Service

Теперь вы можете использовать адрес site1.dev в вашем браузере, чтобы добраться до ваших новых сайтов. Скопируйте код вашего сайта в "C:/websites/xxxx" папка, если у вас уже есть сайт, закодированный или, поместите быстрый и простой индекс.php файл в "c:\websites\xxxx" папка, чтобы доказать это все завод.

Пример:

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>SITE1</title>
</head>
<body>
<?php
     echo '<div style="background-color:red;color;white;text-align:center;font-size:18px">HELLO FROM Site1</div>';
?>
</body>
</html>

УСТРАНЕНИЕ НЕПОЛАДОК:

Если вы использовали новое доменное имя (site1.dev) и он не нашел свой сайт. а. Проверьте изменения в файле hosts. B. перезагрузите "службу DNS", которая работает в windows. Это кэширует все имена doman, которые вы используете в браузере, чтобы браузеру не приходилось запрашивать DNS-сервер каждый раз, когда вы повторно используете доменное имя. Это может кэшировать вашу неудачную попытку, но перезагрузка проста и должна решить проблему. быстрее, чем повторная загрузка windows, которая также должна работать. Для этого запустите окно командной строки от имени администратора ( Shift + щелкните левой кнопкой мыши по значку окна командной строки ) и выполните следующие 2 команды.

net stop "DNS Client"
net start "DNS Client"

Примечание: кавычки необходимы, так как в имени службы есть пробел.

По-видимому, это было потому, что я попытался изменить свой каталог Wamp на что-то внутри Google Диска. Это решило мою проблему: https://stackoverflow.com/a/14444634/458152