Как установить Apache2 и настроить для работы с Drupal.

Задача: Получить работающую CMS Drupal на локальном компьютере для отладки приложений.

1. Устанавливаем вэб сервер apache2 + PHP5 + MySQL + phpmyadmin

sudo aptitude install apache2 php5 mysql-client mysql-server phpmyadmin libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql

В сумме пакеты "весят" около 46 Мб.

И создаём ссылку на phpmyadmin

sudo ln -s /etc/phpmyadmin /var/www

2. Проверяем работоспособность установленных компонентов

По умолчанию файлы web приложений находятся в папке:

/var/www

А вэб сервер доступен по адресу:

http://localhost

Если сервер работает нормально то вы должны увидеть надпись:

It Works!

phpmyadmin доступен по адресу:

http://localhost/phpmyadmin

3. Создаем виртуальный хост

Создаем папку в которой у нас будут находится файлы сайта, на пример:

mkdir /home/%username%/web/mysite

и кладем в нее фалы drupal (Скачать можно с http://drupal.ru)

Затем открываем файл /etc/hosts

kdesudo kate /etc/hosts

и добавляем в него строчку

127.0.1.1 mysite

Конечно в место mysite можно написать все что угодно, mysite приведено в качестве примера. Это делается для того, чтобы наш сайт был доступен по по этому адресу. В данном случае по http://mysite

Так же, чтобы апач не выдавал ошибку

Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

при его перезагрузке добавляем в /etc/hosts в первую строчку название вашего компьютера.

127.0.0.1 localhost.localdomain localhost my-desktop
127.0.1.1 my-desktop
127.0.1.1 mysite

Где my-desktop - имя вашего компьютера.

Теперь настраиваем виртуальный хост в apache

Фалы конфигурации apache2

/etc/apache2/ - Основная папка
|
|___ /mods-available - доступные модули apache
|
|___ /mods-enabled - подключенные модули apache
|
|___ /sites-available - доступные сайты
|
|___ /sites-enabled - подключенные сайты
|
|____apache2.conf - основной файл конфигурации apache2

В папке sites-available находятся файлы конфигурация виртуальных хостов.

А в папке sites-enabled находятся линки на файлы конфигураций из sites-available.

Это позволяет легко и быстро включать и выключать сайты, путем добавления или удаления линков из sites-enabled.

Тоже самое касается и модулей.

Создаем файл конфигурации хоста mysite

kdesudo kate /etc/apache2/sites-available/mysite

в который добавляем

<VirtualHost *:80>
  ServerAlias mysite www.mysite
  DocumentRoot /home/usernsme/web/mysite
  <Directory home/username/web/mysite/>
    AllowOverride All
  </Directory>
</VirtualHost>

Документация по виртуальным хостам Apache

Затем включаем наш виртуальный хост.

В apache2 для этого существуют специальные команды:

a2ensite, a2dissite, a2enmod, a2dismod. Всё что они делают - проставляют и удаляют ссылки в соответствующих каталогах.

sudo a2ensite mysite

И включаем модуль rewrite для работы "чистых ссылок"

sudo a2enmod rewrite

Создаем базу mysql. Лично я использую для работы с MySQL phpmyadmin.

http://localhost/phpmyadmin

Перезапускаем apache

sudo /etc/init.d/apache2 restart

и вводим в браузере http://mysite

Возможно, вам понадобиться установить права на запись на папку и вложенные подкаталоги где находится ваш сайт.

chmod -R 777 /home/username/web/mysite/

Так же не забудьте создать папку files (нужна для работы Drupal)

mkdir /home/username/web/mysite/files

и дать ей права на запись

chmod 777 /home/username/web/mysite/files

Если у вас не будут работать "чистые ссылки" удостоверьтесь что в директории с друпалом есть файл .htaccess У меня он почему то упорно не хотел разархивироваться.