Настройка среды для разработки Drupal проектов на базе Debian 6

06.07.2011
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin
Автор:

Итак, определяемся что нам нужно для этого прекрасного дела:

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

Activate rewrite module:Активируем модуль 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 mai
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

Вставляем туда

  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:~$ 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

И приведем его к такому виду


        ServerAdmin webmaster@localhost
        ServerName drupal7.loc

        DocumentRoot /var/www/drupal7
        
                Options FollowSymLinks
                AllowOverride All 
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All 
                Order allow,deny
                allow from all
        

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined


Включаем наш сайт (делаем витртуалхост активным):

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 для установки. После того как мы введем в адресной строке /drupal7.loc/ нам откроется окно установка Drupal.
В итоге, у нас есть среда, на которую мы потратили немножко времени, но теперь спокойно можем заниматься своим любимым делом и разрабатывать проекты.

1 vote, Rating: 5
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin

Также по теме

1

В предыдущей статье рассказывалось о создании инсталляционных профилей для Drupal 6. В данной...

2

В Drupal 7 API есть целый раздел, который посвящен темизации сайта. Все без исключения элементы сайта должны пройти...

3

При разработке иногда возникает необходимость исполнить такие действия/команды, для которых недостаточно прав или отсутствует доступ к некоторым директориям у пользователя, из-под которого запущен...

4

Одним из весомых преимуществ Drupal 7 перед его предшественниками есть его гибкость в отношении настроек и систем. Разработчики не обошли стороной и запросы к БД. В седьмом релизе они стали...

5

В конце апреля этого года в своем официальном блоге представители Google Analytics объявили о запуске бета-тестирования нового интерфейса. 

В этой же статье я хочу рассказать об...

Need a quote? Let's discuss the project

Are you looking for someone to help you with your Drupal Web Development needs? Let’s get in touch and discuss the requirements of your project. We would love to hear from you.

Join the people who have already subscribed!

Want to be aware of important and interesting things happening? We will inform you about new blog posts on Drupal development, design, QA testing and more, as well news about Drupal events.

No charge. Unsubscribe anytime