Свой веб сервер дома

Все о локальных сетях и сетевом оборудовании

Как известно, наиболее надёжный, удобный и дешевый хостинг – это http://127.0.0.1.

Для чего же он может пригодиться. Во-первых, непосредственно как хостинг. Для частного пользования вряд ли, но в качестве корпоративного сайта – вполне. Во-вторых, как тестовая площадка для сайта. В-третьих, это просто интересно.

Так что же лучше использовать. Есть много оболочек для web–разработки. Они представляют собой портированные версии программ для Linux- и Unix-подобных систем. В их состав входят PHP, MySQL, Perl, Sendmail, Apache и многое другое. Только недостатки часто встречаются, среди которых неработающие части комплекса, отсутствие возможности перезапуска сервисов, нестабильная работа и дыры в безопасности. Как тестовую площадку, в принципе, можно использовать. Но не более того.

Веб сервер на ubuntu для локальной сети

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

Итак, предположим, что есть роутер с выходом в интернет. Также имеется тестовый сервер на Ubuntu Server 16 с именем webs. Необходимо установить web-сервер для тестирования проектов и их дальнейшей миграции на хостинг.

Будем использовать связку Apache + PHP + MySQL.

Перед установкой обновим систему.

sudo apt-get update

sudo apt-get upgrade

Установим Apache + PHP + MySQL.

sudo apt-get install apache2 php libapache2-mod-php php-mcrypt php-mysql mysql-server mysql-client php-gd

При установке обязательно указать пароль пользователя для MySQL.

В файл /etc/apache2/apache2.conf в самый конец добавим переменную ServerName. Это должно быть имя домена или IP адрес компьютера.

Домашний web сервер своими руками

Основная конфигурация установлена. Проверим работоспособность. Для этого перейдём по адресу http://192.168.0.160 и увидим приветственную страницу apache.

Проверяем работу PHP. По умолчанию корневая папка web-сервера находится в /var/www/html. Удаляем из неё файл index.html и создаём файл index.php.

rm /var/www/html/index.html|echo ‘ ’>/var/www/html/index.php

Если в браузере отображаются сведения о PHP, значит, всё работает.

Настройка Samba

Теперь надо настроить доступ к файлам web – сервера и доступ к web – серверу по имени. Без наличия настроенного DNS–сервера в сети сервер будет пинговаться исключительно по IP адресу. Поэтому надо установить и настроить Samba.

sudo apt-get install samba

Редактируем файл /etc/samba/smb.conf.

[Global]
netbios name = webs
security = user
map to guest = bad user

Создаём секцию для доступа к файлам.

[html]
comment = html
path = /var/www
browseable = yes
read only = no
guest ok = yes
directory mask = 0777
create mask = 0777

sudo service smbd restart

После перезапуска файлы WEB – сервера будут доступны по ссылке \webshtml

Имеем готовую площадку для экспериментов.

Доступ к локальному серверу из интернета

Теперь нужен доступ из интернета. Регистрируем бесплатное доменное имя в зоне .GA (Габона). Для этого идём на сайт http://www.freenom.com. Регистрируемся, ищем и регистрируем свободное имя. При регистрации указываем свой внешний IP – адрес. Этот сервис позволяет воспользоваться своим DNS, поэтому регистрировать имя на бесплатном DNS–сервере заранее нет необходимости. Через некоторое время имя будет реплицировано на сервера DNS и станет доступно.

В файле /etc/apache2/apache2.conf надо изменить переменную ServerName на зарегистрированное имя.

В настройках маршрутизатора необходимо сделать переадресацию порта № 80 на локальный IP – адрес сервера.

Читайте также  Символы для ников гроза

Не забываем включить защиту на роутере – роутер теперь имеет открытые порты, поэтому уязвим.

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

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

Ставить буду Centos 7, качаем с www.centos.org/download минимальный образ (Minimal ISO), образ записываю на флешку с помощью программы Rufus (http://rufus.akeo.ie/?locale=ru). Теперь надо загрузить нетбук с флешки, и тут возникает первая проблема, так как клавиатура не работает, не могу войти в биос, внешнюю 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/». Вот теперь наш домашний веб-сервер доступен с любой точки планеты.

Читайте также  Программа для копирования данных с флешки

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

На днях мне один человек написал комментарий, что у него не получает установить веб сервер LAMP, как я описывал это в своей статье, пишет: невозможно загрузить веб страницу так как не поступили данные от сервера.

Тогда я не смог ему ничего ответить, так как на тот момент у меня web сервер не был установлен.

Но из его слов я тогда уже догадался, что сервер apache2 что-то изменил в своей конфигурации, так как конфигурационные файлы, которые он мне присылал, сильно изменились.

Но вот я вчера решил установить сервер на домашнем компьютере, чтобы тестировать и дорабатывать свой сайт. (Если вы хотите поставить веб сервер прямо на windows, то читайте эту статью)

Но не тут то было, моя инструкция и вправду не работала, и мне так и не удалось с ходу настроить сервер apache. Я подумал и решил установить сервер nginx, который все нахваливают. Но его настройка оказалось ещё более сложной, и с ходу мне настроить сервер nginx не удалось.

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

Как сделать свой Веб-сервер с сайтом и доступом в интернет?

Хотя пройти онлайн курсы Cisco, для общего развития, было бы не плохо:)

Веб-сервер на виртуальной машине — ПЛЮСЫ:

1. После переустановки системы все настройки, сайты, базы данных сохранятся без дополнительных резервных копий.

2. Локальный web сервер можно будет запускать только по необходимости, и домашний сервер не будет постоянно забирать ресурсы компьютера.

3. Виртуальный web сервер можно легко перенести на другой компьютер.

Но как вы понимаете, устанавливать полноценный Linux для этого нет смысла, так как он будет забирать тоже много ресурсов. Лучше установить серверную версию Linux, например, Ubuntu Server. Но в этом случае все придётся долго устанавливать (сам сервер в том числе) и потом настраивать. А для неопытных это вообще не тот, что нужно.

Но есть более простой и удобный вариант: установить специальный mini linux дистрибутив, на котором уже всё установлено и настроено. И такие есть.

Домашний веб сервер за 5 минут!

Есть такой замечательный сайт — turnkeylinux.org , который предлагает БОЛЕЕ СТА таких сборок на все случаи жизни. Есть уже готовый Linux с установленным веб сервером и вордпрессом! Это как раз то, что мне и нужно.

Читайте также  Программа catalyst control center host application

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

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

А не увидел я ничего, так как оказалось, что моя виртуальная машина не поддерживает версию AMD-64, а сайт предлагает только такую сборку. Я уже было расстроился, но потом стал искать альтернативную x86 сборку и нашёл: скачать можно ТУТ ISO файлы, а ТУТ файлы для виртуальной машины — я скачал файл turnkey-wordpress-13.0-wheezy-i386-vmdk.zip (не забудьте раз архивировать файл)

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

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

Далее система спросит почтовый адрес, а после API KEY. Я пока не понял, зачем это нужно и поэтому шаг этот пропустил — думаю на локальной машине этого не нужно.

После этого предстоит самый важный шаг — настроить сеть — выбираем статический IP адрес.

У меня по умолчанию на этой виртуальной машине сетевая карта стоит в режиме Bridged. Это значит, что виртуальная машина, а значит и сервер, будут использовать диапазон адресов, который использует ваша сетевая карта на компьютере. Как узнать, какие адреса нужно писать? Наберите в терминале команду:

Теперь посмотрите адрес вашей сетевой карты. У меня ноутбук, работающий по wifi, поэтому моя сетевая карта обзывается wlan0 и имеет адрес 192.168.1.4

Поэтому я настраиваю сервер так:

Вы делайте по аналогии, думаю, что сут вам понятна. После этого нажимаете пункт Apply и все готово. Далее вы увидите пункт REBOOT — перезагрузите сервер. После перезагрузки машина загрузится до такого состояния.

Тут нам ещё раз подсказывают наш IP адрес, который я выбрал произвольно, и по которому будет доступен сервер из основной системы — 192.168.1.30 Набираем это адрес в строке браузера и попадаем на наш сервер, где уж установлен WordPress:)

Напомню, что логин admin и пароль тот, который вы придумали при установке. Вот и всё.

Хотя нет, ещё не всё. Если вы наберёте в браузере такой адрес _https://192.168.1.30:12321/, то попадете в WEBMIN, панель управления сервером. Там много интересного, и вы можете почувствовать настоящим системным администратором.

Ещё очень полезно настроит FTP сервер , без этого вы не сможете обновлять систему и плагины. Чтобы FTP заработал, нужно вписать не 127.0.0.1, как в статье, а адрес сервера.

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

После этого вас попросят ввести пароль, и если всё хорошо, то вы увидите все фалы вашего сервера, с которыми вы можете работать, как с «родными».

Наверное, что я сделаю, так это русифицирую WordPress:) Но это уже отдельная тема…

Будут вопросы — пишите, помогу чем могу. Лайки и твиты приветствуются!

Ссылка на основную публикацию
Adblock
detector