Сервер для офиса

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

Версия для печатиВерсия для печати

Номер: 

10 за 2011 год

Рубрика: 

На заметку
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя Al
Если бы не очень провокационные пинки в сторону винды, то всё было бы нормально. А так - начнётся холивар, а не обсуждение предмета статьи. Зачем вам это, Евгений? Писать надо по делу, а любое спорное утверждение или обосновывать, или не писать, или уточнять, что это ваше личное мнение, на которое вы безусловно имеете полное право. Кроме того, я бы добавил пару слов о настройках putty для связи с сервером, ибо профи всё, что у вас написано, и так знает, а новичок не будет знать и про putty. Т.е. писать надо для одного уровня читателей. И ещё: "дефолт", "машина", "гайд"... ну, вы понимаете? Мы же не на тусовке сисадминов.

И ещё: "Сегодня речь пойдет о настройке полноценного web-сервера". Про настройку тут нет ни слова, только про установку. Что-то не вяжется. Это предмет будущей статьи или просто оговорка? Кроме того, я бы указал минимальные и оптимальные требования к железу, на которое устанавливается такой пакет софта. Тоже было бы очень полезно. Удачи.

Аватар пользователя Эдуард
:) И я плесну масла в огонь. На нашем сервере доступа к Интернету фиквам все нужное на Линуксе нарисуешь.
Аватар пользователя AR
Жаль, что автор хранит молчание. Нехорошо.