7

Я пытался настроить сервер CentOS впервые (когда-либо настраивал сервер Linux). Установка прошла нормально, я установил LAMPP (и необходимые зависимости для x86), использовал инструмент безопасности lampp и перешел на http://192.168.0.112:8888/ используя elinks.

Все идет нормально... Но затем я хотел получить доступ к серверу с других компьютеров в моей сети (включая хост виртуальной машины). Но я не могу заставить его работать и продолжать получать 404-е ...

Обратите внимание, что у меня есть другой веб-сервер, работающий в этой сети (на порту 80), поэтому я изменил Listen 80 на Listen 8888 в httpd.conf и перенаправил 8888 в моем маршрутизаторе на IP с установки CentOS (статический: 192.168.0.112 , согласно Ifconfig).

Пинг 192.168.0.112 возвращает:

Ping statistics for 192.168.0.112:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Детали сервера:

  • CentOS 6.5 минимальный, установлен из .iso
  • LAMPP 1.8.1 (через wget с сайта apachefriends.org)

Детали хоста:

  • Windows 8.1 x64
  • VirtualBox использует сетевой мостовой адаптер (перевод с голландского: сетевой мостовой адаптер Netwerk)

Есть идеи, как решить эту проблему? Я относительно плохо знаком с сетями и серверами, так как я сам являюсь разработчиком внешних интерфейсов, но я действительно хочу заняться внутренними разработками.

Становится очень поздно, так что я иду спать. Надеюсь, я получу хорошее представление о том, как работает сеть /CentOS по утрам!

Заранее спасибо.

4 ответа4

12

У меня тоже была эта проблема. По твоему описанию у меня были такие же настройки, как и у тебя. Оказалось, что у меня установлен firewalld и он работает, и мне пришлось использовать команды:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Это позволило мне получить доступ к серверу apache работающему на моей виртуальной машине, из-за пределов виртуальной машины.

3

Запустите следующие команды:

iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

Чтобы сохранить изменения, перейдите в /etc /sysconfig / и добавьте следующую строку в iptables:

-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

Затем перезапустите веб-сервер:

service httpd restart

И теперь вы можете получить доступ из VirtualBox.

0

Более чем вероятно, конфигурация виртуального хоста внутри Apache. Там есть раздел, который скажет «разрешить от [чего-то]». Убедитесь, что написано "разрешить всем".

Вот как выглядит моя;

<Directory /var/www/>
    Options FollowSymLinks
    AllowOverride AuthConfig FileInfo Limit
    Order allow,deny
    allow from all
</Directory>

Мое личное мнение - вообще не использовать xampp. Вы на самом деле все усложняете. Просто используйте нативные пакеты в CentOS. Вот хороший учебник (из быстрого поиска Google)

https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-6

Или вы можете установить Ubuntu Server, и на этапе установки есть опция, которую вы можете проверить, чтобы установить LAMP. Он загрузит и установит все пакеты для вас.

Удачи.

0

Похоже, вы перенаправили трафик на своем маршрутизаторе на 192.168.0.112 когда вы действительно хотели 192.168.0.112:8888 . Было бы полезно узнать больше о том, с каких компьютеров вы можете и не можете пропинговать компьютер CentOS, как настроен маршрутизатор для перенаправления портов на него и каково содержимое /etc/httpd/conf/httpd.conf .

Кроме того, не должно иметь значения, что у вас есть другой веб-сервер в этой сети, если только вы не маршрутизируете в другую сеть, для которой вы хотите иметь доступ к этому веб-серверу, и оба веб-сервера будут иметь одинаковый внешний IP-адрес.

Если это так, то скажите, что ваш "внешний" ip - 10.10.10.10 а внутренний IP-адрес этого маршрутизатора - 192.168.0.1 . Предположим, что ваш веб-сервер CentOS находится на 192.168.0.112 как описано, а ваш другой сервер на 192.168.0.110 и размещает веб-сервер на порту 80 .

Поскольку вы хотели, чтобы 192.168.0.110 мог обслуживать HTTP-трафик устройств 10.10.10.* , Вы перенаправили 10.10.10.10:80 на 192.168.0.110 . Однако это не означает, что вы должны обслуживать веб-трафик через порт 8888 с 192.168.0.112 . Только если вы хотите получить доступ к 192.168.0.112 с устройств, которым требуется маршрутизировать через 192.168.0.1 , им нужен порт помимо 80 . Таким образом, в этом случае вы сохраните 192.168.0.112 обслуживания веб-страниц через порт 80 и будете перенаправлять входящий трафик с 10.10.10.10:8888 на 192.168.0.112:80 .

Наконец, тот факт, что вы получаете 404 сообщения в браузере, означает, что вы используете какой-то веб-сервер:

Сообщение об ошибке 404 или Not Found - это стандартный код ответа HTTP, указывающий, что клиент смог установить связь с сервером, но сервер не смог найти то, что было запрошено. (Википедия)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .