LAMP-сервер с панелью ispCP Omega
Современная компания - компания, использующая информационные технологии в своей жизнедеятельности. И это давно уже аксиома, по моему мнению. Однако использовать ИТ нужно правильно и рационально. Традиционно серверную инфраструктуру принято строить на Unix-системах, которые экономно расходуют ресурсы сервера и намного более производительны в аналогичных условиях, по сравнению с серверными вариантами Windows.
Особенностью серверов на ядре Linux/Unix является их консольный интерфейс по дефолту и возможность удобного управления машиной посредством SSH-туннеля. И хотя последняя версия Windows Server также разжилась консольным режимом, она не может тягаться с "никсами". Именно поэтому я рекомендовал бы строить серверную инфраструктуру офиса именно на системах такого типа. А поскольку большинство системных администраторов больше ориентированы на Windows, ввиду широкой распространенности, то я предлагаю их вниманию небольшую серию "гайдов", которая поможет реализовать все стандартные функции, необходимые офису, на сервере Unix.
Сегодня речь пойдет о настройке полноценного web-сервера, в состав которого войдут не только основные компоненты, такие, как Apache, MySQL, PHP_mod, но и дополнительные программы, которые используются на стандартных веб-серверах в сети, например, bind9 (DNS server), proftpd (FTP server), phpMyAdmin (для управления MySQL БД) и панель управления, чтобы не работать постоянно с консолью.
В большинстве случаев, если у компании нет нужды в нескольких web-ресурсах внутри своей сети, такой комплекс не нужен, подойдет обычная LAMP-связка, настроенная вручную, через консоль. Ну а если сайтов внутри сети будет несколько или вы, как администратор, не сильно знакомы с консолью и ручной настройкой веб-сервера, то мой урок будет в самый раз, тем более, что установка займет всего лишь несколько минут.
Мы будем ставить панель управления ISPcp Omega, что позволит облегчить себе жизнь и оставить немного времени на чашку кофе. Суть в том, что это одна из наиболее развитых open source-панелей управления хостингом, а значит, мы получим отличное качество и никаких затрат, что выгодно по отношению к DirectAdmin, cPanel, ISP Manager и т.п. В пакете панели имеется список необходимых для нее пакетов, а скрипт установки настроит эти пакеты на совместную работу. В общем, не сложнее, чем поставить всем привычную программу в Windows.
Для установки будем использовать операционную систему на ядре Linux, практически всем известную Ubuntu Server, релиз за номером 10.10, т.е. Maverick. Ставим ее в текстовом режиме на сервер (собственно, все Ubuntu Server ставятся в текстовом режиме). Когда установщик предложит выбрать направленность сервера (т.е. DHCP, FTP, Print, Web), ничего не выбирайте, нам нужна чистая система, имеющая дефолтные пакеты и настройки.
После установки система загружается в консольном режиме, вводим логин и пароль и входим в систему. Первое, что нам надо, - проверить актуальность списков пакетов в репозиториях и обновить систему, поэтому выполняем следующие команды:
$ sudo -s //получаем права root на сессию для экономии времени
$ apt-get update //обновляем списки пакетов в репозиториях
$ apt-get upgrade //а теперь обновляем все имеющиеся в системе пакеты
Теперь ставим openSSH-сервер, чтобы впоследствии можно было управлять системой удаленно, по сети.
$ apt-get install ssh
После установки SSH можно отправлять наш компьютер-сервер в стойку, отключать от него монитор и клавиатуру и производить дальнейшую установку со своего рабочего места при помощи программы PuTTy.
Теперь приступим к установке web-сервера. Сначала ставим MySQL, т.к. панель управления использует базу для хранения информации.
$ apt-get install mysql-server mysql-client build-essential //установка mysql
При установке пакетов инсталлер запросит пароль для пользователя root, который надо ввести осознанно и не забывать :), поскольку он нам понадобится. После MySQL пришло время установить саму ispCp Omega. Для этого выполняем в консоли следующие команды:
$ cd /tmp //переходим в каталог tmp, чтобы не засорять пространство на hdd
$ wget http://sourceforge.net/projects/ispcp/files/ispCP%20Omega/ispCP%20Omega%201.0.7%20RC2/ispcp-omega-1.0.7-RC2.tar.bz2 //скачиваем архив с исходными кодами
$ tar xjvf ispcp-omega-1.0.7-RC2.tar.bz2 //распаковываем архив
$ cd ./ispcp-omega-1.0.7-RC2 //переходим в папку с распакованными файлами
$ ls /docs //просматриваем содержимое папки docs
В папке docs можно посмотреть, для каких операционных систем имеются списки необходимых пакетов. Как видим, ОС довольно много. Нам необходима папка Ubuntu. Просмотрим и ее содержимое:
$ ls /docs/Ubuntu //видим список пакетов
Теперь пакеты из списка:
$ apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-karmic) //ставим пакеты
При установке инсталляторы могут задать пару вопросов, используйте дефолтные значения. Далее нам надо скомпилировать исходники, для этого выполним команду make:
$ make install //запускаем компиляцию
$ cp -Rv /tmp/ispcp/* / //копируем файлы в нужные каталоги
После копирования файлов в нужные каталоги можно приступить к непосредственной установке:
$ cd /var/www/ispcp/engine/setup/ //переходим в папку инсталлера
$ perl ispcp-setup //а вот и сама установка
В процессе инсталляции вам будут предлагать ввести имена пользователей для различных компонентов веб-сервера, в том числе и для панели управления, а также для доступа к MySQL - тут-то и вспоминаем наш пароль, который вводился при установке MySQL, а также пользователя root.
После того, как все установится и инсталлятор выдаст сообщение, что установка закончена, можно спокойно открыть браузер и ввести IP-адрес сервера в адресную строку. Вы увидите форму авторизации панели управления. Вот и все, хостинг готов к работе и может принять первые ресурсы.
Евгений КУЧУК,
SASecurity Group,
info@sa-sec.org
Комментарии
И ещё: "Сегодня речь пойдет о настройке полноценного web-сервера". Про настройку тут нет ни слова, только про установку. Что-то не вяжется. Это предмет будущей статьи или просто оговорка? Кроме того, я бы указал минимальные и оптимальные требования к железу, на которое устанавливается такой пакет софта. Тоже было бы очень полезно. Удачи.