В данной статье я опишу вариант настройки домашнего 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. Первым делом нам нужно настроить сеть.
Просмотр сетевых интерфейсов командой:
dmesg | grep eth
Как мы видим, наш сетевой интерфейс имеет имя eth0. Настроим его. Для этого при помощи встроенного редактора Nano откроем файл конфигурации сетевых интерфейсов. Я оставил dhcp, т.к. ip адрес сервер будет получать автоматически от роутера.
nano /etc/notwork/interfaces
Мой конфиг сети выглядит так:
Так же вы можете прописать сетевые настройки в ручную:
auto eth0
iface eth0 inet static
address 192.168.0.101
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Я рекомендую оставить dhcp. Так же необходимо проверить чтобы присутствовала строка auto eth0 (автоматический запуск сетевого интерфейса).
После того как отредактировали файл конфигурации, сохраняем его (Сtrl + O), закрываем (Ctrl + X).
Проверяем есть ли интернет, например можно пропинговать какой нибудь ресурс:
ping yandex.ru
Если пинг идет, значит сеть настроена и интернет есть. Можно приступать к установке компонентов сервера, но перед этим обновим систему:
apt-get update
apt-get upgrade
Установка SSH
Для управления сервером удаленно, ставим SSH:
apt-get install ssh
Запускаем сервис SSH:
service ssh start
Теперь пробуем подключиться с нашему новому серверу по SSH. Для этого переходим на основной компьютер и ставим программу PuTTY. Качаем с сайта putty.org.ru/download.html.
Запускаем программу и пробуем соединиться с сервером: вводим ip адрес, порт по умолчанию 22, кнопку оставляем в значении SSH, жмем Connect.
Должно появиться: login as:
Вводим root и пароль.
Если все получилось, то все остальные настройки сервера мы будем проводить удаленно. Можно отключать от сервера все периферию и оставить только кабель питания и ethernet.
Установка и настройка FTP
Для передачи файлов на сервер, устанавливаем FTP сервер:
apt-get install vsftpd
Редактируем файл конфигурации FTP при помощи редактора Nano:
nano /etc/vsftpd.conf
Пример текста файла конфигурации vsftpd.conf
Добавляем в систему пользователя FTP по имени Петр
dduser petr
Переходим в директорию home
cd /home
Создаем группу пользователей
addgroup myusers
Добавляем Петра в группу пользователей myusers
usermod -G myusers petr
Создаем для пользователя папку (папки)
mkdir /home/petr/userfolder
mkdir /home/petr/www
Поднимаемся на уровень выше
cd ..
Задаем пользователю права на его папки
chown petr:myusers /home/petr/userfolder
chown petr:myusers /home/petr/www
chown 555 /home/petr
Перезапускаем фтп сервер, чтобы сохранить настройки
service vsftpd restart
FTP сервер настроен. Пробуем подключиться по FTP при помощи программ FileZilla FTP Client или Total Commander. Если используете FileZilla, то порт по умолчанию 21, быстрое соединение. Если Total Commander - FTP - Новое FTP соединение - Убрать галку "Анонимное соединение". Далее ip адрес, имя пользователя, пароль.
Установка web сервера Apache 2 + PHP + MySQL
Устанавливаем сам веб сервер:
apt-get install apache2
Устанавливаем zip для работы с архивами:
apt-get install zip
Установка PHP. Устанавливаем интерпретатор языка PHP, чтобы скрипты написанные на нем могли исполняться на сервере:
apt-get install php5 libapache2-mod-php5 php5-cli
Устанавливаем БД MySQL
apt-get install libapache2-mod-auth-mysql php5-mysql mysql-server
Ставим модуль веб сервера
a2enmod rewrite
Устанавливаем phpmyadmin
apt-get install phpmyadmin
Если phpmyadmin выдает ошибку Not found, то вводим в консоль следующую строку
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Установка файлового менеджера MC
apt-get install mc
Запуск файлового менеджера
mc
Редактируем файл конфигурации веб-сервера.
etc/apache2/apache2.conf
Сервер готов к использованию!
Подробнее процесс установки у меня показан на видео: