Меню Рубрики

Установка и настройка домашнего веб сервера

Установка и настройка домашнего веб сервера

В данной статье я опишу вариант настройки домашнего web сервера на базе операционной системы Linux Ubuntu Server.

Набор компонентов web сервера сокращенно называется LAMP — Linux, Apache, Mysql, PHP. Данная система будет использоваться для разработки сайтов, web приложений и плагинов, доработки CMS и т.д. Сервер будет подключен к локальной сети, удаленный доступ к системе — по SSH, возможность загрузки файлов по FTP, доступ к базе данных MySQL через phpMyadmin. Язык программирования — PHP, версия веб сервера — Apache2.

В качестве железа для данного сервера, я использовал старые комплектующие. Тут видео со сборкой.

Приступаем к установке ОС. Операционную систему я установил 32-х битную Ubuntu Server версии 14.04.5 — минимальный образ, для создания системы под свой список задач. Качаем с официального сайта http://ubuntu.ru/get.

Скачиваем iso образ по ссылке и устанавливаем на машину. Я ставил по-старинке, с диска. Старая материнка ни как не хотела загружаться с флешки.

ВНИМАНИЕ! Во время установки, при выборе программного обеспечения список компонентов оставляем пустым, т.к. все версии компонентов будем ставить свои.

Пробелом убираем все звездочки, жмем Enter для продолжения. В остальном вся установка по умолчанию.

По окончании установки система запросит пароль для root.

Настройка сети

Сразу после установки, заходим в систему под root. Первым делом нам нужно настроить сеть.

Просмотр сетевых интерфейсов командой:

Как мы видим, наш сетевой интерфейс имеет имя eth0. Настроим его. Для этого при помощи встроенного редактора Nano откроем файл конфигурации сетевых интерфейсов. Я оставил dhcp, т.к. ip адрес сервер будет получать автоматически от роутера.

Мой конфиг сети выглядит так:

Так же вы можете прописать сетевые настройки в ручную:

Я рекомендую оставить dhcp. Так же необходимо проверить чтобы присутствовала строка auto eth0 (автоматический запуск сетевого интерфейса).

После того как отредактировали файл конфигурации, сохраняем его (Сtrl + O), закрываем (Ctrl + X).

Проверяем есть ли интернет, например можно пропинговать какой нибудь ресурс:

Если пинг идет, значит сеть настроена и интернет есть. Можно приступать к установке компонентов сервера, но перед этим обновим систему:

Установка SSH

Для управления сервером удаленно, ставим SSH:

Теперь пробуем подключиться с нашему новому серверу по SSH. Для этого переходим на основной компьютер и ставим программу PuTTY. Качаем с сайта putty.org.ru/download.html.

Запускаем программу и пробуем соединиться с сервером: вводим ip адрес, порт по умолчанию 22, кнопку оставляем в значении SSH, жмем Connect.

Должно появиться: login as:

Если все получилось, то все остальные настройки сервера мы будем проводить удаленно. Можно отключать от сервера все периферию и оставить только кабель питания и ethernet.

Установка и настройка FTP

Для передачи файлов на сервер, устанавливаем FTP сервер:

Редактируем файл конфигурации FTP при помощи редактора Nano:

Добавляем в систему пользователя FTP по имени Петр

Переходим в директорию home

Создаем группу пользователей

Добавляем Петра в группу пользователей myusers

Создаем для пользователя папку (папки)

Поднимаемся на уровень выше

Задаем пользователю права на его папки

Перезапускаем фтп сервер, чтобы сохранить настройки

FTP сервер настроен. Пробуем подключиться по FTP при помощи программ FileZilla FTP Client или Total Commander. Если используете FileZilla, то порт по умолчанию 21, быстрое соединение. Если Total Commander — FTP — Новое FTP соединение — Убрать галку «Анонимное соединение». Далее ip адрес, имя пользователя, пароль.

Установка web сервера Apache 2 + PHP + MySQL

Устанавливаем сам веб сервер:

Устанавливаем zip для работы с архивами:

Установка PHP. Устанавливаем интерпретатор языка PHP, чтобы скрипты написанные на нем могли исполняться на сервере:

Ставим модуль веб сервера

Если phpmyadmin выдает ошибку Not found, то вводим в консоль следующую строку

Установка файлового менеджера MC

Запуск файлового менеджера

Редактируем файл конфигурации веб-сервера.

Сервер готов к использованию!

Подробнее процесс установки у меня показан на видео:

источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как веб-сервер на своём компьютере сделать доступным для других

После установки веб-сервера может понадобиться сделать его доступным для других в локальной или глобальной сети. Это может быть нужно, например, чтобы тестировать свой сайт на разных платформах (посмотреть, как выглядит сайт на мобильных телефонах) или если вы создали сервис (файлообменник, чат и т.п.), который должен быть доступен для других.

Локальные и глобальные компьютерные сети

Чтобы добиться нужного результата, необходимо знать, что компьютерные сети бывают локальными и глобальными. Пример локальной сети: домашний роутер, к которому подключены компьютеры и мобильные устройства. Глобальная сеть – это Интернет.

Читайте также:  Установка порогов шкода йети

Глобальная сеть и локальные сети различаются IP адресами. Каждое сетевое устройство в любой сети должно иметь свой уникальный IP адрес. Особенностью IP адресов в глобальной сети является то, что они уникальны на глобальном уровне, т.е. к Интернету не могут быть подключены устройства, у которых одинаковый IP. В локальных сетях IP адреса также уникальны, но уникальны они только на локальном уровне: т.е. в вашей домашней сети IP адрес, к примеру, 192.168.0.2 может быть только у одного устройства, иначе это вызовет проблемы; но у других пользователей, имеющих свои локальные сети, в этих сетях также может использоваться IP адрес 192.168.0.2.

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

Примечание: Я знаю про NAT (технология, позволяющая нескольким устройствам иметь Интернет-подключение через один IP адрес), про объединение локальных сетей с помощью другой локальной сети, про туннелированние и т.д., но сознательно пропускаю это для упрощения.

Локальные и глобальные IP адреса

Чтобы не запутаться в терминологии, глобальный IP адрес ещё называют «внешним», «белым» — это разные обозначения одного и того же.

Локальный IP адрес называют «внутренним», «серым», «приватным» — это всё одно и то же.

Работа домашней (локальной) сети, в которой присутствует роутер и несколько устройств, подключённых к роутеру, обычно выглядит следующим образом:

  1. Роутер подключается к Интернет-провайдеру. Интернет-провайдер назначает роутеру внешний IP адрес, который позволяет устанавливать соединения с глобальной сетью Интернет.
  2. Компьютеры по кабелю или Wi-Fi, а также мобильные телефоны через Wi-Fi подключаются к роутеру. Роутер раздаёт им локальные IP адреса.
  3. Если два устройства в локальной сети хотят обменяться данными, то они это делают через роутер, но сетевые пакеты не отправляются в глобальную сеть.
  4. Если какому-либо устройству понадобиться «выйти в Интернет», то он передаст соответствующий запрос роутеру, роутер подключится к нужному узлу в глобальной сети, роутер же получит ответ от узла в глобальной сети и передаст этот ответ устройству в локальной сети, которое сделало первоначальный запрос.

Настройка веб-сервера, чтобы его можно было открыть на других компьютерах в локальной сети

По умолчанию, веб-сервер Apache настроен отвечать всем, кто пытается к нему подключиться. Подключиться к компьютеру, а, следовательно, и к веб-серверу, проще всего по его IP адресу.

Если вы хотите открыть страницу локального веб-сервера на другом устройстве (компьютер, телефон), подключённом к этой же локальной сети, то достаточно в строке браузера набрать IP адрес компьютера, на котором запущен веб-сервер.

Как узнать локальный IP адрес

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

  • 10.0.0.0 — 10.255.255.255
  • 100.64.0.0 — 100.127.255.255
  • 172.16.0.0 — 172.31.255.255
  • 192.168.0.0 — 192.168.255.255

Причём, если вы не меняли настройки роутера, чаще всего используется диапазон 192.168.0.0 — 192.168.255.255. Скорее всего, ваш компьютер имеет адрес вида 192.168.0.* или 192.168.1.*. Но какой именно?

В Windows чтобы узнать локальный IP адрес откройте командную строку (нажмите Win+x, и выберите Windows PowerShell). В открывшемся окне выполните команду

У вас, наверное, будет меньше сетевых устройств, но в любом случае, для всех из них будет выведена информация, в том числе IP адреса.

Мой компьютер имеет локальный IP адрес 192.168.0.90. Если я, например, в телефоне, подключённому по Wi-Fi к роутеру наберу в адресной строке 192.168.0.90, то откроется веб-страница моего локального веб-сервера, запущенного на компьютере (да, у меня там бардак):

Внимание: если у вас не получается открыть веб-сервер, хотя IP адрес введён правильно – попробуйте отключить файервол. Если это помогло, то файервол можно включить, но настройте исключение для 80 порта.

Всё довольно просто, но имеется проблема – после перезагрузки компьютера IP адрес, скорее всего, изменится. Т.е. чтобы вновь открыть локальный веб-сервер понадобится проверять IP адрес и сообщать его другим желающим посетить ваш локальный веб-сайт.

Как уже было сказано, локальный IP адреса «раздаёт» роутер. Адреса являются произвольными в рамках данной подсети.

Чтобы исправить ситуацию с постоянно меняющимся локальным IP, давайте познакомимся с такими понятиями как динамичный и статичный IP адреса.

Читайте также:  Установка визуальных закладок для firefox

Динамичный IP адрес выдаётся произвольно (роутером, Интернет-провайдером). Он может меняться при последующих подключениях.

Статичный IP адрес закреплён за сетевым интерфейсом (фактически, закреплён за компьютером, мобильным телефоном). Он не меняется при последующих переключениях.

В локальной сети, по умолчанию используются динамичные IP адреса, но это легко изменить.

Имеется, как минимум, два способа поменять динамичный локальный адрес на статичный локальный адрес:

  • в настройках сетевого интерфейса (на компьютере, в мобильном телефоне)
  • в настройках роутера

Не нужно делать изменения и там, и там – достаточно сделать настройки или на компьютере, или в роутере. Принципиальной разницы нет, какой именно метод вы будете использовать.

Настройка постоянного IP в Windows

Для настройки статичного локального адреса на компьютере откройте «Сетевые подключения». Проще всего это сделать набрав в командной строке Windows:

Выберите интересующий вас сетевой адаптер (сетевой подключение), нажмите на него правой кнопкой мыши и выберите «Свойства»:

В открывшемся окне выберите «IP версии 4 (TCP/IPv4)» и нажмите кнопку «Свойства»:

Переключите на «Использовать следующий IP адрес».

Теперь нужно заполнить все поля. Первые три поля являются взаимосвязанными и также связаны с роутером. Когда ранее мы смотрели свой локальный IP адрес, нам также была показана такая информация как Маска подсети (на моём скриншоте это 255.255.255.0) и Основной шлюз (на моём скриншоте это 192.168.0.1). Посмотрите ваши значения (вполне вероятно, что они будут такими же) и введите их в поля «Маска подсети» и «Основной шлюз». Кстати, основной шлюз – это адрес роутера. Очень часто локальными адресами роутера являются 192.168.0.1 и 192.168.1.1

В поле IP-адрес введите желаемый IP. Он должен соответствовать вашей сети. Т.е. если роутер имеет IP 192.168.0.1, то компьютер должен иметь IP вида 192.168.0.* (например, 192.168.0.100), если роутер имеет IP 192.168.1.1, то компьютер должен иметь адрес вида 192.168.1.* (например, 192.168.1.100).

Чтобы не было проблем, устройства в одной локальной сети не должны иметь одинаковый IP адрес.

В качестве DNS серверов («Предпочитаемый DNS-сервер» и «Альтернативный DNS-сервер») введите 8.8.8.8 и 8.8.4.4 соответственно.

У меня получилось так (для компьютера я выбрал IP 192.168.0.100):

Закройте окна с сохранением настроек.

Теперь при каждом подключении ваш компьютер будет иметь один и тот же IP адрес.

Настройка статичного IP в роутере

Для каждого роутера детальная инструкция по настройке различается. Но схема общая: в настройках локальной сети перейдите к настройкам DHCP-сервера, выберите желаемые компьютеры/телефоны по MAC-адресу и привяжите их к определённым локальным IP адресам.

Как открыть веб-сервер для доступа из Интернета

Поскольку Apache по умолчанию прослушивает все сетевые интерфейсы и отвечает всем, то можно предположить, что если в веб-браузере ввести глобальный адрес, то мы увидим наш веб-сайт.

Если кабель Интернет-провайдера подключён к вашему компьютеру напрямую, то, вероятно, доступ по IP адресу будет работать (имеются нюансы с NAT).

Но если вы используете роутер, то IP адрес принадлежит роутеру. Если из Интернета приходит запрос на роутер, то он просто не знает, какому именно устройству в локальной сети переадресовать этот запрос. Более того, большинство роутеров имеют свой собственный веб-сервер – это он показывает страницы с настройками роутера в веб-браузере.

Поэтому для того, чтобы ваш локальный сайт начал быть видимом в Интернете, необходимо настроить переадресацию портов.

Переадресация портов доступна для настроек локальной сети и для настроек Интернет-подключения – нам нужно именно второе.

В роутере перейдите в настройки Интернета, найдите там переадресацию портов. Некоторые роутеры поддерживают Переключение портов – нам это не подойдёт.

В качестве порта для переадресации выберите 80, введите локальный IP адрес компьютера, на котором размещён веб-сервер и введите порт, на который будет происходить переадресация – 80, протоколTCP.

Теперь мой веб-сервер доступен также по внешнему IP:

Кстати, чтобы узнать свой внешний IP адрес перейдите на эту страницу: https://suip.biz/ru/?act=myip

Как сделать глобальный IP адрес статичным

Вы столкнётесь с той же проблемой, что и для локального IP адреса – скорее всего, ваш внешний IP адрес является динамичным и будет время от времени меняться. Если вам нужен статичный IP адрес, то, скорее всего, его придётся покупать у вашего Интернет-провайдера как дополнительную услугу с ежемесячной абонентской платой.

Очень хороший хостинг сайтов

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

Читайте также:  Установка детали на карусельный станок

источник

Домашний веб-сервер, или сам себе хостинг-провайдер

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

Делать сервер буду из старого нетбука Samsung N102SP со сломанной клавиатурой, для небольших нагрузок его вполне достаточно, к тому же он маленький и совсем не шумит. Интернет дома у меня раздаётся wifi роутером tp-link TL-WR840N, через него и буду подключать свой сервер.

Ставить буду Centos 7, качаем отсюда минимальный образ (Minimal ISO), образ записываю на флешку с помощью программы Rufus. Теперь надо загрузить нетбук с флешки, и тут возникает первая проблема, так как клавиатура не работает, не могу войти в биос, внешнюю usb клавиатуру он не видит, сброс биоса решает проблему (в нетбуке Samsung N102SP биос сбрасывается замыканием контактов rtc reset под крышкой memory, замыкать надо на 30 секунд), выбираем в биосе приотритетную загрузку с флешки и начинаем установку, даже при минимальной версии Centos 7 устанавливается в графическом режиме. Никаких сложностей с установкой возникнуть не должно, удаляем все старые разделы на диске и отдаём все под Centos, устанавливаем пароль root и прописываем настройки сети, в моем случае подключаемся к домашней сети wifi (это можно сделать и потом с помощью команды nmtui), несколько минут и Centos 7 установлен.

Заходим под root. Останавливем firewall командой «systemctl stop firewalld», отключаем firewall из автозагрузки командой «systemctl disable firewalld». Пока он нам не нужен, настроим firewall позже. Еще надо обязательно отключить спящий режим при закрытии крышки нетбука, для этого надо в файле /etc/systemd/logind.conf заменить строку «#HandleL >
Теперь можно мой нетбук поставить в удаленный угол и забыть про его физическое существование, все дальнейшие действия со своим домашним веб-сервером можно произвоить через ssh.

Теперь нужно настроить wifi роутер, в случае с tplink открываем tplinkwifi.net логин и пароль по умолчанию admin, в разделе «Состояние» смотрим состояние WAN, IP адрес должен быть статическим и не должен начинаться с 192.168.х.х, 172.х.х.х, 10.х.х.х, в противном случае свяжитесь с провайдером и попросите предоставить внешний IP, скорее всего это можно сделать и через личный кабинет, мой провайдер предоставил мне IP за 90 рублей в месяц. Все новые настройки нужно прописать в разделе «Сеть/WAN». Теперь нужно зарезервировать внутренний IP адрес на роутере для нашего сервера, заходим в раздел «DHCP/Список клиентов DHCP» и находим там наш сервер (чтобы узнать IP на сервере наберите команду ifconfig), после копируем MAC-адрес и переходим в раздел «DHCP/Резервирование адресов» и добавляем там MAC-адрес нашего сервера и его IP. Всё, теперь роутер всегда будет выделять для нашего сервера этот IP. Теперь надо пробросить порты, чтобы при обращении из интернета роутер отправлял запросы на домашний веб-сервер, заходим в раздел «Переадресация/Виртуальный сервер» и добавляем 80 порт. Также добавляем 22 порт, чтобы можно было подключаться к серверу через ssh. У меня при добавлении 80 порта возникала ошибка «Порт удалённого управления веб-интерфейсом конфликтует с портом виртуального сервера». Чтобы этого избежать предварительно изменим порт удалённого управления на 8080, для этого откроем вкладку «Защита/Удалённое управление». Теперь управление роутером доступно по адресу tplinkwifi.net:8080/

Для удалённого управления веб-сервером качает утили Putty с www.chiark.greenend.org.uk/

Теперь для полнофункционнальной работы веб-сервера установим необходимые компоненты, первым делом подключим репозиторий Epel, там есть практически всё необходимое для автоматической установки, вводим команду «yum install epel-release». Затем для отслеживания состояния сервера устанавливаем htop командой «yum install htop», для удобной работы с файлами усталавливаем midnight commander, командой «yum install mc», теперь ставим Apache, для этого вводим «yum install httpd», запускаем и ставим в автозагрузку командами «systemctl start httpd» и «systemctl enable httpd», теперь установим MariaDB командой «yum install mariadb-server», аналогично запускаем и ставим в автозагрузку «systemctl start mariadb» и «systemctl enable mariadb», производим первичные настройки при помощи команды «mysql_secure_installation», устанавливаем root пароль, удаляем анонимного пользователя и тестовую базу, затем нужно устанавить PHP с необходимыми модулями «yum install php php-mysql php-common php-mbstring php-mcrypt php-devel php-xml php-gd», перезагружаем httpd командой «systemctl restart httpd». Теперь при вводе в браузере IP адреса видим приветственную страницу Apache. Корневой каталог находится в «/var/www/html/». Вот теперь наш домашний веб-сервер доступен с любой точки планеты.

источник

Добавить комментарий