Linux + XAMPP 1.8 + Drupal 7

Главные вкладки

Аватар пользователя xSPiRiTx xSPiRiTx 3 декабря 2012 в 20:45

Имеем на борту Linux (у меня ArchLinux).
Хотим делать сайты на Drupal (аналогично можно и на джумле и на вордпресс и т.п.).

Инструктаж:

1) Ставим XAMPP 1.8.1 (на момент написания последняя версия).
Качаем отсюда архив .tar.gz:
http://www.apachefriends.org/ru/xampp-linux.html

далее в терминале переходим в директорию куда скачался xampp (напр. cd ~/Downloads) и выполняем от root:
sudo tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

Первый запуск ракеты осуществляется командой от рута:
sudo /opt/lampp/lampp start

Если все прошло ништяком и по адресу http://localhost в браузере вас встретил XAMPP и пустил на свою страничку после выбора языка, то выпьем пивка и продолжаем...

*если система 64-бит, то нужно ставить дополнительные библиотеки. Так например в ArchLinux в /etc/pacman.conf нужно раскомментировать репозитории miltilib

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

потом выполнить pacman -Sy и поставить дополнительные либы:
pacman -S lib32-glibc gcc-libs-multilib

2) Получаем доступ в phpMyAdmin
При попытке зайти в phpMyAdmin он начнет ругаться, что не хватает доступа:

   Access forbidden!

   New XAMPP security concept:

   Access to the requested directory is only available from the local network.

   This setting can be configured in the file "httpd-xampp.conf".

   If you think this is a server error, please contact the webmaster.
   Error 403
   localhost

Чтобы эту каку убрать и добиться доступа нужно в файле от рута /opt/lampp/etc/extra/httpd-xampp.conf найти:

<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory>

и заменить этим:

<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

*sudo subl /opt/lampp/etc/extra/httpd-xampp.conf (где "subl" - ваш любимый редактор. в моем случае это Sublime Text 2...также можно подставить и gedit, и kate, и geany, и консольный nano....да хоть vim или notepad.exe из под Wine ROFL
Идем дальше...

3) Подготовка apache:
в файле /opt/lampp/etc/httpd.conf ищем такую конструкцию и набиваем свои данные:

User xspiritx
Group users

*xspiritx - вместо этого пишем своего юзера
*users - так и оставляем

4) Права доступа и директория htdocs
Я просто врубил pcmanfm от рута (sudo pcmanfm), и на каталог /opt/lampp/htdocs назначил владельца себя и группу users. (Правой кнопкой на htdocs, Свойства файла, вкладка Права доступа. Согласиться с тем, чтобы дать эти же права на все файлы и каталоги внутри)
Тоже самое придется сделать с файлом /opt/lampp/phpmyadmin/config.inc.php

5) Включаем виртуальные хосты
Если вашей душке не угодно набирать localhost/site1.ru, localhost/site2.ru и т.д. а хотим быстренько переходить по адресу site1.ru или site1.my....да хоть http://drupal.gamno
Снова от рута лезем в файл /opt/lampp/etc/httpd.conf, ищем и раскомментируем строчку:

#Include etc/extra/httpd-vhosts.conf

*стираем знак "#"

Далее двигаем в файл для занесения виртуальных хостов /opt/lampp/etc/extra/httpd-vhosts.conf (все так же от рута) и заносим туда для начала это, потому что первым делом у вас отвалится "адрес" http://localhost

<VirtualHost *:80>
        ServerAdmin admin@localhost.ru
        DocumentRoot /opt/lampp/htdocs
        ServerName localhost
        ErrorLog logs/localhost-error_log
        CustomLog logs/localhost-access_log common
</VirtualHost>

Потом по этому примеру ниже добавляем свои хосты:

<VirtualHost *:80>
        ServerAdmin admin@site1.ru
        DocumentRoot /opt/lampp/htdocs/site1.ru
        ServerName site1.ru
        ErrorLog /opt/lampp/htdocs/site1.ru/error_log
        CustomLog /opt/lampp/htdocs/site1.ru/access_log common
</VirtualHost>

6) Файл /etc/hosts
Указываем в этом файле свои виртуальные хосты через пробел после записи 127.0.0.1, например:
127.0.0.1 site1.ru site2.ru site3.ru

7) Готово!
В /opt/lampp/htdocs создаем директории для своих будущих сайто-творений, например "site1.ru" и сливаем туда файлы дистрибутива вашей любимой CMS Drupal (ну или джумла либо вордпресс), скачанные с официального сайта http://drupal.org (тут нужно быть внимательным и не забыть про файл .htaccess...ибо все файлы начинающиеся с "." точки в Linux помечаются как скрытые!)

и перегружаем свой сервер:
sudo /opt/lampp/lampp restart

Ну а теперь пробуем в браузере:
http://site1.ru
...если вылез друпал с просьбами установить его полностью (ты можешь? устанавливай его! он друпал! установи его полностью!) - пьем пиво и радуемся жизни

Для запуска панели с кнопками остановить/запустить я создал ярлычок с командой
sudo python2 /opt/lampp/share/xampp-control-panel/xampp-control-panel.py

Удачи!

Комментарии

Аватар пользователя Sun-fire Sun-fire 4 декабря 2012 в 2:32

Небольшое ИМХО.

Насколько я понял после беглого прочтения, в статье рассказывается о деплойменте LAMP для локальной машины.

Если уже установлен линукс, то какой смысл городить огород с XAMPP, если с успехом можно использовать чистый Apache/Nginx, MySQL и PHP?

Два-три часа чтения мануалов по конфигурированию всего этого, и имеем рабочую систему, плюс понимание, как оно все работает. Готовых примеров - полно. Для той же Убунты например все делается довольно просто.

Под винду это да. Там проще готовую сборку установить. Когда то пользовался XAMPP, сейчас для локальных экспериментов использую Denwer. Тут уже на вкус и цвет. Но под линуксом имеет ли это смысл.

Аватар пользователя xSPiRiTx xSPiRiTx 4 декабря 2012 в 4:23

да как-то начал работать с xampp так и работаю. некоторые проблемы уже удалось решить.
а самосборный LAMP как-то все впадлу Smile

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

"Sun-fire" wrote:
Для той же Убунты например все делается довольно просто.

а для того же арча все делается довольно впадлу =)))
https://wiki.archlinux.org/index.php/LAMP