Настройка среды для разработки Drupal проектов на базе Debian 6
Итак, определяемся что нам нужно для этого прекрасного дела:
1. Установленная система, в данном случае Debian 6 "Squeeze" (думаю не стоит останавливаться на установке данной системы, так как статей на эту тему на просторах интернета просто предостаточно). Предполагается, что Вы знаете как из консоли создавать папки, делать ссылки, устанавливать программные пакеты.
2. Среда для Drupal:
2.1. Web server (e.g., Apache)
2.2. PHP
2.3. Database server (e.g., MySQL, PostgreSQL)
Перед началом установки посмотрим нет ли обновлений для нашей системы, для этого запустим соответствующие команды:
drupal@debian6:~$ sudo apt-get update drupal@debian6:~$ sudo apt-get upgrade
Дальше ставим Apache, PHP.
drupal@debian6:~$ sudo apt-get install apache2 apache2-doc php5 libapache2-mod-php5 php-pear
drupal@debian6:~$ sudo apt-get install php5-curl php5-gd php5-idn php5-imagick php5-ldap php5-imap php5-memcache php5-mhash php5-mysql php5-ps php5-pspell php5-sqlite php5-suhosin php5-tidy imagemagick php5-xcache php5-xdebug php5-xmlrpc php5-xsl build-essential php5-dev bzip2
Активируем модуль rewrite:
drupal@debian6:~$ sudo a2enmod rewrite
В роли Database server можно установить MySQL:
drupal@debian6:~$ sudo apt-get install mysql-server
drupal@debian6:~$ sudo apt-get install mysql-client
Или же вместо MySQL установить MariaDB:
drupal@debian6:~$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1BB943DB drupal@debian6:~$ sudo nano /etc/apt/sources.list.d/mariadb.list
И добавляем в файл две строчки
deb http://mirror.de.gsnw.de:56431/mariadb/repo/5.2/debian squeeze main
deb-src http://mirror.de.gsnw.de:56431/mariadb/repo/5.2/debian squeeze main
drupal@debian6:~$ sudo apt-get update drupal@debian6:~$ sudo apt-get install mariadb-server
Если не очень любите работать с консолью, то для работы с базами можно установить phpmyadmin:
drupal@debian6:~$ sudo apt-get install phpmyadmin
Теперь его можно увидеть по ссылке http://localhost/phpmyadmin (это если Вы всё делаете на одной машине) или http://your_ip/phpmyadmin (если среда находится на удаленной машине).
your_ip - IP-адрес компьютера где все установлено.
Чтобы не вводить длинное название можно его сократить и вместо http://localhost/phpmyadmin сделать http://localhost/pma. Для этого нужно отредактировать файл с настройками
drupal@debian6:~$ sudo nano /etc/phpmyadmin/apache.conf
в строчке Alias /phpmyadmin usr/share/phpmyadmin меняем /phpmyadmin на /pma или на другое удобное для нас название, перезагружаем apache:
drupal@debian6:~$ sudo /etc/init.d/apache2 restart
Теперь когда всё установлено, можно переходить к настройке директорий, виртуал хостов и прав на папки.
По умолчанию все сайты хранить будем в папке /var/www/ , но на неё права стоят только для root . Изменим их для своего пользователя:
drupal@debian6:~$ sudo chown -R drupal:drupal /var/www
Для проверки работы РНР воспользуемся старым и добрым phpinfo
drupal@debian6:~$ sudo nano /var/www/phpinfo.php
Вставляем туда
<?php
phpinfo();
?>И проверяем его работоспособность по ссылке http://localhost/info.php
Изменим немножко настройки РНР для нашей работы:
drupal@debian6:~$ sudo nano /etc/php5/apache2/php.ini
меняем параметры:
max_execution_time = 90 (время выполнения скрипта в секундах)
post_max_size = 32M (максимальный размер который передается POST запросами)
upload_max_filesize = 50M (максимальный размер файла, который можно загрузить, очень удобно, если импортируется база данных через phpmyadmin)Для ускорения работы PHP скриптов установим eAccelerator
drupal@debian6:~$ sudo apt-get install build-essential php5-dev
drupal@debian6:~$ cd /tmp
drupal@debian6:~$ sudo wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
drupal@debian6:~$ sudo tar xvfj eaccelerator-0.9.6.1.tar.bz2
drupal@debian6:~$ sudo cd eaccelerator-0.9.6.1
drupal@debian6:~$ sudo phpize
drupal@debian6:~$ sudo ./configure
drupal@debian6:~$ sudo make
drupal@debian6:~$ sudo make install
Создаем директорию для кеша и выставляем на нее права:
drupal@debian6:~$ sudo mkdir -p /var/cache/eaccelerator
drupal@debian6:~$ sudo chmod 0777 /var/cache/eaccelerator
PHP 5.3 по умолчанию ставится с поддержкой XCache. Для корректной работы eAccelerator нужно просто убрать XCache из модулей
drupal@debian6:~$ sudo mv /etc/php5/conf.d/xcache.ini ~/
Делаем рестарт Apache2
drupal@debian6:~$ sudo /etc/init.d/apache2 restart
Проверяем наличие eAccelerator в РНР
drupal@debian6:~$ php -v
PHP 5.3.3-7+squeeze1 with Suhosin-Patch (cli) (built: Mar 18 2011 17:22:52)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Дальше создаем виртуалхост для нашего проекта (скопируем дефолтный виртуалхост для своего сайта):
drupal@debian6:~$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/drupal7
drupal@debian6:~$ sudo nano /etc/apache2/sites-available/drupal7
И приведем его к такому виду
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName drupal7.loc
DocumentRoot /var/www/drupal7
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/drupal7/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Включаем наш сайт (делаем витртуалхост активным):
drupal@debian6:~$ sudo a2ensite drupal7
Делаем рестарт Apache2 для того чтобы подхватились настройки VirtualHost для нашего сайта.
drupal@debian6:~$ sudo /etc/init.d/apache2 restart
Если вы работаете на одном компьютере, то можно воспользоваться файлом /etc/hosts, в котором сделать привязку URL вашего проекта к нашему IP.
drupal@debian6:~$ sudo nano /etc/hosts
Додаем туда строку:
127.0.0.1 drupal7.loc
Дальше переходим в /var/www/ и распаковываем друпал в папку drupal7 для установки. После того как мы введем в адресной строке http://drupal7.loc/ нам откроется окно установка Drupal.
В итоге, у нас есть среда, на которую мы потратили немножко времени, но теперь спокойно можем заниматься своим любимым делом и разрабатывать проекты.


