LAMP (apache mysql php) Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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_на_предприятии}}