Уголок СУ-11 на просторах вселенной

вторник, 7 октября 2008 г.

Установка и настройка Apache2 + PHP5 + MySQL + virtual hosts + xdebug, а также XDebug в Eclipse+PDT

Полная перепечатка с http://rubuntu.ru/forums/viewtopic.php?f=13&t=26

В этом топике я расскажу как установить и настроить Apache2 + PHP5 + MySQL + virtual hosts + xdebug, а также XDebug в Eclipse+PDT.


Устанавливаем MySQL
Открываем терминал и ручками пишем :
1. sudo apt-get install mysql-server
2. После установки должен открыться диалог создания root-пароля для MySQL, если этого не произошло, то пишем :
sudo mysqladmin -u root password XXXX
где XXXX - ваш пароль
3. Теперь установим GUI для управления БД MySQL :
sudo apt-get install mysql-admin
MySQL установлен.

Устанавливаем Apache2 и PHP5
Опять же делаем ручками :
1. sudo apt-get install apache2
2. Теперь приконнектим к новоиспеченному апачу php5, вместе с библиотеками для работы с MySQL и графикой :
sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php-image-graph imagemagick
3. После установки - перезапускам апач :
sudo /etc/init.d/apache2 restart
Проверяем работоспособность нашего веб-сервера - заходим в браузер и пишем :
http://localhost/apache2-default
Должна появиться надпись : "It works!".
Директории по умолчанию :
/var/www/ - скрипты и файлы пользователей;
/etc/php5/ и /etc/apache2/ - конфигурационные файлы php5 и apache2;
4. Проверяем работоспособность PHP5. Создадим файл phpinfo.php :
sudo gedit /var/www/phpinfo.php
В него заносим следующее :

5. Сохраняем его и заходим по ссылке : http://localhost/phpinfo.php
Если появилась инфо о php5 - все ок!

Настраиваем Virtual Hosts для Apache2
1. Вводим в терминале :
sudo /etc/init.d/apache2 stop
2. sudo gedit /etc/apache2/sites-available/default
3. Закоменттим все что есть после строчки "NameVirtualHost 127.0.0.1:80" (ставим в начале строки "#");
4. Здесь я покажу 3 способа создания виртуальных хостов. В конце файла добавляем такие строчки :


ServerAdmin webmaster@localhost
DocumentRoot /var/www/localhost/www
ServerName localhost
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined



ServerAdmin webmaster@localhost
DocumentRoot /var/www/ipbased/www
ServerName ipbased
ErrorLog /var/log/apache2/error.log
TransferLog /var/log/apache2/access.log



ServerAdmin webmaster@localhost
DocumentRoot /var/www/namebased/www
ServerName namebased
ErrorLog /var/log/apache2/error.log
TransferLog /var/log/apache2/access.log


Не забываем создать директории указанные в DocumentRoot'ах.
5. Заходим в Система > Администрирование > Сеть. Переходим во вкладку "Узлы". Ищем ip-шник "127.0.0.1". Выбрали? - нажимаем "Свойства". Добавляем такие записи :

localhost
namebased

6. Далее жмем "Добавить" и вводим ip-шник на который хотим, чтобы откликался хост "ipbased". В поле "Псевдонимы" вводим :
ipbased
7. sudo /etc/init.d/apache2 start
8. Все! Проверям хосты : http://ipbased/, http://localhost/, http://namebased/, http://127.0.0.1/, http://[ip-адрес хоста ipbased]

Устанавливаем XDebug и соединяем его с PHP5
В случае, если вы ставили апач и пхп по выше изложенным инструкциям, то пора показать как установить и приклеить к этому всему отладчик xdebug :
1. В терминале вводим :
sudo apt-get install php-pear php5-dev
2. Далее :
sudo pecl install xdebug
3. Теперь открываем php.ini :
sudo gedit /etc/php5/apache2/php.ini
XDebug лежит в /usr/lib/php5/20060613+lfs/ (если ставили сервер, по этим инструкциям). Возможно последняя директория может отличаться. Захотите - найдете :).
Небольшой тюннинг по текущему пункту :

* тюннинг №1 :

По умолчанию расширения (extensions) хранятся в каталоге вида /usr/lib/php5/20060613+lfs. Мне такой путь не нравится, поэтому предлагаю поменять каталог на /usr/lib/php5/ext и прописать изменения в php.ini
sudo gedit /etc/php5/apache2/php.ini
Заменяем ;extension_dir=’./’ на extension_dir = “/usr/lib/php5/ext/”.




* тюннинг №2 :

Я бы предложил положить строки, касающиеся xdebug, в /etc/php5/conf.d/xdebug.ini. Так реально удобнее.





Итак, пишем в конец файла php.ini (xdebug.ini, если использовали тюннинг №2) следующее :

zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so" ;("/usr/lib/php5/ext/xdebug.so", если использовали тюннинг №1)
xdebug.remote_enable=1
xdebug.profiler_output_dir = "/home/yourhome/projects/tmp_xdebug" ;здесь директория для сохранения результатов профилировщика

Все. С серваком покончили :)

Устанавливаем Eclipse+PDT и настраиваем в нем XDebug
1. Качаем Eclipse SDK v3.3.1.1 :

* если 32-битная JVM (виртуальная машина java) : отсюда (http://download.eclipse.org/eclipse/downloads/drops/R-3.3.1.1-200710231652/download.php?dropFile=eclipse-SDK-3.3.1.1-linux-gtk.tar.gz)
* если 64-битная JVM : отсюда (http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1.1-200710231652/eclipse-SDK-3.3.1.1-linux-gtk-x86_64.tar.gz)


2. Распаковываем эклипс в директорию на ваш выбор, запускаем его и заходим в меню Help > Software Updates > Find and Install

если при запуске эклипс матюкается, что мол "а джавы-то нет" :), то набираем ручками в терминале такую команду :
sudo apt-get install sun-java6-jdk


3. Выбираем "Search for new features to install"
4. В следующем окне нажимаем "New Remote Site..."
5. В поле "Name" вводим "PDT Updates", а в "URL" - "http://download.eclipse.org/tools/pdt/updates/". Ставим галочки на всех зеркалах. Next >
6. Как только поиск закончится - раскрываем "PDT Updates" и ставим галочку возле "PDT SDK...". Также не забываем нажимать "Select Required" для установки необходимых компонентов
7. Перезагружаем Эклипс
8. Идем Window > Open Perspective > PHP. Если такой пункт меню есть - все ок. Если нет - пробуем такие варианты :

* 1-й вариант :

у меня проблема эта возникла из-за виртуальной машины java. Я поставил java-6-sun, потом поставил eclipse+pdt. PHP Perspectives отсутствовала (хотя ставил All in one)
В итоге помогла команда:
sudo update-alternatives --config java
Выбрал там установленную java-6-sun, запустил Eclipse - вуаля. все есть




* 2-й вариант :
http://forum.ubuntu.ru/index.php?topic=19132.0


9. Заходим в Window > Prefernces... > PHP > PHP Servers.
10. Жмем "New". В поле "Name" вводим "My Site On localhost", ниже - "http://localhost". Next. Finish.
11. Теперь идем в Window > Prefernces... > PHP > Debug. Выбираем такие настройки :
PHP Debugger : XDebug
Server : My Site On localhost
PHP Executable : None Defined
12. Идем в Window > Prefernces... > General > Web Browser. Если галочка "Use internal Web Browser" скрыта, то жмем "New" и добавляем свой любимый браузер.
13. Все! Создаем PHP-проект и радуемся. Если не радуемся - курим мануалы на http://www.eclipse.org :)

1 комментарий:

asovetov комментирует...

Поменяйте пожалуйста ссылку на рубунту.ру
форума там теперь нет, а в конце лета сайт принял новый облик и форму. обрел поддержку jabber конференции убунту (ubontu@conference.jabber.ru) (стал оф сайтом) и количество новых мануалов растет. Мы всегда рады новым читателям и писателям, задавайте вопросы, опытные пользователи обязательно ответят.
С благодарностью, создатель http://rubuntu.ru Антон Советов.