Как сделать веб сервер из домашнего компьютера?
Как известно, наиболее надёжный, удобный и дешевый хостинг – это http://127.0.0.1.
Для чего же он может пригодиться. Во-первых, непосредственно как хостинг. Для частного пользования вряд ли, но в качестве корпоративного сайта – вполне. Во-вторых, как тестовая площадка для сайта. В-третьих, это просто интересно.
Так что же лучше использовать. Есть много оболочек для web–разработки. Они представляют собой портированные версии программ для Linux- и Unix-подобных систем. В их состав входят PHP, MySQL, Perl, Sendmail, Apache и многое другое. Только недостатки часто встречаются, среди которых неработающие части комплекса, отсутствие возможности перезапуска сервисов, нестабильная работа и дыры в безопасности. Как тестовую площадку, в принципе, можно использовать. Но не более того.
Веб сервер на ubuntu для локальной сети
Лучше всего использовать родные полнофункциональные сервисы, установив Linux – подобную систему. При этом всё настраивается под конкретную ситуацию. И разработкой лучше заниматься в среде, которая затем будет использоваться в работе.
Итак, предположим, что есть роутер с выходом в интернет. Также имеется тестовый сервер на Ubuntu Server 16 с именем webs. Необходимо установить web-сервер для тестирования проектов и их дальнейшей миграции на хостинг.
Установка LAMP
Будем использовать связку 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 адрес компьютера.
К примеру
ServerName 192.168.0.160
Домашний web сервер своими руками
Основная конфигурация установлена. Проверим работоспособность. Для этого перейдём по адресу http://192.168.0.160 и увидим приветственную страницу apache.
Проверяем работу PHP. По умолчанию корневая папка web-сервера находится в /var/www/html. Удаляем из неё файл index.html и создаём файл index.php.
rm /var/www/html/index.html|echo ‘<?php phpinfo(); ?>’>/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 – сервера будут доступны по ссылке \\webs\html
Имеем готовую площадку для экспериментов.
Доступ к локальному серверу из интернета
Теперь нужен доступ из интернета. Регистрируем бесплатное доменное имя в зоне .GA (Габона). Для этого идём на сайт http://www.freenom.com. Регистрируемся, ищем и регистрируем свободное имя. При регистрации указываем свой внешний IP – адрес. Этот сервис позволяет воспользоваться своим DNS, поэтому регистрировать имя на бесплатном DNS–сервере заранее нет необходимости. Через некоторое время имя будет реплицировано на сервера DNS и станет доступно.
В файле /etc/apache2/apache2.conf надо изменить переменную ServerName на зарегистрированное имя.
В настройках маршрутизатора необходимо сделать переадресацию порта № 80 на локальный IP – адрес сервера.
Не забываем включить защиту на роутере – роутер теперь имеет открытые порты, поэтому уязвим.