Простейший веб-сервер на Linux своими руками

Web сервер

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

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

В первую очередь необходимо установить операционную систему. Здесь вы можете выбирать, какая вам больше нравится, главное, чтобы не было графического окружения – постоянная работа на сервере не предполагается, а лишние ресурсы лучше отдать основным задачам. Простые операции можно сделать и в консоли. Лично мои предпочтения – последний выпуск Ubuntu с длительной поддержкой, на текущий момент это 16.04.3. Также на сервер можно поставить Debian – он при выборе конфигурации установки позволяет установить только серверную часть. Обязательно надо установить сервер OpenSSH для удалённого управления, всё остальное, включая LAMP, не надо – нужные модули добавим вручную немного позже.

Установка Ubuntu уже описана на этом сайте, с тех пор мало что изменилось. Единственно различие – для серверной версии установка пройдёт в текстовом режиме, а все «окна» будут отрисованы с помощью псевдографики. IP-адрес в таких случаях задаётся статический, поэтому в примерах будем использовать его, например, 10.1.1.100.

После установки у нас возможны два варианта – к серверу ещё подключены клавиатура и мышь, или же от него сразу отключили всю периферию, подключили к локальной сети и к питанию и запустили. Разницы в выполнении операций не будет, отличаться будет только способ входа. При подключенной периферии просто введите логин и пароль (при вводе пароля в консоли Linux-систем не отображаются даже звёздочки), при их отсутствии подключитесь с другого компьютера. Для Windows (и для Linux тоже) есть программа клиент Putty, также в Linux можно набрать в терминале следующую строку:

ssh root@10.1.1.100

после чего ввести пароль. «root» – учётная запись администратора Unix-подобных систем.

Для начала установим веб-сервер:

apt install apache2

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

На вопрос о sudo сразу отвечаю – сейчас мы и так работаем с правами администратора, поэтому в этой команде нет смысла.

После того, как веб сервер установится, он будет автоматически запущен. Проверить его работу мы можем, открыв браузер на любой из машин в локальной сети и введя адрес сервера – http://10.1.1.100/.

В зависимости от операционной системы страница может быть разной – от простого «It works!» («Оно работает!») до технической информации по настройке.

Минимальная конфигурация есть, но этого мало – в таком варианте будут работать лишь статичные сайты (ну и JavaScript, который выполняется в браузере пользователя), что нас явно не устроит. Поэтому продолжаем дело. Теперь очередь сервера баз данных MySQL:

apt install -y mysql-server mysql-client

Эта команда установит не только серверную часть, но и клиентскую для подключения из консоли. Версию устанавливаемых пакетов не указываем – в таком случае будет установлена последняя доступная для вашей системы версия.

И последний шаг – установка поддержки языка PHP:

apt install -y php7.0 php7.0-cgi libapache2-mod-php7.0 php7.0-mysql

После завершения установки перезапускаем веб-сервер для того, чтобы поддержка PHP начала работать:

service apache2 restart

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

Комментарии:

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

Ваш адрес email не будет опубликован.