Проектирование локальной сети

Введение

1. Теоретическая часть

1.1 Общие сведения о локальных сетях

1.2 Общие сведения об ОС GNU Debian Linux

2. Специальная часть

2.1 Установка и настройка Debian GNU/Linux

	2.2 Установка deb-пакетов

	2.3 Файловый сервер Samba

2.4 Установка web-сервера, его настройка и настройка виртуальных хостов

2.5 Почта

2.6 Установка Drupal

2.7 Установка и работа с Drush

Заключение

Список используемой литературы

Приложения




Введение



В данном проекте будет рассмотрен проект локальной сети с выделенным под сервер компьютером, работающим под управлением ОС GNU Debian.

Каким образом установить Linux? Как развернуть почтовый сервер? Что нужно для работы связки Apache+Mysql+php? Эти вопросы и некоторые другие будут рассмотрены в этом проекте.




1. Теоретическая часть



1.1 Общие сведения о локальных сетях



Состав компьютерного оборудования, используемого в офисе, традиционен и определяется типичными задачами, стоящими перед сотрудниками. Современный бизнес требует автоматизации бухгалтерской деятельности и складского учета, выписки счетов и получения (отправления) сообщений в электронном виде поставщикам и заказчикам. Для эффективной работы сотрудников, рационального использования компьютерного оборудования и создается локальная вычислительная сеть (ЛВС).

Состав локальной сети

В состав локальной сети (ЛВС) входит следующее оборудование:

Активное оборудование – коммутаторы, маршрутизаторы, медиаконвекторы;

Пассивное оборудование – кабели, монтажные шкафы, кабельные каналы, коммутационные панели, информационные розетки;

Компьютерное и периферийное оборудование – серверы, рабочие станции, принтеры, сканеры.

В зависимости от требований, предъявляемых к проектируемой сети, состав оборудования, используемый при монтаже может варьироваться.

Основные характеристики локальной сети

В настоящее время в различных странах мира созданы и эксплуатируются различные типы ЛВС с различными размерами, топологией, алгоритмами работы, архитектурной и структурной организацией. Независимо от типа сетей, к ним предъявляются общие требования:

Скорость - важнейшая характеристика локальной сети;

Адаптируемость - свойство локальной сети расширяться и устанавливать рабочие станции там, где это требуется;

Надежность - свойство локальной сети сохранять полную или частичную работоспособность вне зависимости от выхода из строя некоторых узлов или конечного оборудования.

Обеспечение данных требований - задача оптимизации локальной сети, решаемая при ее проектировании.

Виды локальных сетей

Все современные локальные сети делятся на два вида:

Одноранговые локальные сети - сети, где все компьютеры равноправны: каждый из компьютеров может быть и сервером, и клиентом. Пользователь каждого из компьютеров сам решает, какие ресурсы будут предоставлены в общее пользование и кому;

Локальные сети с централизованным управлением. В сетях с централизованным управлением политика безопасности общая для всех пользователей сети. Сетевая структура, состоящая из серверов и пользовательских компьютеров, совместно использующих общую политику безопасности, называется доменом. В больших сетях может быть несколько доменов.



1.2 Общие сведения об ОС Debian Linux



Linux - это современная POSIX-совместимая и Unix-подобная операционная система для персональных компьютеров и рабочих станций.

Это многопользовательская сетевая операционная система с сетевой оконной графической системой X Window System. ОС Linux поддерживает стандарты открытых систем и протоколы сети Internet и совместима с системами Unix, DOS, MS Windows. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

ОС Linux широко распространена на платформах Intel PC 386/486/Pentium/Pentium Pro и завоевывает позиции на ряде других платформ (DEC AXP, Power Macintosh и др.).

Разработка ОС Linux выполнена Линусом Торвалдсом из университета Хельсинки и не поддающейся подсчету обширной командой из тысяч пользователей сети Internet, сотрудников исследовательских центpов, фондов, унивеpситетов и т.д.

Возможности, которые предоставляет ОС Linux.

ОС Linux дает возможность бесплатно и легально иметь современную ОС для использования как на работе, так и дома;

обладает высоким быстродействием;

работает надежно, устойчиво, совершенно без зависаний;

не подвержена вирусам;

позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие DOS и MS Windows по использованию памяти машины и ресурсов процессора(ов);

эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д. и т.п.) не мешают интерактивной работе;

позволяет легко интегрировать компьютер в локальные и глобальные сети, в т.ч. в Internet; работает с сетями на базе Novell и MS Windows;

позволяет выполнять представленные в формате загрузки прикладные программы других ОС - различных версий Unix, DOS и MS Windows;

обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными текстами;

предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;

дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС;

дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Internet с любыми из разработчиков ОС Linux и сделать свой вклад, став соавтором системы.

Именно под управлением этой операционной системы будет работать сервер, который мы будем рассматривать в нашем проекте.

Теперь немного о дистрибутиве GNU Debian.

Debian — операционная система, состоящая как из свободного ПО с открытым исходным кодом, так и из закрытых компонентов. В первичной форме, Debian GNU/Linux — один из самых популярных дистрибутивов Linux, оказывающий значительное влияние на развитие этого типа ОС в целом. Также существуют проекты на основе других ядер: Debian GNU/Hurd, Debian GNU/kNetBSD и Debian GNU/kFreeBSD. Debian может использоваться как операционная система для серверов, так и для рабочих станций.

Debian имеет наибольшее среди всех дистрибутивов хранилище пакетов — готовых к использованию программ, — и если даже не по их числу, то по числу поддерживаемых архитектур: начиная с ARM, используемой во встраиваемых устройствах, наиболее популярных x86 и PowerPC, новых 64-разрядных AMD, и заканчивая IBM S/390, используемой в мейнфреймах. Для работы с хранилищем разработаны разные средства, самое популярное из которых — Advanced Packaging Tool (APT).

Debian стал основой целого ряда дистрибутивов (более 100, см. список дистрибутивов, основанных на Debian). Самые известные из них — Adamantix, Bioknoppix, Dreamlinux, Clusterix, Gnoppix, Knoppix, Ubuntu, Libranet, Linspire, MEPIS, Xandros Desktop OS и Maemo.


2. Специальная часть



2.1 Установка и настройка Debian GNU/Linux



Включаем компьютер, вставляем диск в DVD-привод и начинаем установку.

При появлении первого меню, выбираем Graphical install. Выбираем язык, страну, раскладку







Далее выбираем сетевую карту (если она не одна), настраиваем сеть (обычно DHCP настраивается автоматически). В моём случае мне пришлось выбрать PCI-карту вводим имя компьютера, имя домена (они могут совпадать).

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

Как минимум, для GNU/Linux требуется один раздел. Вы можете иметь единственный раздел, содержащий всю операционную систему, приложения и ваши личные файлы. Большинство людей считают, что также необходим раздел подкачки, хотя это не совсем верно. "Раздел подкачки (swap)" — это рабочее пространство для операционной системы, которое позволяет использовать дисковое пространство в качестве "виртуальной памяти". Linux работает с виртуальной памятью более эффективно, если она расположена в отдельном разделе. Linux может использовать для подкачки обычный файл, но это не рекомендуется.

Однако большинство людей выделяют под GNU/Linux больше одного раздела. Есть две причины, по которым возможно вы захотите разделить файловую систему на несколько маленьких разделов. Первая — это безопасность. Если что-то повредится в файловой системе, пострадает только один раздел. То есть, вам нужно будет восстановить (из резервной копии, которую вы заботливо храните) только часть системы. Как минимум, вам нужно создать так называемый "корневой раздел". Он содержит наиболее важные компоненты системы. Если любой другой раздел будет повреждён, вы всё равно сможете загрузиться в GNU/Linux, чтобы починить систему. Это может спасти вас от неприятной полной переустановки системы. Вторая причина обычно более важна для бизнеса, но на самом деле это зависит от того, в каком качестве используется машина. Например, почтовый сервер, получая спам, может легко переполнить раздел письмами. Если вы сделаете для /var/mail отдельный раздел на почтовом сервере, большинство систем будут продолжать работать, даже если вас заспамят.

Единственным настоящим препятствием по использованию нескольких разделов является то, что часто трудно предсказать размер, который для них нужно выбрать. Если вы сделаете раздел слишком маленьким, то вам придётся или переустанавливать всю систему или постоянно перемещать файлы из-за нехватки места на разделе. С другой стороны, если сделать раздел слишком большим, то это трата места впустую, а оно могло пригодиться где-нибудь ещё. В наши дни дисковое пространство дёшево, но зачем выбрасывать деньги на ветер?

Debian GNU/Linux придерживается стандарта Filesystem Hierarchy Standard для каталогов и имён файлов. Этот стандарт позволяет пользователям и программному обеспечению быть уверенным в расположении файлов и каталогов. Уровень корневого каталога представляется просто косой чертой /. На корневом уровне, все системы Debian содержат следующие каталоги:

Каталог содержит

Bin Необходимые исполняемые файлы

Boot Статичные файлы системного загрузчика

dev файлы устройств

etc Настройки системы данной машины

home Домашние каталоги пользователей

lib Необходимые библиотеки общего пользования и модули ядра

media Содержит точки монтирования для съёмных носителей

mnt Точка монтирования для временно монтируемой файловой системы

proc Виртуальный каталог для системной информации (для ядер 2.4 и 2.6)

root Домашний каталог суперпользователя

sbin Необходимые системные исполняемые файлы

sys Виртуальный каталог для системной информации (для ядер 2.6)

tmp Временные файлы

usr Вторичная иерархия

var Изменяемые данные

srv Данные сервисов, предоставляемых системой

opt Дополнительное программное обеспечение

Далее следует список важных предположений относительно каталогов и разделов. Заметьте, что дисковое пространство может использоваться совершенно по-разному, в зависимости от настроек системы и специфики решаемых задач. Приводимые здесь рекомендации являются лишь отправной точкой в решении задачи разметки.

На корневом разделе / всегда физически должны находиться каталоги /etc, /bin, /sbin, /lib и /dev, иначе будет невозможна загрузка системы. Обычно, для корневого раздела требуется 150–250 МБ. В /usr хранятся: все пользовательские программы (/usr/bin) , библиотеки (/usr/lib), документация (/usr/share/doc) и так далее. Этой части файловой системы требуется много места. Вы должны выделить как минимум 500 МБ дискового пространства. Объём этого раздела зависит от числа и типа пакетов, планируемых к установке. Для рабочих станций общего назначения или серверов цифра может вырасти до 4–6 ГБ. Каталог /var содержит: все изменяющиеся данные типа новостных статей, сообщений электронной почты, веб сайтов, баз данных, кэша системы управления пакетами и т.д.

Размер каталога целиком зависит от степени использования компьютера,но для большинства людей он определяется работой с системой управления пакетами. Если вы собираетесь установить всё, что предлагает Debian, при чём сразу, то 2 или 3 гигабайта для /var должно хватить. Если вы собираетесь производить установку по частям (то есть, установить сервисы и утилиты, потом программы для работы с текстом, потом X, ...), то можно уложиться в 300–500 МБ. Если пространство жёсткого диска дорого и вы не планируете делать глобальных обновлений системы, то вам будет достаточно 30 или 40 МБ.

Каталог /tmp содержит: временные данные, создаваемые запущенными программами. Обычно достаточно 40–100 МБ. Некоторые приложения — управление резервным копированием, утилиты работы с CD/DVD и мультимедийными данными — могут использовать /tmp для временного хранения файлов. Если вы планируете использовать данные приложения, то должны выделить пространство под /tmp согласно вашим потребностям.

Каталог /home содержит: отдельный подкаталог для каждого пользователя, где хранятся личные данные. Его размер зависит от количества пользователей в системе и какие файлы они будут хранить в своих каталогах. В зависимости от планируемого использования вы должны зарезервировать около 100 МБ для каждого пользователя, но можете изменить это значение согласно своим требованиям. Выделите больше места, если планируете хранить много муль-тимедийных файлов (картинок, MP3, фильмов) в своём домашнем каталоге.

Рекомендуемые схемы разметки:

/

/home

/var

(файловая система ext3)

(файловая система ext3)

(файловая система ext3)



Создавать ли раздел для подкачки, решать вам. Выше указана необходимая для решения информация. Размер swap рекомендуется выделять в два раза больше оперативной памяти, если объем памяти менее 2 гигабайт и равным количеству оперативной памяти + 1Гб, если объем оперативной памяти больше 2Гб.












Установка базовой системы.

Следующий экран — настройка учётных записей. Здесь не составит труда заполнить поля: пароль суперпользователя, полное имя пользователя, имя для входа и пароль пользователя.

Собственно, здесь нет ничего сложного. Не забудьте введённые пароли!

Настройка менеджера пакетов:

Если вы не скачивали дополнительные диски, можете смело ставить "Нет", если вы скачали все диски стабильной версии, отметьте "Да"

На вопрос об использовании зеркала сети желательно ответить "Да", так как большинствопакетов ставятся из Сети. Далее выбираем Российская федерация, ftp.ru.debian.org

Настройте прокси, если требуется. Если не нужно, пропустите.

Выбор программного обеспечения оставляем как есть (галки на "Окружение рабочего стола" и "Стандартная система"). Web-сервер, MySQL и остальное мы поставим сами.

Теперь ожидаем, когда скачаются файлы, их немногим более 800.

Выбираем удобный для себя вариант переключения раскладок (я привык к alt+shift).

Устанавливаем системный загрузчик GRUB в главную загрузочную запись. Отметьте "Да", если Debian единственная операционная система на вашей машине.

Опять выбираем вариант переключения раскладок.

После окончания установки привод сам "отдаст" диск, вам останется только закрыть лоток и система перезагрузится после нажатия кнопки "Продолжить".

Система поставилась, приступим к важным настройкам.

Команда sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers; язык их написания и примеры использования подробно изложены в sudoers



user@host:~$ su -

Password:



введите здесь пароль для пользователя root



host:~#



Теперь установим sudo:



su -

aptitude install sudo








После этого выполним от root’а команду visudo (она запустит текстовый редактор с конфигурационным файлом, содержащим пользователей sudo. Найдите строку:



root ALL=(ALL) ALL,



после неё добавьте ваше_имя ALL=(ALL) ALL.

Сохраните файл и закройте редактор (ctrl+o, жмём Enter, ctrl+x).

Внимание: при сохранении будет предложено сохранить файл как sudoers.tmp, удалите расширение .tmp, нажмите кнопку Enter и на вопрос о перезаписи нажмите ‘Y’ (кнопка сохранить — комбинация клавиш CTRL+O, выход — CTRL+X). После этого мы сможем выполнять команды от sudo, к примеру, нибираем sudo -i, вводим пароль и работаем как суперпользователь (после этого sudo перед командой более вводить не требуется).

Не закрываем терминал. Давайте включим Num Lock при загрузке системы, для этого наберём в терминале: aptitude install numlocx и нажмём "Enter". Теперь после следующей загрузки системы Num Lock будет активирован.

Перезагрузим компьютер.

Выше мы не случайно начали с такой простой команды, с помощью aptitude можно устанавливать, обновлять и удалять пакеты. Аналогом aptitude является apt-get. Вы можете ставить программы, если они есть в репозиториях (истониках приложений). Как ставить программы из архивов, изучим немного позднее. Я упомянул о репозиториях (источниках приложений), давайте отредактируем старые и добавим новые. Откроем файл sources.list, в котором записаны все репозитории. По умолчанию в нём только пакеты из стабильной ветки, но мы добавим и другие, к примеру, backports. В Debian стоит старая версия Iceweal (это, грубо говоря, Mozilla Firefox для Debian), при помощи добавленных репозиториев мы обновим её до последней версии. Для этого делаем следующее в терминале:



cd /etc/apt

nano sources.list



с этим редактором (nano) мы уже работали, когда дописывали пользователей sudo, команды на "сохранить" и "закрыть" такие же: сохранить — ctrl+o, жмём Enter, выход — ctrl+x ) открываем sources.list, в котором перечислены репозитории: nano /etc/apt/sources.list.

Добавим туда строки:



deb-src http://www.backports.org/debian lenny-backports main contrib non-free

deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free



И давайте выключим DVD (CD) диск, который тоже является источником приложений. Для этого мы просто его закомментируем:



# deb cdrom:[Debian GNU/Linux 5.0.6 _Lenny_ - Official i386 DVD Binary-1 20100904-19:12]/ lenny

contrib main


Сохраняем, выходим ctrl+o, жмём Enter, ctrl+x).

Теперь в терминале набираем

apt-get update

17



Теперь установим Iceweasel из backports. Делается это такой командой:



aptitude -t lenny-backports install iceweasel



Вы должны заметить, что перед подтверждением на установку стоит уведомление, что рекомендована новая версия libglib2.0-data. Жмём "Y", устанавливается новая версия Iceweasel.

После установки Iceweasel, ставим и рекомендованную библиотеку:

aptitude install libglib2.0-data. Давайте закроем окно терминала. Можете поставить необходимые вам расширения для Iceweasel, их можно найти на http://addons.mozilla.org

	

	2.2 Установка deb-пакетов

	

Давайте теперь попробуем установить что-нибудь из deb-пакета. Начинающие пользователи Debian GNU/Linux иногда не могут понять, как установить deb-пакет. Сразу сделаем так, чтобы скачанные пакеты устанавливались, а не пытались открыться в программах для просмотра архивов. Для этого надо выбрать приложение.

К примеру, скачаем браузер Chrome для Linux

(http://www.google.com/chrome?platform=linux&hl=ru) или Opera (http://opera.com), или Skype (http://www.skype.com.cn/intl/ru/get-skype/on your-computer/linux/post-download/), представляющие собойdeb-пакеты и попытаемся какой-нибудь из них открыть. Нам покажется сообщение, что данный тип архивов не поддерживается.

Что ж, сделаем так, чтобы запускался установщик deb-пакетов. Для этого щёлкнем правой кнопкой мыши на пакет, выберем "Свойства" / "Открывать в программе" и нажмём кнопку "Добавить". Выберем GDebi Package Installer и GDeb для установки. После того, как пакеты поставятся, перейдём в "Открывать в программе" и выберем GDebi Package Installer. Теперь наши deb-пакеты будут ставиться сразу, а не пытаться просматриваться в программах для архивов.







2.3 Файловый сервер Samba



(Необходим, если вы собираетесь передавать файлы между Linux и Windows машинами).

Открываем терминал:



sudo -i

ваш пароль

aptitude install samba


Теперь надо разобраться с пользователями, Samba использует пользователей, которые уже есть в системе, возьмём для примера имя stan (вам надо ввести ваше имя пользователя), это имя уже есть в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам, сделаем это командой smbpasswd -a stan

Вам будет предложено ввести пароль, после чего stan будет добавлен в базу, теперь необходимо включить пользователя stan:



smbpasswd -e stan



И перезагрузим Samba:



/etc/init.d/samba restart



Давайте рассмотрим удаление старых версий программ и установку новых на примере мессенджера Pidgin.

Открываем терминал:



sudo -i

ваш пароль



Для начала нам нужно удалить установленную версию. Переходим в Установка и удаления приложений/Интернет, снимаем галочку с "Клиент обмена мгновенными сообщениями Pidgin", кнопка "Применить изменения".



aptitude install intltool

aptitude -t lenny-backports install pidgin










Полезные команды.

sudo — действия от суперпользователя

sudo -i – запуск интерпретатора под суперюзером

nano /путь/к/файлу — открыть файл

gedit /путь/к/файлу — открыть файл

wget -p ссылка на файл

aptitude install 'package' — установка пакета/программы

apt-get install 'package' — установка пакета/программы

aptitude -t lenny-backports install 'package' — установка пакета/программы из репозитория

cd — переход в директорию

mkdir — создание директрии

rm — удаление директории

cp — копирование

ln — сивольная ссылка (Simlink)

tar — работа с архивами

cp /путь к файлу /путь к файлу.backup — создание бэкапов файлов

ln -s /путь/к/существующему/файлу /путь/к/не_существующему/файлу — символьная ссылка


2.4 Установка web-сервера, его настройка и настройка виртуальных хостов.



Сразу решим, что PHP у нас будет работать как модуль сервера Apache, а не как CGI-программа.

Вариант хранения сайтов у нас будет таким: /var/www/sitename. Возможен вариант /home/user/public_html, но он нас не подходит для локального сервера. Управлять сайтами от одного пользователя проще.

Перед установкой рекомедуется обновить систему: sudo apt-get update

Ставим всё одной командой:



aptitude install fetchmail flex libarchive-zip-perl libcompress-zlib-perl libpopt-dev lynx m4 ncftp nmap

zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential alien ssh openssh-

server mysql-server mysql-client libmysqlclient15-dev mysql-admin libapache2-mod-auth-mysql mysql-

gui-tools-common mysql-admin mysql-query-browser mysql-query-browser mysql-gui-tools-common

libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-ffmpeg php5-gd php5-idn php-

pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-

ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl imagemagick php5-

ldap apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 quilt ssl-cert ntp








После того, как файлы скачаются, начнётся установка, в процессе которой нам будут предоставлены возможности для настройки: ввод пароля для пользователя MySQL — на ваше усмотрение (если сайт будет работать не только для вас, поставить пароль обязательно!).Активируем mod_rewrite командой sudo a2enmod rewrite

Запустим PHP:



sudo a2enmod php5



А эти команды пригодится нам после создания новых виртуальных хостов или удаления ненужных:

sudo /etc/init.d/apche2 restart — перезагрузка сервера

sudo /etc/init.d/apache2 force-reload — принудительная перезагрузка сервера

Эти команды пригодятся для смены прав, владельца, группы:



sudo chmod 777 /path/to/folder/or/file



смена прав доступа для директории/или файла



sudo chown -R user:group /path/to/folder



смена пользователя:группы для директории

Проверим PHP5

в терминале выполним:



sudo chown -R user:group /var/www – измените user и group на своё

sudo echo '<?php phpinfo(); ?>' > /var/www/phpinfo.php



Эта команда создаст файл phpinfo.php с содержанием <?php phpinfo(); ?> в директории /var/www/. Откроем в браузере: http://localhost/phpinfo.php и увидим информацию об установленном PHP, модулях manual/en/function.phpinfo.php)



Pecl APC



Переходим в /usr/src



sudo cd /usr/src



скачиваем



sudo wget -p http://pecl.php.net/get/uploadprogress-1.0.1.tgz



копируем:



sudo cp /usr/src/pecl.php.net/get/uploadprogress-1.0.1.tgz /usr/src/uploadprogress-1.0.1.tgz



переходим в директорию:



sudo cd /usr/src




распаковываем: sudo tar -xvzf uploadprogress-1.0.1.tgz

переходим в директорию:



cd uploadprogress-1.0.1



выполняем команды по очереди:



phpize

./configure

make

make install



Открываем php.ini и дописываем extension=uploadprogress.so



gedit /etc/php5/apache2/php.ini



Раз уж php.ini в процессе редактирования, поправим некоторые параметры:



max_execution_time и max_input_time поменяем с 60 на 300



памяти у нас уже 128, это вполне хватит для больших проектов



post_max_size меняем с 8M на 200M (451 строка)

upload_max_filesize меняем с 2M на 50M (565 строка)

max_file_uploads меняем с 50 на 150 (569 строка)




Более нас в php.ini не ничего интересует. Сохраняем и выходим (ctrl+o, Enter, ctrl+x). Перезгружаем сервер:



sudo /etc/init.d/apache2 restart



Теперь займёмся виртуальными хостами на Apache. Выполним следующее:



cd /var/

chown -R user:group www



где user - ваше имя пользователя, а group - ваша группа. Теперь вы можете вручную создать в директории /var/www ваши сайты, к примеру, drupal, phpmyadmin.

Открываем:



sudo nano /etc/apache2/sites-enabled/000-default



если удобно, можете пользоваться аналогом:



gedit /etc/apache2/sites-enabled/000-default



и всё удаляем. Заменяем удалённое на



NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www

ServerName localhost

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

<Directory /var/www/>

Order Deny,Allow

Allow from 127.0.0.1

Deny from all

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localhost

ServerName phpmyadmin.loc

DocumentRoot /var/www/phpmyadmin

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

<Directory "/var/www/phpmyadmin/">

AllowOverride All

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localhost

ServerName drupal.homeip.net

ServerAlias drupal.loc

DocumentRoot /var/www/drupal

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

<Directory "/var/www/drupal/">

AllowOverride All

</Directory>

</VirtualHost>


Сохраняем, выходим (если пользовались nano, ctrl+o, жмём Enter, ctrl+x).

Далее



sudo nano /etc/apache2/ports.conf



Закомментируем NameVirtualHost *:80. Т.е. получится так:



# NameVirtualHost *:80



Сохраняем, выходим (ctrl+o, жмём Enter, ctrl+x)

Далее



sudo nano /etc/apache2/httpd.conf



Вставим в этот файл такую строку:



ServerName localhost



Сохраняем, выходим (ctrl+o, жмём Enter, ctrl+x)

Откроем hosts и пропишем там наши сайты: sudo nano /etc/hosts

Вы можете прописать адрес, присвоенный машине (я настроил через роутер на адрес 192.168.1.100). А можете прописывать 127.0.0.1.

Добавим перед строкой # The following lines are desirable for IPv6 capable hosts наши сайты:



192.168.1.100

192.168.1.100

192.168.1.100

drupal.homeip.net

phpmyadmin.loc

drupal.loc

# для сервиса DynDNS



или (смотрите пример первого виртуального хоста (localhost))



127.0.0.1 phpmyadmin.loc

127.0.0.1 drupal.loc



охраняем, выходим (ctrl+o, Enter, ctrl+x)

Перезагрузим Apache



sudo/etc/init.d/apache2 restart



Попробуем зайти на каждый из сайтов:



http://drupal.loc

http://test.loc

26

http://phpmyadmin.loc



На каждом сайте увидим такую страницу:








phpMyAdmin



Тут нет ничего сложного. Нам надо скачать с http://phpmyadmin.net версию архива и распаковать файлы /var/www/phpmyadmin. Доступ к интерфейсу будет таким: http://phpmyadmin.



loc



2.5 Почта



По умолчанию в Debian стоит почтовый сервер exim4, можно использовать его для почты на localhost, а можно поставить postfix или sendmail.

Почта хранится в этой директории /var/spool/mail

Пересобираем PHP5 с поддержкой php5-gd sudo –i вводим пароль

Выполняем по порядку, ничего не пропускаем:




apt-get install build-essential debhelper fakeroot

cd /usr/src

apt-get source php5

apt-get build-dep php5

cd php5-5.2.6.dfsg.1



Теперь нам надо сделать изменения в файле rules. Открываем



nano debian/rules



находим (CTRL+W) и меняем строку

на



--with-gd=shared,/usr --enable-gd-native-ttf \

--with-gd=shared --enable-gd-native-ttf \



Сохраняем, выходим (ctrl+o, Enter, ctrl+x)

Добавляем



aptitude install apache2-prefork-dev chrpath freetds-dev libapr1-dev libbz2-dev libcurl4-openssl-dev

libcurl-dev libdb4.7-dev libdb4.6-dev libedit-dev libexpat1-dev libfreetype6-dev libgcrypt11-dev libgd2-

xpm-dev libgmp3-dev libjpeg62-dev libkrb5-dev libldap2-dev libmhash-dev libncurses5-dev libpam0g-

dev libpcre3-dev libpng12-dev libpq-dev libpspell-dev librecode-dev libsasl2-dev libsnmp-dev libsqlite0-

dev libt1-dev libtidy-dev libwrap0-dev libxmltok1-dev libxml2-dev libxslt1-dev quilt re2c unixodbc-dev


на вопрос о подтверждении нажмиаем ‘Y’ и Enter



dpkg-buildpackage -rfakeroot -d



пакеты будут пересобиратсья



cd ..

dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny9_i386.deb

/etc/init.d/apache2 restart



Теперь у нас установлен полноценный сервер.



2.6 Установка Drupal



Создадим для Drupal базу:

Перейдём в phpmyadmin http://phpmyadmin.loc

Создадим новую базу drupal_drupal6, поставим кодировку utf8_general_ci, сохраним

Скачаем последнюю стабильную версию (на данный момент 6.19). с сайта http://drupal.



Org



Распакуем, скопируем содержимое (директории и файлы) в /var/www/drupal

Перейдём в /var/www/sites/default, сделаем копию default.settings.php и переименуем в settings.php. Поставим права на запись (правой кнопкой на файле, "Права")

Создадим директорию files, тоже выставим права на чтение и запись

Перейдём на сайт: http://drupal.loc

Устанавливаем.

На следующем экране введите почтовый адрес сайта, имя пользователя (администратора, пароль и подтверждение). Можно сразу включить чистые ссылки (Clean URL’s).

После установки сменим права на /var/www/sites/default/settings.php на чтение

Директории для ваших тем и модулей: /var/www/drupal.sites/all/themes и /var/www/drupal.sites/all/modules соответственно.

Запустите cron, убедитесь, что в таблице "Отчёт о состоянии" нет ошибок и предупреждение





















2.7 Установка и работа с Drush



Drush – это мощная утилита, позволяющая управлять Drupal-сайтом из командной строки.

Устанавливется Drush очень просто



sudo aptitude install drush



Теперь перейдём в директорию



cd /var/www/drupal



и посмотрим статус установленного у нас на сервере Drupal drush status

status – состояние сайта

dl — установить (скачать) модуль

enable — включить модуль

disable — выключить модуль

up — обновить все модули

cron — запустить крон

cache clear — очистить кэш

drush --help — показывает справку

Это всего лишь часть команд, которые следует знать.

Давайте попробуем скачать, установить, включить, выключить и удалить модуль coder (http:// drupal.org/project/coder).

Для начала перейдём в рабочую директорию с установленным Drupal’ом:



cd /var/www/drupal



Листинг действий (после каждого действия вы можете проверять результат на работающем сайте):



drush dl coder

drush enable coder

drush disable coder

drush unistall coder













Заключение



Проанализировав работу OS GNU Debian, можно увидеть великолепную гибкость и податливость в качестве серверной ОС. Если еще учесть 6 уровней безопасности и практически совершенную неуязвимость для вирусов, то ОС семейства Linux можно назвать идеальным решением для сервера.




Список используемой литературы и источников информации



http://www.debianhelp.co.uk/sudo.htm (Sudo Configuration in Debian)

http://sudouser.com/nastrojka-sudo-v-debian-gnulinux-i-ubuntu-linux.html (Настройка sudo в Debian GNU/Linux и Ubuntu Linux)

http://linuxdevcenter.com/pub/a/linux/2005/12/01/linux_root.html (Using the Root Account on Debian)

http://citforum.ru/operating_systems/linux/debian_reference/ch-tutorial.shtml (Справочник по Debian)

http://habrahabr.ru/blogs/ubuntu/20525/ (Устанавливаем и настраиваем LAMP и Trac+SVN на Ubuntu)

http://cumu.li/2008/5/13/recompiling-php5-with-bundled-support-for-gd-on-ubuntu (Recompiling PHP5 With Bundled Support for GD on Ubuntu)

http://phpclub.ru/detail/article/2001-04-20 (Установка PHP + Apache: CGI vs. module)

http://www.opennet.ru/base/sys/swap_create.txt.html (Управление своп-областями (swap) в Linux)

http://qref.sourceforge.net/quick/index.ru.html (справочник по Debian)

http://sudouser.com/ustanovka-samba-servera-na-ubuntu-debian-za-5-minut.html (Установка Samba)

http://www.debian.org/releases/stable/i386/apc.html.ru (Разметка дисков в Debian)

http://blog.ezersky.ru (LAMP на Ubuntu)

• http://www.debian.org

• http://linuxdevcenter.com

• http://www.debianhelp.co.uk

• http://welinux.ru/

• http://unixhome.org.ua/

• http://habrahabr.ru/blogs/linux/

• http://drupal.org

• http://drupal.ru

• http://magazine.drupalogy.ru Установка и настройка Debian для начинающих




Приложение



Схема локальной сети






Приложение 2



Смета расходов. Персональный компьютер



Процессор

Core 2 Duo E8100 2.1GHZ 



ОЗУ

Kingston 2048



Материнская плата

Asustek

2190.65 руб

HDD

WD1936 250Gb

3050.00 руб

Привод

NEC DVDRW 

900 руб

БП

ATX Delta 

1500 руб

ИБП

APC 1020 X4

1800

Монитор

Samsung SyncMaster 173p

5999.99 руб

Клавиатура и мышь

Genius

1500 руб

Колонки

Genius

600 руб









Сервер

Процессор

Core 2 Duo E8100 2.1GHZ 



ОЗУ

Kingston 2048



Материнская плата

Asustek

2190.65 руб

HDD

WD1936 250Gb

3050.00 руб

Привод

NEC DVDRW 

900 руб

БП

ATX Delta 

1500 руб

ИБП

APC 1020 X4

1800

Монитор

Samsung SyncMaster 173p

5999.99 руб

Клавиатура и мышь

Genius

1500 руб

Колонки

Genius

600 руб



Сетевое оборудование

Провода RJ-45

200 метров

30 руб/м

Коммутатор

Cisco RKJ2346

3659.99

Сетевые картыХ30

Realtek N34540

650 руб