Pull to refresh

Локальный сервер на Debian 6 + LAMP из testing

Reading time4 min
Views9.7K
Многие PHP разработчики в качестве среды разработки применяют всеми признанные программы, как Denwer, Xampp, WampServer и другие. Но зачастую эти программы лишают возможности разработки проекта в нативной среде обитания. То есть на linux серверах. Однако эту проблему можно решить довольно таки просто, для этого потребуется немного времени и интернет под рукой. В итоге вы будите иметь под рукой LAMP сервер для работы. И так начнем.

Что нам необходимо?
  • В первую очередь нам необхадима программа для виртуализации. Наилучшим программным пакетом, на мой взгляд, будет VirtualBox. Качаем актуальную версию с www.virtualbox.org;
  • Следующим шагом скачаем дистрибутив стабильного выпуска операционной системы Debian с официального сайта www.debian.org, советую скачивать минимальные образы.

Скачав и установив VirtualBox проведем не хитрую манипуляцию по настройки сети, дабы в будущем не возвращаться к данному вопросу. Оговорюсь сразу, что выполняю установку и настройку на Windows 7 Pro x64. Продолжим, выполнив следующее:
Пуск -> Панель управления -> Сеть и интернет -> Центр управления сетями и общим доступом
Далее в поле «Просмотр активных сетей» заходите в свойства активной сети. В разделе «Доступ» разрешаете общий доступ для VirtualBox Host-Only Network. В ответ на это действие мы получим уведомление о присвоении нашей локальной сетевой карте следующего IP адреса: 192.168.137.1

Теперь внесем изменения в настройки VirtualBox, для это его необходимо запустить и сделать следующее:
Файл -> Свойства -> Сеть -> Тыкаем на отверточку
Проверяем чтобы был прописан IP адрес 192.168.137.1, еще советую отключить DHCP.
Все на этом подготовка программного обеспечения закончена. Приступаем к установке Debian. Описывать установку не вижу смысла, там все тривиально за исключением нескольких моментов:
  • Во время автоматической настройки сети нажмите «отмена» и установите в ручную IP адрес, например 192.168.137.5. Остальные пункты настройки сети можно оставить без изменений;
  • Оставьте пустым поле пароля root пользователя, тем самым следующим шагом вы настроите своего пользователя и автоматически произойдет настройка sudo

Ах да, чуть не забыл. Перед началом установки Debian необходимо в главном окне VirtualBox нажать на Свойства (оранжевая шестеренка) и выбрать пункт сеть. Изменим тип подключения на виртуальный адаптер хоста, потом в пункте дополнительно изменим тип адаптера на PCnet-FAST III и завершим нажатием Ok.

Установка LAMP из testing версии.
Для начала на нужно указать сервера с которых будем устанавливать необходимые пакеты.
Note: все команды подразумевают использование sudo перед командой!

Проведем стандартный ритуал для вновь установленного дистрибутива.

apt-get update
apt-get upgrade


Ну и начинаем.

vi /etc/apt/sources.list

Добавляем testing сервера

#TESTING
deb http: //ftp.ru.debian.org/debian/ testing main non-free contrib
deb-src http: //ftp.ru.debian.org/debian/ testing main non-free contrib


Теперь необходимо установить приоритеты загрузки обновлений и установки пакетов.

vi /etc/apt/preferences

создастся файл preferences, заполним его следующим содержимым:

Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650


Все те же магические действия

apt-get update
apt-get upgrade


Но пакеты не будут обновляться на testing версию, всему «виной» Apt-Pinning.

Команда apt-get install apache2-mpm-itk предложит нам установить версию из stable, но цель в другом.

apt-get install apache2-mpm-itk/testing вроде как предложит установить версию из testing ветки, но будет множество несовместимостей пакетов. Для этого следует использовать следующую команду:

apt-get -t testing install apache2-mpm-itk

Хочу сразу заметить! В процессе установки скорее всего возникнет ошибка

E: Не удалось выполнить оперативную настройку 'perl'. Подробней, смотрите в man 5 apt.conf о APT::Immediate-Configure. (2)

Для ее решения необходимо выполнить следующее:

apt-get install perl -o APT::Immediate-Configure=false

Теперь можно пордолжить установку.

apt-get -t testing install php5
apt-get -t testing install mysql-server
apt-get -t testing install phpmyadmin

Эти три команды привлекают все необходимые зависимости для нормальной работы сервера. И именно выполненные по одиночке последовательно. Я сталкивался с тем, что при

apt-get -t testing install apache2-mpm-itk php5 mysql-server phpmyadmin могут появится неразрешимые зависимости.

Далее установим пакет vsftpd

apt-get -t testing install vsftpd

В общем и целом теперь мы имеем весь необходимый минимум для работы с веб сервером. Но он еще не сконфигурирован. Вот что нам для этого необходимо:
  1. Настройка /etc/apache2/sites-available/default
  2. настройка /etc/php5/apache2/php.ini
  3. настройка /etc/vsftpd.conf


Детальную настройку листингов я приводить не буду, это выходит за рамки данной статьи, которая и так уже не маленькая. Приведу лишь некоторые советы:
  • при настройке /etc/apache2/sites-available/default не забудьте указать AssignUserID user user так как мы использовали при установке apache2-mpm-itk
  • при настройке /etc/php5/apache2/php.ini обратите внимание на display_errors, установите значениев on иначе вы можете долго сидеть перед 500 ошибкой в браузере
  • настройка /etc/vsftpd.conf заключается в закрытие доступа анонимных пользователей, разрешение работы локальных пользователей и запирание в домашней директории. Но хотел бы обратить ваше внимание на отсутствующий параметр в конфигурации: force_dot_files=YES этот параметр дает нам возможность просматривать скрытые файлы, а точнее файлы начинающиеся с точки. например .htaccess


Теперь я расскажу зачем мы в ручную устанавливали IP адрес для сервера. Для локального доступа к сайту на VirtualBox нам нужно отредактировать файл hosts в нашей Windows. Впишем туда

192.168.137.5 *.dev

теперь можно свободно создавать виртуальные домены в зоне .dev и работать с ними через браузер.

Замечу что site.dev должен так же быть прописан в /etc/apache2/sites-available/default в параметре ServerName. Вот в принципе и все. теперь мы можем загружать файлы через FTP на наш новенький сервер и будем иметь к нему доступ обращаясь по адресу site.dev. Вот так мы получили вполне работоспособный сервер для локальной разработки с самыми свежими пакетами серверного ПО. Так же легко можно установить новые пакеты, которые могут понадобится для более комфортной разработки. Например разработчики могут выполнить

apt-get -t testing install memcached php5-memcache

и в их руках появляется мощный инструмент кэширования.

Для написания статьи были использованы следующие источники:
Apt-Pinning
Исправление ошибки с Perl
ну и собственный опыт

Спасибо за внимание. Буду рад услышать критику и предложения.

UPD: спасибо inkvizitor68sl за поправку в редактирование файла hosts
Tags:
Hubs:
Total votes 17: ↑7 and ↓10-3
Comments12

Articles