Я установил XAMPP, и он работает нормально, localhost показывает все, что ему нужно (у меня есть вики, расположенная в / mediawiki /, и мини-сайт статических веб-страниц в / site /). Запуск Windows 7.
Прежде чем я попытался получить доступ к моему серверу из-за пределов моей сети, я мог получить доступ к своей вики из моей сети, просто перейдя на IP-адрес машины (192.168.1.69/mediawiki). Но я хочу, чтобы эта вики была доступна извне. Я потратил ~ 10 часов на то, чтобы гуглить, пытаясь заставить его работать.
Мой сервер выдает статические IP-адреса, поэтому мне не нужно какое-либо программное обеспечение для обновления DynDNS, но я настроил учетную запись DNS для своего (WAN) IP-адреса (назовем его 75.xxx) с freedns.afraid.org (потому что бесплатно). Я пытался отредактировать файл httpd.conf несколько раз, пытаясь заставить его работать, устанавливая ServerName 192.168.1.69, 75.xxx, домен DNS, который я установил, 0, * - ничего не сработало, я не могу подключиться от сервера извне сети. В довершение всего, теперь я не могу подключиться к серверу вне сети, хотя я восстановил резервную копию исходного httpd.conf (которую я сделал на всякий случай).
httpd.conf настроен на прослушивание порта 80, и вся пересылка выполняется как на маршрутизаторе, так и через брандмауэр Windows (как входящие, так и исходящие на всякий случай). Я пробовал это с другим открытым портом, но все равно ничего. На данный момент я не знаю, что мне не хватает, потому что я чувствую, что перепробовал все, что смог найти в Google.
Хорошо, осталось всего несколько моментов, которые помогут вам начать работу:
1) Убедитесь, что у вас есть XAMPP. Из браузера на вашем компьютере вы сможете перейти на свой сайт, используя 127.0.0.1. Если это сработает, то ваш apache, по крайней мере, работает и обслуживает страницы.
2) Чтобы не усложнять httpd.conf, верхняя часть VirtualHost должна выглядеть так:
<VirtualHost *:80>
ServerName example.com [your domain name]
DocumentRoot /var/www/html [path to your root directory of your web site]
...
*: 80 указывает ему прослушивать все IP-адреса на порту 80 ServerName сообщает ему, что он должен применять этот VirtualHost к любому запросу для этого доменного имени. ПРИМЕЧАНИЕ. Часто используется ServerAlias www.example.com, иначе он не определит, что www. то же самое. DocumentRoot сообщает ему, откуда он получает файлы.
3) Убедитесь, что настройки вашей сети верны - статический IP-адрес, шлюз и т. Д., Чтобы
подключение к вашей машине действительно может быть выполнено.
4) С внешнего компьютера проверьте свой IP-адрес, чтобы убедиться, что вы можете по крайней мере связаться с ним и что между двумя компьютерами нет сетевых проблем. Затем на другом компьютере откройте браузер и в поле URL введите http://[your external ip]
. Вы можете быть страницей приветствия apache или запрещенной страницей или другими вещами в зависимости от ваших настроек, но это должно по крайней мере дать вам что-то. Это означает, что браузер внешних компьютеров устанавливает допустимое соединение с вашим веб-сервером.
5) DNS теперь является последним шагом для решения. Вы хотите минимально связать запись A со своим IP-адресом. Обычно вы обрабатываете это у регистратора, у которого вы купили свое доменное имя, если вы вручную не измените серверы имен, которые вы используете. Если вы используете регистраторы, есть место, обычно называемое «Управление DNS» или «Файл зоны» или что-то подобное. Вы хотите направить tld (домен верхнего уровня) на IP-адрес вашего компьютера. Вы также должны добавить запись CNAME для www, которая указывает на tld. Пример:
example.com A 1.2.3.4
www.example.com CNAME example.com.
Это в значительной степени простота. Ваши вехи: A) Убедитесь, что вы можете заставить apache работать локально, затем B) убедитесь, что ваш компьютер может быть поражен через Интернет или внутреннюю сеть и C) настроить DNS, чтобы они могли использовать домен вместо IP .