// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Настройка среды разработки PHP в Linux Ubuntu
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Настройка среды разработки PHP в Linux Ubuntu - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Настройка среды разработки PHP в Linux Ubuntu

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.10 и более поздние). Эта процедура предполагает установку и настройку механизма PHP, базы данных MySQL, веб-сервера Apache и отладчика XDebug.


*Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans+] |Пакет загрузки PHP 

|Механизм PHP |Версия 5. 

|Веб-сервер |Рекомендуется использовать HTTP-сервер Apache 2.2.
 

|Сервер базы данных |Рекомендуется использовать сервер MySQL 5.0.
 

|Отладчик PHP (не обязательно) |Версия XDebug 2.0 или более поздняя 
|===

Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе link:./remote-hosting-and-ftp-account.html[+ Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans+]. Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется link:http://httpd.apache.org/download.cgi[+сервер HTTP Apache+].


== Установка программного обеспечения

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.04 и более поздние). Необходимо выполнить следующие действия:

1. Установить сервер Apache2 HTTP, механизм PHP5, сервер базы данных MySQL 5.0 и модуль PHP5-MySQL. Эти пакеты можно <<lamp,установить одновременно как стек LAMP>> или <<separate-packages,установить по отдельности>>.
2. <<specifyDocumentRoot,Указать корневой узел документов для сервера HTTP Apache2>>
3. <<configureMySQL,Выполнить настройку сервера базы данных MySQL>>
4. <<installXDebug,Установить и активировать отладчик XDebug 2.0>>

Для получения дополнительных сведений об установке Apache, MySQL и PHP см. link:https://help.ubuntu.com/community/ApacheMySQLPHP[+Сообщество Ubuntu+].


[[lamp]]
=== Одновременная установка всех пакетов программного обеспечения

Ubuntu предоставляет пакет Linux AMP (LAMP), который содержит все необходимые пакеты для среды PHP. Для установки программного обеспечения можно выполнить следующую команду в командной строке в окне терминала:


[source,bash]
----

sudo tasksel install lamp-server
----

Пакет  ``lamp-server``  включает в себя наиболее удобную версию PHP, Apache 2, MySQL и PHP5-MySQL.


[[separate-packages]]
=== Установка пакетов программного обеспечения по отдельности

Вместо установки целого набора коллекций LAMP пакеты можно также установить индивидуально. Эта функция используется, если один из компонентов (например, сервер Apache или сервер базы данных MySQL) уже установлен. Можно использовать средства командной строки или графический пользовательский интерфейс Synaptic Package Manager.

Отдельно могут быть установлены следующие пакеты:

* apache2
* php5
* mysql-server
* php5-mysql


===  


=== Проверка установки

После настройки пакета PHP Web Stack убедитесь в том, что он установлен правильно, а сервер Apache распознает механизм PHP.

Чтобы убедиться, что Apache и PHP установлены и запущены, откройте IDE NetBeans и link:./project-setup.html[+создайте проект PHP+]. В файле  ``index.php``  введите метод PHP  ``phpinfo()`` . Запустите файл. При этом должна отобразиться стандартная информационная страница PHP. 

image::images/ubuntu-phpinfo.png[]


[[troubleshooting]]
=== Устранение проблем

Ниже перечислены часто возникающие проблемы при проверке установки стека PHP в Ubuntu:

* *В окне браузера отображается ошибка "Not Found" для  ``~USER/PROJECT/index.php`` *. Удалите строку  ``~USER``  из URL-адреса. Например, если эта ошибка происходит для URL-адреса  ``~ubuntu/test1/index.php`` , измените его на  ``test1/index.php`` . Обратите внимание, что можно настроить адрес URL для проекта PHP в IDE NetBeans либо при создании проекта или путем щелчка правой кнопки мыши узла проекта и перехода в 'Свойства' > 'Запустить конфигурацию'.
* *В браузере отображается всплывающее окно с запросом на открытие файла, как если бы механизм PHP не распознавался.* Пакет  ``php5-common``  содержит ошибку. Замените его пакетами  ``php5``  и  ``phpmyadmin`` . Для замены пакета  ``php5-common``  необходимо выполнить следующие две команды:

[source,bash]
----

apt-get --purge remove php5-commonapt-get install php5 phpmyadmin
----


== Указание корневого узла документа для сервера HTTP Apache2

Корневой узел документов представляет собой папку, из которой сервер HTTP Apache извлекает файлы для отображения в браузере. Корневой узел документов указан в файле, определяющем виртуальный узел. Файл настройки, определяющий виртуальный узел по умолчанию:


[source,bash]
----

/etc/apache2/sites-available/default
----

с корневым узлом документов


[source,bash]
----

/var/www/
----

Вместо изменения узла по умолчанию рекомендуется создать и активировать собственный виртуальный узел.

* <<createDocumentRootLocation,Создайте местоположение корневого узла документов>>
* <<createNewVirtualHost,Укажите новый корневой узел документов в новом виртуальном узле.>>
* <<activateNewVirtualHost,Активируйте новый виртуальный узел>>


=== Создание местоположения корневого узла документов

1. Выберите "Places > Home Folder".
2. В контекстном меню выберите "Create Folder".
3. Введите имя папки, например public_html.


=== Создание нового виртуального узла

1. Для 
запуска терминала выберите "Applications>Accessories>Terminal". Откроется окно терминала.

[start=2]
. Для копирования файла настройки из виртуального узла по умолчанию в новый файл ( ``mysite`` ) введите в командной строке следующую команду:

[source,bash]
----

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
----


. Запустите приложение  ``
gedit``  и отредактируйте в нем новый файл настройки ( ``mysite`` ):

[source,bash]
----

gksudo gedit /etc/apache2/sites-available/mysite 
----
При появлении запроса введите пароль, определенный для пользователя root во время установки операционной системы.


. Измените корневой узел документов, указав в нем новое местоположение:

[source,bash]
----

/home/<user>/public_html/
----


. Измените директиву Directory путем замены

[source,bash]
----

<Directory /var/www/>
----
на

[source,bash]
----

<Directory /home/user/public_html/>
----

image::images/ubuntu-change-directory-root.png[]



. Сохраните файл  ``mysite`` 


=== Активация нового виртуального узла

1. Для отключения виртуального узла по умолчанию и включения нового узла <<launchTerminal,запустите терминал>> и выполните следующие служебные программы в окне терминала:

[source,bash]
----

sudo a2dissite default &amp;&amp; sudo a2ensite mysite
----


. Перезапустите сервер HTTP Apache:

[source,bash]
----

sudo /etc/init.d/apache2 reload
----


== Настройка сервера базы данных MySQL

Во время установки сервера базы данных MySQL создается учетная запись пользователя root (администратора). В ходе установки открывается диалоговое окно, в котором требуется указать пароль пользователя root (администратора). Если это диалоговое окно не открылось или если в нем не был задан пароль, необходимо создать пароль пользователя root (администратора) MySQL сейчас. Этот пароль требуется для создания других пользователей сервера MySQL.



. Для подключения к серверу MySQL<<launchTerminal, запустите терминал>> и в окне терминала введите следующую команду:

[source,bash]
----

mysql -u root -p
----
Появится командная строка MySQL.


. В этой командной строке введите следующую команду и нажмите ENTER:

[source,sql]
----

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<yourpassword>');
----
В случае успешного выполнения команды появляется следующее сообщение:

[source,bash]
----

Query OK, 0 rows affected (0.00 sec)
----


== Установка и включение отладчика XDebug

Выполнение перечисленных ниже действий является необходимым только в том случае, если может потребоваться использование отладчика XDebug, который не является обязательным для разработки PHP. Отладчик XDebug является расширением для PHP. IDE NetBeans использует его автоматически, если он правильно настроек для используемого PHP Web Stack. Дополнительные сведения по XDebug и IDE NetBeans см. в разделе link:./debugging.html[+Отладка исходного кода PHP в IDE NetBeans+]. См. также link:http://wiki.netbeans.org/HowToConfigureXDebug[+Вики-страницу NetBeans в XDebug+].


[[xdebug-package]]
=== Установка пакета XDebug (Ubuntu, версия 8.05 и более поздние)

При начале работы в Ubuntu 8.05 пакет XDebug доступен под именем  ``php5-xdebug`` . Поддерживается версия XDebug 2.0.3-1. Ее можно установить с помощью средств командной строки или пользовательского интерфейса Synaptic Package Manager. После установки отладчика XDebug следует изменить  ``php.ini`` , следуя описанию в разделе <<enableXDebug,Активация XDebug>>.


=== Создание отладчика XDebug из исходных компонентов (Ubuntu 7.10)

Для создания отладчика XDebug из исходных компонентов требуются два дополнительных модуля: PHP5 Development и PEAR.

1. Запустите <<startSynapticPackageManager,диспетчер пакетов Synaptic>>.
2. Перейдите на панель "Installed" ("Установлено") и убедитесь в том, что модуль make уже установлен.
3. Перейдите на вкладку "All" ("Все") и установите флажки для следующих пакетов:
* php5-dev
* php-pear
В контекстном меню для каждого элемента выберите "Mark for installation".


. Появится диалоговое окно "Mark additional required changes", содержащее список зависимых пакетов, установка которых также является необходимой для функционирования программного обеспечения. Нажмите кнопку "Mark".


. Происходит автоматический возврат к экрану "Synaptic Package Manager", на котором представлены выбранные пакеты, отмеченные для установки.


. На панели инструментов выберите "Apply". Появится экран "Apply the following changes summary" со списком пакетов, выбранных для установки. Нажмите кнопку "Apply".


. После успешного завершения загрузки и установки появляется экран "Changes applied". Выберите "Close" (Закрыть).

NOTE:  Модули также можно установить путем запуска следующей команды в окне 'Терминал':  ``aptitude install php5-dev php-pear`` 



. После этого можно загрузить и установить отладчик XDebug. Введите следующую команду в окне "Terminal":

[source,bash]
----

sudo pecl install xdebug
----


=== Включение XDebug

Для включения отладчика XDebug следует изменить файл php.ini в текстовом процессоре <<gedit, ``gedit`` >>.

1. Для запуска текстового процессора  ``gedit``  запустите <<launchTerminal,терминал>> и в командной строке введите следующую команду:

[source,bash]
----

gksudo gedit
----
При появлении запроса введите пароль, определенный для пользователя root во время установки операционной системы.


. Откройте файл  ``/etc/php5/apache2/php.ini`` .


. Добавьте в файл следующие строки:

[source,ini]
----

zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
xdebug.remote_enable=on

----

Дополнительные сведения о настройке отладчика XDebug приведены link:http://2bits.com/articles/setting-up-xdebug-dbgp-for-php-on-debian-ubuntu.html[+здесь+].


Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с PHP IDE NetBeans link:../../../community/lists/top.html[+присоединяйтесь к списку рассылки users@php.netbeans.org+].

link:../../trails/php.html[+Возврат к учебной карте PHP+] 

