Многие PHP разработчики в качестве среды разработки применяют всеми признанные программы, как Denwer, Xampp, WampServer и другие. Но зачастую эти программы лишают возможности разработки проекта в нативной среде обитания. То есть на linux серверах. Однако эту проблему можно решить довольно таки просто, для этого потребуется немного времени и интернет под рукой. В итоге вы будите иметь под рукой LAMP сервер для работы. И так начнем.
Что нам необходимо?
Скачав и установив VirtualBox проведем не хитрую манипуляцию по настройки сети, дабы в будущем не возвращаться к данному вопросу. Оговорюсь сразу, что выполняю установку и настройку на Windows 7 Pro x64. Продолжим, выполнив следующее:
Пуск -> Панель управления -> Сеть и интернет -> Центр управления сетями и общим доступом
Далее в поле «Просмотр активных сетей» заходите в свойства активной сети. В разделе «Доступ» разрешаете общий доступ для VirtualBox Host-Only Network. В ответ на это действие мы получим уведомление о присвоении нашей локальной сетевой карте следующего IP адреса: 192.168.137.1
Теперь внесем изменения в настройки VirtualBox, для это его необходимо запустить и сделать следующее:
Файл -> Свойства -> Сеть -> Тыкаем на отверточку
Проверяем чтобы был прописан IP адрес 192.168.137.1, еще советую отключить DHCP.
Все на этом подготовка программного обеспечения закончена. Приступаем к установке Debian. Описывать установку не вижу смысла, там все тривиально за исключением нескольких моментов:
Ах да, чуть не забыл. Перед началом установки Debian необходимо в главном окне VirtualBox нажать на Свойства (оранжевая шестеренка) и выбрать пункт сеть. Изменим тип подключения на виртуальный адаптер хоста, потом в пункте дополнительно изменим тип адаптера на PCnet-FAST III и завершим нажатием Ok.
Установка LAMP из testing версии.
Для начала на нужно указать сервера с которых будем устанавливать необходимые пакеты.
Note: все команды подразумевают использование sudo перед командой!
Проведем стандартный ритуал для вновь установленного дистрибутива.
Ну и начинаем.
Добавляем testing сервера
Теперь необходимо установить приоритеты загрузки обновлений и установки пакетов.
создастся файл preferences, заполним его следующим содержимым:
Все те же магические действия
Но пакеты не будут обновляться на testing версию, всему «виной» Apt-Pinning.
Команда
apt-get install apache2-mpm-itk/testing вроде как предложит установить версию из testing ветки, но будет множество несовместимостей пакетов. Для этого следует использовать следующую команду:
Хочу сразу заметить! В процессе установки скорее всего возникнет ошибка
E: Не удалось выполнить оперативную настройку 'perl'. Подробней, смотрите в man 5 apt.conf о APT::Immediate-Configure. (2)
Для ее решения необходимо выполнить следующее:
Теперь можно пордолжить установку.
Эти три команды привлекают все необходимые зависимости для нормальной работы сервера. И именно выполненные по одиночке последовательно. Я сталкивался с тем, что при
Далее установим пакет vsftpd
В общем и целом теперь мы имеем весь необходимый минимум для работы с веб сервером. Но он еще не сконфигурирован. Вот что нам для этого необходимо:
Детальную настройку листингов я приводить не буду, это выходит за рамки данной статьи, которая и так уже не маленькая. Приведу лишь некоторые советы:
Теперь я расскажу зачем мы в ручную устанавливали IP адрес для сервера. Для локального доступа к сайту на VirtualBox нам нужно отредактировать файл hosts в нашей Windows. Впишем туда
теперь можно свободно создавать виртуальные домены в зоне .dev и работать с ними через браузер.
Замечу что site.dev должен так же быть прописан в /etc/apache2/sites-available/default в параметре ServerName. Вот в принципе и все. теперь мы можем загружать файлы через FTP на наш новенький сервер и будем иметь к нему доступ обращаясь по адресу site.dev. Вот так мы получили вполне работоспособный сервер для локальной разработки с самыми свежими пакетами серверного ПО. Так же легко можно установить новые пакеты, которые могут понадобится для более комфортной разработки. Например разработчики могут выполнить
и в их руках появляется мощный инструмент кэширования.
Для написания статьи были использованы следующие источники:
Apt-Pinning
Исправление ошибки с Perl
ну и собственный опыт
Спасибо за внимание. Буду рад услышать критику и предложения.
UPD: спасибо inkvizitor68sl за поправку в редактирование файла hosts
Что нам необходимо?
- В первую очередь нам необхадима программа для виртуализации. Наилучшим программным пакетом, на мой взгляд, будет 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
В общем и целом теперь мы имеем весь необходимый минимум для работы с веб сервером. Но он еще не сконфигурирован. Вот что нам для этого необходимо:
- Настройка /etc/apache2/sites-available/default
- настройка /etc/php5/apache2/php.ini
- настройка /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