УСТАНОВКА И НАСТРОЙКА DEBIAN GNU/LINUX И ВЕБ-СЕРВЕРА





УСТАНОВКА И НАСТРОЙКА DEBIAN GNU/LINUX И ВЕБ-СЕРВЕРА







Решил поделится своим первым опытом установки и настройки Debian и веб-сервера.
Задачи, которые я перед собой поставил:
Текстовая установка Debian GNU/Linux на виртуальной машине (VirtualBox).
Установка веб-сервера (LAMP).
Настройка доменной зоны *.dev для доступа к локальным сайтам.
Настройка DNS-сервера.
Доступ к сайтам из основной ОС (Microsoft Windows 7).


Почему я выбрал именно Debian? Ну, наверное, потому что я раньше работал с Ubuntu, которая создана на базе Debian, да и потому что Debian GNU/Linux — один из самых популярных и важных дистрибутивов Linux, в первичной форме оказавший значительное влияние на развитие этого типа ОС в целом (так «говорит» Википедия).


Так как я хотел полностью «прощупать» весь процесс установки, то выбрал businesscard-образ, размер которого составляет ~40 Мб. Официальный FAQ описывает его следующим образом:

ОН СОДЕРЖИТ ТОЛЬКО САМОЕ НЕОБХОДИМОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПОЗВОЛЯЮЩЕЕ НАЧАТЬ УСТАНОВКУ И ЗАГРУЗИТЬ ВСЕ ОСТАЛЬНЫЕ ПАКЕТЫ ПО СЕТИ.

ЕСЛИ ВЫ ХОТИТЕ УСТАНОВИТЬ DEBIAN НА ОДНУ МАШИНУ, И У ВАС ЕСТЬ ДЕШЁВОЕ ПОДКЛЮЧЕНИЕ К ИНТЕРНЕТ, СЕТЕВАЯ УСТАНОВКА МОЖЕТ БЫТЬ САМЫМ БЫСТРЫМ И ПРОСТЫМ СПОСОБОМ УСТАНОВКИ. ВЫ ЗАГРУЗИТЕ ТОЛЬКО ТЕ ПАКЕТЫ, КОТОРЫЕ ХОТИТЕ УСТАНОВИТЬ, ЧТО ПОЗВОЛИТ СЭКОНОМИТЬ ВРЕМЯ И ТРАФИК.

Скачать businesscard-образ можно на странице официального сайта Debian GNU/Linux. Я выбрал образ под архитектуру компьютера x86 (образ i386).

На текущий момент (25 января 2012 года) Squeeze — последняя стабильная версия Debian.

Я предполагаю, что вы уже знакомы со свободным продуктом корпорации Oracle VirtualBox и умеете настроить его для запуска установки операционной системы.

Единственное, что необходимо сделать в настройках виртуальной машины — установить в параметрах сети два адаптера: NAT и сетевой мост.

Итак, начнём.





Перед нами меню установки Debian GNU/Linux. Выбираем пункт «Install».





Появилось окно с выбором языка, который будет использоваться в процессе установки операционной системы. Так как я приверженец английского языка в UNIX-системах, то следовательно, я выбрал английский язык. Вы же без проблем можете прокрутить список вниз и выбрать русский.





После выбора языка появится окно с выбором вашего местонахождения. Это необходимо для задания часового пояса и настройки времени. Если вашей страны нет в начальном списке, то выбираем пункт «other» и далее по пунктам в зависимости от вашего местонахождения.





Так как я изначально выбрал английский язык, а страну Беларусь, то установщик показал окно с уточнением моего языка.




Далее появится окно с выбором раскладки клавиатуры. Здесь я также выбрал английский (пункт «American English»).

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




C самого начала в настройках сети виртуальной машины мы указали два адаптера сети (NAT и сетевой мост), поэтому установщик запросил выбрать адаптер, который будет главным. Выбираем тот, который соответствует NAT-подключению («etho»).




Появилось окно настройки сети. В нём нужно указать имя компьютера (я задал «my-pc»)…



…и домен (я задал «debian»).




Далее появится окно с выбором зеркала для загрузки архивов Debian GNU/Linux. Выбираете вашу страну либо страну, которая расположена ближе всего к вам.





Следующее окно — настройка прокси-сервера. Если вы используете прокси-сервер для выхода в интернет, тогда вам нужно заполнить поле в соответствии с указанным шаблоном. Если нет — жмём «Continue».




Далее появятся окна с запросом на ввод и подтверждение пароля для root-пользователя (то есть администратора системы). Мы же будем входить в систему под обычным пользователем, которого создадим далее.





Создаём пользователя, под которым будем входить в систему.

Для начала введём настоящее имя пользователя, которое будет использоваться, например, при отправке писем. Это имя не будет использоваться для входа в систему.




Теперь уже введём логин, под которым будем входить в систему. Установщик предлагает сделать его таким же, как и ранее заданное имя. Вполне логично, так и оставляем.




Далее задаём пароль для пользователя и подтверждаем его повторным вводом. В целях безопасности советую не использовать такой же пароль, который вы задали для root-пользователя.





Теперь приступим к разметке диска. Перед нами несколько методов разметки: первые три — автоматические (установщик сам делает разметку) и последний — ручной. Мы не ищем лёгких путей, поэтому выбираем ручной метод разметки и идём далее.




Итак, у нас есть 8,6 Гб. Приступим к их «разбитию». Тут важно остановиться и упомянуть, на какие разделы мы будем разбивать диск:

Раздел подкачки (swap) .

Основной раздел (/).

Раздел для настроек и данных (/home)

Раздел под хранение сайтов (/var).


Можно, конечно, в отдельный раздел вынести каталог «/usr», который служит для хранения файлов установленных приложений. Но мы этого делать не будем, оставим его в основном разделе (/).

Для начала в окне выбираем наш диск («SCSI1 (0,0,0) (sda) - 8.6 GB ATA VBOX HARDDISK») и подтверждаем создание таблицы разделов диска.





Раздел подкачки (swap). Его размер совпадает с объёмом оперативной памяти. Если у вас оперативной памяти больше 2 Гб, то размер swap-раздела, как правило, определяется выражением «Объём оперативной памяти / 2» (например, 6 Гб / 2 = 3 Гб). Переходим «pri/log 8.6 GB FREE SPACE» («перв/лог 8.6 GB СВОБОДНОЕ МЕСТО»).



Выбираем «Create a new partition» («Создать новый раздел»).




Задаём размер раздела подкачки (т. к. у меня 2 Гб ОЗУ, то и swap-раздел я задал 2 Гб).




Тип раздела выбираем «Primary» («Первичный»).





Теперь нужно определить место, где будет создан раздел. Тут варианта два: «Beginning» («Начало») и «End» («Конец»). Выбираем «Beginning» («Начало»).




Появилось окно с настройками раздела. Здесь всё просто — выбираем в списке «Use as» («Использовать как») «swap area» («раздел подкачки»).




После этого заканчиваем настройку раздела и выбираем пункт «Done setting up the partition» («Настройка раздела закончена»).

Абсолютно аналогично создаём остальные разделы. Тут стоит отметить некоторыеОБЯЗАТЕЛЬНЫЕ нюансы:

Для основного раздела («/») в настройках устанавливаем метку «Bootable flag» («Метка 'загрузочный'») в положение «on» («вкл»).

Для всех разделов («/», «/home», «/var») выбираем в списке «Use as» («Использовать как») «Ext4 journaling file system» («Журналируемая файловая система Ext4»).

Для всех разделов («/», «/home», «/var») в списке «Mount point» («Точка монтирования») выбираем соответствующее названию раздела значение (точно такие же, как и названия разделов «/», «/home», «/var»).

Размеры же разделов выбираем в соответствии с потребностями. Я, например, выделил под «/home» ~600 Мб, а под «/» и «/var» по 3 Гб.





В итоге получаем такой список разделов. До этого никаких физических действий с диском не производилось. Мы задавали необходимую конфигурацию диска. Проверяем правильность конфигурации и выбираем пункт «Finish partitioning and write chages to disk» («Закончить разметку и записать изменения на диск») и подтверждаем изменения.




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




Установщик предложит выбрать базовое программное обеспечение, которое необходимо установить. Здесь при помощи пробела снимаем все метки, т. к. дополнительное программное обеспечение мы будем устанавливать вручную.

Обратите внимание на пункт «Web server» («Веб сервер»), который вполне может решить нашу главную задачу. Попробуйте, если не хотите проводить детальную ручную установку и настройку веб-сервера. Лично я таким вариантом установки веб-сервера не пользовался, поэтому ничего конкретного по работе не могу сказать.




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




Всё — на этом установка операционной системы Debian GNU/Linux завершена.
В Debian GNU/Linux будем работать исключительно в текстовом режиме, поэтому никаких графических оболочек не устанавливаем.

Итак, приступим к непосредственной установке и настройке веб-сервера, а также запуску тестового сайта и его доступа из хостовой операционной системы Windows 7.
Вводим логин и пароль, указанные при установке (пароль не отображается при вводе).

Прежде всего выполним команды обновления пакетов и их каталога:
sudo apt-get updatesudo apt-get upgrade
Теперь приступим к установке компонентов веб-сервера. Для начала установим веб-сервер Apache2, PHP5, MySQL-сервер и некоторые дополнительные компоненты.
Веб-сервер Apache2:
sudo apt-get install apache2 apache2-doc libapache2-mod-php5
PHP5:
sudo apt-get install php5 php-pear php5-mysql
MySQL-сервер:
sudo apt-get install mysql-server mysql-client
Во время установки MySQL-сервера появится окно с просьбой ввести пароль root-пользователя MySQL. Придумываем, записываем на листок, вводим, подтверждаем.
Дополнительные компоненты:
sudo apt-get install php5-curl php5-gd php5-idn php5-imagick php5-ldap php5-imapphp5-memcache php5-mhash php5-mysql php5-ps php5-pspell php5-sqlite php5-suhosinphp5-tidy imagemagick php5-xcache php5-xdebug php5-xmlrpc php5-xsl
Теперь приступим к установке и настройке phpMyAdmin. Доступ к графическому интерфейсу будет осуществляться через хост-ОС Windows 7, но об этом позже.
Для установки phpMyAdmin выполним следующую команду:
sudo apt-get install phpmyadmin
Появится окно конфигурации phpMyAdmin. При помощи пробела выбираем пункт «apache2» и нажимаем Enter.
Далее появится окно с предложением сконфигурировать phpMyAdmin при помощи приложения dbconfig-common. Выбираем пункт «Yes».
Вводим пароль для root-пользователя MySQL, который был задан на этапе установки MySQL.
Далее придумываем, записываем на листок, вводим и подтверждаем пароль для пользователя под ником «phpmyadmin». Хотя этот пароль запоминать не обязательно, потому что вы никогда им не будете пользоваться. Можно оставить поле ввода пароля пустым — в этом случае система сама сгенерирует пароль.
Открываем файл «/etc/apache2/apache2.conf» при помощи команды:
sudo nano /etc/apache2/apache2.conf
И в конец файла добавляем:
# Include phpmyadmin configurations:Include /etc/phpmyadmin/apache.conf
Сохраняем и закрываем (Ctrl+O → Enter → Ctrl+X).
Перезапустим веб-сервер Apache2 при помощи команды:
sudo service apache2 restart
Как правило, PHP на данный момент уже запущен, но всё же выполним команду по его запуску:
sudo a2enmod php5
Запустим компонент mod_rewrite:
sudo a2enmod rewrite
И перезагрузим веб-сервер Apache2 при помощи описанной ранее команды.
В директории «/var/www» будут хранится файлы сайтов. Для беспрепятственной работы с директорией необходимо в качестве её владельца задать локального пользователя, под которым залогинены в системе, т. к. первоначальным владельцем директории является root-пользователь. Также необходимо сменить группу, к которой относится директория (название группы совпадает с логином локального пользователя). Для это выполняем следующую команду:
sudo chown -R username:username /var/www
Где «username:username» соответствуют схеме «логин:группа».
Теперь необходимо внести некоторые изменения в файл «php.ini». Открываем его при помощи команды:
sudo nano /etc/php5/apache2/php.ini
И вносим следующие изменения (пользуйтесь клавишей F6 для поиска в файле):
max_execution_time: меняем 30 на 90max_input_time: меняем 60 на 180post_max_size: меняем 8M на 200Mupload_max_filesize: меняем с 2M на 50Mmax_file_uploads: меняем с 20 на 150 max_execution_time — максимальное время выполнения скрипта; max_input_time — максимальное время анализа данных запроса; post_max_size — максимальный размер POST-данных; upload_max_filesize — максимальный размер данных для загрузки; max_file_uploads — максимальное число файлов для загрузки за один запрос.
Сохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X).
Приступим к настройке DNS. Здесь всё просто — нужно скачать приложение Dnsmasq и настроить доменную зону «.dev»:
sudo apt-get install dnsmasq
Открываем файл «/etc/dnsmasq.conf»:
sudo nano /etc/dnsmasq.conf
Находим строку
«#address=/doubleclick.net/127.0.0.1»
(либо ориентируемся на строку комментария «Add domains which you want to force to an IP address here»)
И заменяем её на
address=/dev/127.0.0.1
Обязательно проверьте отсутствие знака начала комментария «#» перед строкой.
Сохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X).
Переходим в директорию, где будут храниться сайты:
cd /var/www/
Создаём директорию тестового сайта (название можете придумать своё):
mkdir -p mytestsite.dev/httpdocs
Переходим в директорию «/var/www/mytestsite.dev/httpdocs/» и создаём файл «index.html»:
cd /var/www/mytestsite.dev/httpdocs/sudo nano index.html
В редакторе пишем «Hello, world!», cохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X).
Сделаем копию файла, в котором содержатся виртуальные хосты по умолчанию:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mytestsite.dev
И редактируем его:
sudo nano /etc/apache2/sites-available/mytestsite.dev
Изменяем содержимое на следующее:
<VirtualHost *:80>ServerAdmin webmaster@mytestsite.devServerName mytestsite.devServerAlias www.mytestsite.devDocumentRoot /var/www/mytestsite.dev/httpdocs/ErrorLog /var/log/apache2/error.logCustomLog /var/log/apache2/access.log combined<Directory '/var/www/mytestsite.dev/httpdocs/'>AllowOverride All</Directory><IfModule mpm_itk_module>AssignUserId username usergroup</IfModule></VirtualHost>
Сохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X).
Включаем сайт и перезагружаем Apache:
sudo a2ensite mytestsite.devsudo service apache2 reload
Приступим к установке дополнительных приложений для работы веб-сервера.
SSH server. Он необходим для подключения к Debian GNU/Linux из Windows 7 (например, через утилиту putty):
sudo apt-get install ssh openssh-server
Webmin. Приложение для управления сервером через веб-интерфейс. Переходим настраницу приложения, узнаём номер последней версии и вставляем его вместо выделенного красным:
wget http://sourceforge.net/projects/webadmin/files/webmin/1.580/webmin_1.580_all.debsudo apt-get install perl libnet-ssleay-perl apt-show-versions libapt-pkg-perlopenssl libauthen-pam-perl libpam-runtime libio-pty-perldpkg -i webmin_1.580_all.debsudo apt-get -f install
Веб-интерфес доступен по адресу https://ip-guest-os:10000, где ip-guest-os — IP вашей системы (об этом ниже).
Выполним команды обновления пакетов и их каталога:
sudo apt-get updatesudo apt-get upgrade
Последний штрих в настройке веб-сервера — сетевое подключение. Открываем файл «/etc/network/interfaces»:
sudo nano /etc/network/interfaces
И вставляем в конец файла следующее (конфигурация сетевого моста):
#For access in Guest-OS use allow-hotplug eth1, for Host-OS - auto eth1auto eth1iface eth1 inet staticaddress 192.168.1.100netmask 255.255.255.0network 192.168.1.1broadcast 192.168.1.255gateway 192.168.1.1
Сохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X).
Конечно, все адреса меняем на свои. Информацию по адресам можно получить через командную строку Windows (Пуск → Все программы → Стандартные → Командная строка → вводим «ipconfig /all»). Думаю, проблем с сопоставлением адресов не возникнет. Адрес «192.168.1.100» — IP вашей системы.
Перезагружаем сеть:
sudo service networking restart
При настройке подключения у меня возникла проблема:
(eth0 — NAT, а eth1 — сетевой мост)
Когда для второго адаптера прописано «auto eth1», то Windows 7 связывается с Debian GNU/Linux (работают сайты, SSH и пр.), а в Debian GNU/Linux пропадает интернет (то есть при работе в putty я, например, не смогу устанавливать пакеты из репозиториев). Когда же для второго адаптера вместо «auto eth1» прописано «allow-hotplug eth1», то Windows 7 «не видит» Debian GNU/Linux и, соответственно, нет доступа к сайтам, SSH и пр., а в Debian GNU/Linux появляется интернет.
Возможно это происходит из-за особенностей подключения моего компьютера к интернету (используется роутер), возможно надо как-то настроить адаптер виртуальной машины в Windows 7, а может правильно пробросить порты из Debian GNU/Linux в Windows 7… Проблема пока остаётся открытой и нормального решения я ещё не нашёл.
Хотя в большинстве случаев того, что было установлено в системе ранее хватит для полноценной работы с виртуальным веб-сервером. Однако если вы захотите обновить либо установить ПО, то придётся сделать следующее (обязательно проделываем все шаги напрямую в Debian GNU/Linux, а не в Windows 7 через putty):
Открываем файл «/etc/network/interfaces»:
sudo nano /etc/network/interfaces
Находим строку «auto eth1» и заменяем её на «allow-hotplug eth1». Сохраняем и закрываем файл (Ctrl+O → Enter → Ctrl+X). Перезагружаем сеть.
После обновления/установки необходимых пакетов снова правим файл «/etc/network/interfaces», возвращая ту строку, которую заменили (подсказка в комментарии выше «#For access in Guest-OS use allow-hotplug eth1, for Host-OS - auto eth1»), и перезагружаем сеть.
На этом настройка в Debian GNU/Linux завершена.
Переходим к Windows 7. Всё что нам потребуется — это сделать правку файла «hosts». Для удобства правки можно пользоваться бесплатной утилитой hostscmd, у которой имеется русская документация.
В файл «hosts» нужно добавить следующее:
192.168.1.100 username.my-pc192.168.1.100 mytestsite.dev
«192.168.1.100» — IP-адрес вашей серверной системы
Вот и всё — в Windows 7 открываем браузер и в адресной строке набираем «mytestsite.dev». Если до этого вы всё сделали правильно, откроется страница с надписью «Hello, world!», которая была создана ранее.
А теперь перейдём по адресу «https://192.168.1.100:10000» (где «192.168.1.100» — IP Debian GNU/Linux) либо «http://mytestsite.dev:10000». Откроется страница с формой входа в веб-интерфейс webmin для управления сервером.
Вводим логин и пароль, под которыми мы заходили в Debian GNU/Linux.
Мы вошли в веб-интерфейс по управлению сервером. Смотрите, изучайте, пробуйте — там много всего вкусного. Единственная проблема опять же — доступ к интернету, т. е. вы не сможете установить/обновить ПО через веб-интерфейс из-за недоступности интернета в Debian GNU/Linux.
Теперь зайдём в phpMyAdmin под root-пользователем и создадим другого пользователя, под которым будем работать. Вводим в адресную строку «mytestsite.dev/phpmyadmin». В поля появившейся формы вводим логин (root) и пароль root-пользователя (данные вы записали на листок при установке phpMyAdmin, помните?).
После входа переходим на вкладку «Привилегии», далее «Добавить нового пользователя» и заполняем все поля согласно скриншоту выше.
Разберём подключение к серверу через утилиту putty.
Запускаем утилиту и заполняем поля согласно скриншоту выше.
Далее появится окно, которое представляет собой командную строку Debian GNU/Linux. Вводим логин и пароль как при входе в систему.
В качестве FTP-клиента можно выбрать FreeCommander или FileZilla.
Я выбрал FileZilla. Поля формы соединения с сервером заполняем согласно скриншоту выше.
На этом базовая установка и настройка Debian GNU/Linux и веб-сервера закончена. Если возникли какие-либо вопросы, оставляйте их в комментариях — чем смогу, тем помогу. Для связи через электронную почту можно воспользоваться формой обратной связи.

Комментарии

Популярные сообщения из этого блога

Права на папки и файлы (unix/chmod)

Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian

Как подключить сетевой диск Windows в Linux