Налаштування середовища для розробки Drupal проектів на базі Debian 6

08.07.2011
Setting environment for Drupal projects development on the basis of Debian 6
Автор:

Отож, визначимось, що нам потрібно для цієї прекрасної справи:

1. Встановлена система, в даному випадку Debian 6 "Squeeze" (думаю, немає потреби зупинятись на встановленні даної системи, так як статей на цю тему на просторах інтернету більш, ніж достатньо). Передбачається, що Ви знаєте як з консолі створювати папки, робити ссилки, встановлювати програмні пакети.

2. Середовище для Drupal:

2.1. Web server (e.g., Apache)

2.2. PHP

2.3. Database server (e.g., MyAQL, 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 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

Для перевірки роботи PHP скористаємось старим і добрим phpinfo

drupal@debian6:~$ sudo nano /var/www/phpinfo.php

Вставляємо туди

  phpinfo();

І перевіряємо його працездатність за посиланням  http://localhost/info.php

Змінимо трішки налаштування 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  в PHP

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

Робимо рестарт для того, щоб підхопились налаштування VirtualHost для нашого сайту.

drupal@debian6:~$ sudo /etc/init.d/apache2 restart

Якщо Ви працюєте на одному комп'ютері, то можна скористатись файлом /etc/hosts, в якому зробити прив'язку Вашого проекту до нашого IP.

drupal@debian6:~$ sudo nano /etc/hosts

Додаємо туди рядок: 

127.0.0.1    drupal7.loc

Далі переходимо в /var/www/ і розпаковуємо друпал в папку drupal7 для встановлення. Після того як ми введемо в адресну стрічку http://drupal7.loc/ нам відкриється вікно встановлення Drupal.

Як результат ми маємо середовище, на яке витратили трішки часу, але тепер спокійно можемо займатись своєю улюбленою справою і розробляти проекти.

2 votes, Рейтинг: 5

Також по темі

1

В даній статті на Ваш розгляд буде представлена інформація про можливості платформи Titanium Appcelerator. Також стаття дає можливість познайомитись із частовживаними об'єктами групи Titanium.UI:...

2

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

3

В Drupal 7 API є цілий розділ, присвячений темізації сайту. Всі елементи сайту без виключення повинні пройти процес темізації. 

4

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

5

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

Subscribe to our blog updates