Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:apachemysqlphp [2012/05/16 13:37] |
wiki:apachemysqlphp [2013/11/25 20:15] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <note>Статья основана на: https://help.ubuntu.com/community/ApacheMySQLPHP</note> | + | ====== LAMP (apache mysql php)====== |
- | Заметка поможет установить и настроить [[http://ru.wikipedia.org/wiki/LAMP|LAMP]] (**L**inux-**A**pache-**M**ySQL-**P**HP) сервер в Ubuntu включающий Apache 2, PHP 5, и MySQL 5.0. | + | В этой статье описана установка и настройка [[wpru>LAMP|LAMP]] (**L**inux-**A**pache-**M**ySQL-**P**HP) сервера на базе Ubuntu включающего Apache 2, PHP 5, и MySQL 5.0. |
===== Установка стандартного набора LAMP ===== | ===== Установка стандартного набора LAMP ===== | ||
- | |||
Начиная с Ubuntu 7.04 (Feisty Fawn) поумолчанию установлена полезная утилита [[https://help.ubuntu.com/community/Tasksel|Tasksel]](англ.). Она поможет вам установить LAMP. | Начиная с Ubuntu 7.04 (Feisty Fawn) поумолчанию установлена полезная утилита [[https://help.ubuntu.com/community/Tasksel|Tasksel]](англ.). Она поможет вам установить LAMP. | ||
Просто выполним команду: | Просто выполним команду: | ||
<code=bash>sudo tasksel install lamp-server</code> | <code=bash>sudo tasksel install lamp-server</code> | ||
- | При установке будет запрошен пароль для создания администратора БД MySQL. | + | При установке будет запрошен пароль для создания администратора БД [[MySQL]]. |
===== Удаление LAMP ===== | ===== Удаление LAMP ===== | ||
- | |||
Для удаления LAMP вам придется удалить его компоненты отдельно: | Для удаления LAMP вам придется удалить его компоненты отдельно: | ||
<code> | <code> | ||
- | apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl | + | apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 php5-common php5-mysql |
- | libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server | + | |
- | mysql-server-5.0 php5-common php5-mysql | + | |
</code> | </code> | ||
===== Установка Apache 2 ===== | ===== Установка Apache 2 ===== | ||
- | |||
Если требуется установить только веб-сервер Apache 2 используйте [[установка_программ|любой метод]] для того, чтобы установить пакет ''apache2''. | Если требуется установить только веб-сервер Apache 2 используйте [[установка_программ|любой метод]] для того, чтобы установить пакет ''apache2''. | ||
Для того, чтобы Apache заработал его следует перезапустить: | Для того, чтобы Apache заработал его следует перезапустить: | ||
Строка 26: | Строка 21: | ||
==== Возможные ошибки ==== | ==== Возможные ошибки ==== | ||
- | |||
Если при запуске появляется следующая ошибка\\ | Если при запуске появляется следующая ошибка\\ | ||
''apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName''\\ | ''apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName''\\ | ||
Строка 35: | Строка 29: | ||
==== Виртуальные хосты ==== | ==== Виртуальные хосты ==== | ||
- | |||
Apache2 позволяет создавать различные конфигурационные файлы для сайтов. Они находятся в папке ///etc/apache2/sites-available//. По-умолчанию создается только один сайт default, на который можно зайти введя в браузере http://localhost или http://127.0.0.1. | Apache2 позволяет создавать различные конфигурационные файлы для сайтов. Они находятся в папке ///etc/apache2/sites-available//. По-умолчанию создается только один сайт default, на который можно зайти введя в браузере http://localhost или http://127.0.0.1. | ||
- | Директория для файлов сайта находится в // /var/www //. Необходимы права root для доступа к этой папке. Но вы можете изменить права на нее командой | + | Директория для файлов сайта находится в ///var/www//. Необходимы права root для доступа к этой папке. Но вы можете изменить права на нее командой |
<code=bash>sudo chown -R $USER:$USER /var/www </code> | <code=bash>sudo chown -R $USER:$USER /var/www </code> | ||
- | + | Вы также можете создать собственные сайты. | |
- | Вы также можете создать свои сайты. | + | |
Для примера мы создадим новый сайт в папке ///home/user/public_html/// : | Для примера мы создадим новый сайт в папке ///home/user/public_html/// : | ||
* Создаем копию стандартного конфиг-файл сайта и переименуем его | * Создаем копию стандартного конфиг-файл сайта и переименуем его | ||
<code=bash>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite </code> | <code=bash>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite </code> | ||
- | * Редактируем новый конфиг-файл в текстовом редакторе "sudo nano" в консоли или "gksudo gedit" , для примера: gksudo gedit /etc/apache2/sites-available/mysite | + | ** Отредактируем новый конфиг-файл в текстовом редакторе выполнив в консоли ''sudo nano'' или ''gksudo gedit'', например: |
+ | .. <code=bash>gksudo gedit /etc/apache2/sites-available/mysite</code> | ||
+ | * Добавляем строчку с параметром //ServerName//. Для примера, //ServerName mysite// | ||
+ | * Добавляем строчку с параметром //ServerAlias//. Для примера, //ServerAlias www.mysite// | ||
* Изменяем параметр //DocumentRoot// на новое месторасположение сайта. Для примера, ///home/user/public_html/// | * Изменяем параметр //DocumentRoot// на новое месторасположение сайта. Для примера, ///home/user/public_html/// | ||
* Изменяем параметр //Directory//, заменив //<Directory /var/www/>// на //<Directory /home/user/public_html/>// | * Изменяем параметр //Directory//, заменив //<Directory /var/www/>// на //<Directory /home/user/public_html/>// | ||
Строка 53: | Строка 47: | ||
* Сохраняем файл. | * Сохраняем файл. | ||
- | Теперь вы можете деактивировать ваш старый сайт и включить новый. Ubuntu содержит две маленькие утилиты для помощи в этом: **a2ensite** (apache2enable сайт) и **a2dissite** (apache2disable сайт). | + | Теперь вы можете деактивировать ваш старый сайт и включить новый. Ubuntu содержит две маленькие утилиты для помощи в этом: ''a2ensite'' (**a**pache**2en**able **site**) и ''a2dissite'' (**a**pache**2dis**able **site**). |
<code=bash>sudo a2dissite default && sudo a2ensite mysite</code> | <code=bash>sudo a2dissite default && sudo a2ensite mysite</code> | ||
+ | Осталось только перезапустить Apache2: | ||
+ | <code=bash>sudo /etc/init.d/apache2 restart</code> | ||
+ | Если вы не создали папку ///home/user/public_html///, то получите сообщение с предупреждением об этом. | ||
- | Теперь осталось только перезапустить Apache2: | + | Внесем имя сайта в список хостов сервера: |
+ | <code=bash>sudo gedit /etc/hosts</code> | ||
+ | Дописать в строчку 127.0.0.1 localhost через пробел mysite www.mysite | ||
+ | Перезапустить Apache2 | ||
<code=bash>sudo /etc/init.d/apache2 restart</code> | <code=bash>sudo /etc/init.d/apache2 restart</code> | ||
- | Если вы не создали папку // /home/user/public_html/ //, то получите сообщение с предупреждением | + | Для проверки вашего нового сайта создайте файл в папке ///home/user/public_html//: |
- | + | ||
- | Для проверки вашего нового сайта создайте файл в папке // /home/user/public_html/ //: | + | |
<code=bash>echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html</code> | <code=bash>echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html</code> | ||
- | |||
И откройте в браузере адрес http://localhost/ | И откройте в браузере адрес http://localhost/ | ||
Строка 81: | Строка 77: | ||
Для того, чтобы изменения вступили в силу перезапустите Apache | Для того, чтобы изменения вступили в силу перезапустите Apache | ||
<code=bash>sudo service apache2 restart</code> | <code=bash>sudo service apache2 restart</code> | ||
+ | <note>note</note> | ||
==== Проверка PHP ==== | ==== Проверка PHP ==== | ||
- | В папке ''/var/www'' создайте файл ''test.php'' , дайте права на чтение из него всем (или хотя бы пользователю ''apache'') и запишите в него следующую строку: | + | В папке ///var/www// создайте файл //test.php//, дайте права на чтение из него всем (или хотя бы пользователю ''apache'') и запишите в него следующую строку: |
<file=php><?php phpinfo(); ?></file> | <file=php><?php phpinfo(); ?></file> | ||
- | Теперь попробуйте в своем браузере перейти на страницу http://localhost/test.php . Если вы видите описание установленного PHP, значит вы все настроили правильно. | + | Теперь попробуйте в своем браузере перейти на страницу [[http://localhost/test.php]]. Если вы видите описание установленного PHP, значит вы все настроили правильно. |
==== Возможные ошибки ==== | ==== Возможные ошибки ==== | ||
Строка 98: | Строка 94: | ||
Не забывайте очищать кеш браузера перед тем как снова тестировать свой сайт. | Не забывайте очищать кеш браузера перед тем как снова тестировать свой сайт. | ||
- | Помните, что Apache будет обрабатывать файл только если URI начинается с [[http://]] . Если адрес начинается с [[file://]] , то файл будет отображатся напрямую браузером, по этому вы увидите только CSS и (X)HTML, но не PHP. Если вы не конфигурировали виртуальные хосты, то локальный адрес будет иметь вид http://127.0.0.1 , http://localhost или [[http://]]ваш_IP . | + | Помните, что Apache будет обрабатывать файл только если URI начинается с [[http://]] . Если адрес начинается с [[file://]] , то файл будет отображатся напрямую браузером, по этому вы увидите только CSS и (X)HTML, но не PHP. Если вы не конфигурировали виртуальные хосты, то локальный адрес будет иметь вид http://127.0.0.1 , http://localhost или [[http://ваш_IP]]. |
=====Установка MySQL и его модулей для PHP 5===== | =====Установка MySQL и его модулей для PHP 5===== | ||
Строка 104: | Строка 100: | ||
=====PhpMyAdmin===== | =====PhpMyAdmin===== | ||
- | Все задачи которые требуется выполнить при момощи MySQL можно делать используя графический интерфейс программ ''phpmyadmin''. | + | Все задачи которые требуется выполнить при момощи [[MySQL]] можно делать используя графический интерфейс программ ''phpmyadmin''. |
Устанавливаем утилиту | Устанавливаем утилиту | ||
<code=bash>sudo apt-get install phpmyadmin</code> | <code=bash>sudo apt-get install phpmyadmin</code> | ||
Строка 110: | Строка 106: | ||
Зайти в него можно с адреса http://localhost/phpmyadmin/ | Зайти в него можно с адреса http://localhost/phpmyadmin/ | ||
- | =====Полезное===== | + | |
- | Конфиги: | + | При ошибке 404 внесите в файл /etc/apache2/apache2.conf строчку Include /etc/phpmyadmin/apache.conf |
- | <code=bash> | + | |
- | gksudo gedit /etc/apache2/apache2.conf | + | |
- | gksudo gedit /etc/php5/apache2/php.ini | + | |
- | </code> | + | |
===== FAQ ===== | ===== FAQ ===== | ||
- | **Как включить отображение ошибок PHP?** | ||
- | В используемом конфиге [[http://docs.php.net/manual/ru/ini.php|php.ini]], точное местоположение которого подскажет функция [[http://ru2.php.net/manual/en/function.phpinfo.php|phpinfo()]] (для дефолтного апача например ''/etc/php5/apache2/php.ini''). Если не выключал [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors|log_errors]] и установлен достаточный уровень [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting|error_reporting]] (по умолчанию [[http://www.php.net/manual/en/errorfunc.constants.php|E_ALL & ~E_DEPRECATED]]), то в логе сайта все ошибки будут отображены. Если же интересует вывод ошибок в результирующую страницу, то нужно включить [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors|display_errors]]. | + | === Где лежат настройки Apache/PHP/MySQL? === |
+ | ^Путь^Описание^ | ||
+ | |///etc/mysql/my.cnf//|Файл настроек [[MySQL]]| | ||
+ | |///etc/apache2/apache2.conf//|Файл настроек Apache 2| | ||
+ | |///etc/php5/apache2/php.ini//|Файл настроек PHP5| | ||
+ | |||
+ | === Как включить отображение ошибок PHP? === | ||
+ | В используемом файле настроек [[http://docs.php.net/manual/ru/ini.php|php.ini]], точное местоположение которого подскажет функция [[http://ru2.php.net/manual/en/function.phpinfo.php|phpinfo()]] (для устанавливаемого по умолчанию Apache это ///etc/php5/apache2/php.ini//) за отображение ошибок отвечают следующие опции: | ||
+ | * [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors|log_errors]] -- установка уровня детализации [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting|отчетов об ошибках]]. По умолчанию установлено значение ''[[http://www.php.net/manual/en/errorfunc.constants.php|E_ALL & ~E_DEPRECATED]]'', которое отображает все ошибки. | ||
+ | * [[http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors|display_errors]] -- вывод ошибок в результирующую страницу. | ||
+ | |||
+ | ===== Ссылки ===== | ||
+ | * [[https://help.ubuntu.com/community/ApacheMySQLPHP|Статья на английской Ubuntu Wiki]] | ||
+ | * [[wpru>LAMP|Статья на Wikipedia]] | ||
{{tag>Администрирование apache php mysql lamp Server Linux_на_предприятии}} | {{tag>Администрирование apache php mysql lamp Server Linux_на_предприятии}} |