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

Различия

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

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

Следующая версия
Предыдущая версия
wiki:apachemysqlphp [2010/02/26 15:47]
создано
wiki:apachemysqlphp [2013/11/25 20:15] (текущий)
Строка 1: Строка 1:
-Это перевод статьи:​ https://​help.ubuntu.com/​community/​ApacheMySQLPHP+====== 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 в Ubuntu 7.04 (Feisty Fawn) и новее == +===== Установка стандартного набора LAMP ===== 
- +Начиная с Ubuntu 7.04 (Feisty Fawn) поумолчанию установлена полезная утилита [[https://​help.ubuntu.com/​community/​Tasksel|Tasksel]](англ.). Она поможет вам установить LAMP. 
-Ваша система уже содержит ​полезную утилиту Tasksel. Она поможет вам установить LAMP. Просто выполним команду:​ +Просто выполним команду:​ 
-sudo tasksel install lamp-server +<​code=bash>​sudo tasksel install lamp-server</​code>​ 
-При установке будет запрошен пароль для создания администратора БД MySQL. ​ +При установке будет запрошен пароль для создания администратора БД [[MySQL]].
- +
-= Удаление LAMP ==+
  
 +===== Удаление LAMP =====
 Для удаления LAMP вам придется удалить его компоненты отдельно:​ Для удаления LAMP вам придется удалить его компоненты отдельно:​
-{{{+<​code>​
 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 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
-}}}+</​code>​ 
 + 
 +===== Установка Apache 2 ===== 
 +Если требуется установить только веб-сервер Apache 2 используйте [[установка_программ|любой метод]] для того, чтобы установить пакет ''​apache2''​. 
 +Для того, чтобы Apache заработал его следует перезапустить:​ 
 +<​code=bash>​sudo /​etc/​init.d/​apache2 restart</​code>​ 
 + 
 +==== Возможные ошибки ==== 
 +Если при запуске появляется следующая ошибка\\ 
 +''​apache2:​ Could not determine the server'​s fully qualified domain name, using 127.0.0.1 for ServerName''​\\ 
 +запустите свой любимй текстовый редактор (например ''​sudo [[nano|nano]]''​ или ''​gksu [[gedit|gedit]]''​) и создайте файл ''/​etc/​apache2/​conf.d/​fqdn''​ , со следующим содержанием:​ 
 +<​file>​ServerName localhost</​file>​ 
 +Это так же можно сделать выполнив комманду:​ 
 +<​code=bash>​echo "​ServerName localhost"​ | sudo tee /​etc/​apache2/​conf.d/​fqdn</​code>​ 
 + 
 +==== Виртуальные хосты ==== 
 +Apache2 позволяет создавать различные конфигурационные файлы для сайтов. Они находятся в папке ///​etc/​apache2/​sites-available//​. По-умолчанию создается только один сайт default, на который можно зайти введя в браузере ​ http://​localhost или http://​127.0.0.1.  
 + 
 +Директория для файлов сайта находится в ///​var/​www//​. Необходимы права root для доступа к этой папке. Но вы можете изменить права на нее командой 
 +<​code=bash>​sudo chown -R $USER:$USER /var/www </​code>​ 
 +Вы также можете создать собственные сайты.  
 + 
 +Для примера мы создадим новый сайт в папке ///​home/​user/​public_html///​ : 
 +  * Создаем копию стандартного конфиг-файл сайта и переименуем его  
 + <​code=bash>​sudo cp /​etc/​apache2/​sites-available/​default /​etc/​apache2/​sites-available/​mysite </​code>​ 
 +  ** Отредактируем новый конфиг-файл в текстовом редакторе выполнив в консоли ''​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///​ 
 +  * Изменяем параметр //​Directory//,​ заменив //<​Directory /​var/​www/>//​ на //<​Directory /​home/​user/​public_html/>//​ 
 +  * Вы можете иметь раздельные log-файлы для ваших сайтов. Для этого измените //​ErrorLog//​ и //​CustomLog//​ параметры.  
 +  * Сохраняем файл. 
 + 
 +Теперь вы можете деактивировать ваш старый сайт и включить новый. Ubuntu содержит две маленькие утилиты для помощи в этом: ''​a2ensite''​ (**a**pache**2en**able **site**) и ''​a2dissite''​ (**a**pache**2dis**able **site**). 
 +<​code=bash>​sudo a2dissite default && sudo a2ensite mysite</​code>​ 
 +Осталось только перезапустить Apache2: 
 +<​code=bash>​sudo /​etc/​init.d/​apache2 restart</​code>​ 
 +Если вы не создали папку ///​home/​user/​public_html///,​ то получите сообщение с предупреждением об этом. 
 + 
 +Внесем имя сайта в список хостов сервера:​ 
 +<​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>​ 
 + 
 +Для проверки вашего нового сайта создайте файл в папке ///​home/​user/​public_html//:​ 
 +<​code=bash>​echo '<​b>​Hello! It is working!</​b>'​ > /​home/​user/​public_html/​index.html</​code>​ 
 +И откройте в браузере адрес http://​localhost/​ 
 + 
 +===== Установка PHP 5 ===== 
 +Чтобы установить модуль PHP для Apache используйте [[установка_программ|любой метод]] для того, чтобы установить пакет ''​libapache2-mod-php5''​. 
 +Включить модуль PHP 5 в Apache можно выполнив:​ 
 +<​code=bash>​sudo a2enmod php5</​code>​ 
 +Это создаст символическую ссылку /​etc/​apache2/​mods-enabled/​php5 указывающую на /​etc/​apache2/​mods-availble/​php5 . 
 +Если не вы используете устаревшие в PHP короткие теги ''<?''​ (что крайне нерекомендуемо) вместо ''<?​php''​ откройте от имени [[sudo|суперпользователя  
 +]] файл ''/​etc/​php5/​apache2/​php.ini''​ , найдите в нем строчку  
 +<​file>​short_open_tag = On</​file>​ 
 +и замените ее на  
 +<​file>​short_open_tag = Off</​file>​ 
 +Это заставит игнорировать открывающие теги ''<?​xml''​ в файлах,​ обрабатываемых PHP.  
 + 
 +Для того, чтобы изменения вступили в силу перезапустите Apache 
 +<​code=bash>​sudo service apache2 restart</​code>​ 
 +<​note>​note</​note>​ 
 +==== Проверка PHP ==== 
 +В папке ///​var/​www//​ создайте файл //​test.php//,​ дайте права на чтение из него всем (или хотя бы пользователю ''​apache''​) и запишите в него следующую строку:​ 
 +<​file=php><?​php phpinfo(); ?></​file>​ 
 +Теперь попробуйте в своем браузере перейти на страницу [[http://​localhost/​test.php]]. Если вы видите описание установленного PHP, значит вы все настроили правильно. 
 + 
 +==== Возможные ошибки ==== 
 +Ваш браузер предлагает вам скачивать PHP-страницы,​ а не показывает вам их? Если Apache не обрабатывает PHP-страницы после того как вы ео перезапустили,​ попробуйте установить пакет ''​libapache2-mod-php5''​ . Обычно он устанавливается вместе с пакетом ''​php5'',​ но он может быть удален изза конфликта пакетов,​ которым нужна другая версия PHP. 
 + 
 +Если при выполнении команды ''​sudo a2enmod php5''​ вы получаете в ответ 
 +<​code>​This module does not exist!</​code>​ 
 +попробуйте полностью удалить пакет ''​libapache2-mod-php5''​ 
 +<​code=bash>​sudo apt-get purge libapache2-mod-php5</​code>​ 
 +и установить его заново. 
 + 
 +Не забывайте очищать кеш браузера перед тем как снова тестировать свой сайт. 
 + 
 +Помните,​ что Apache будет обрабатывать файл только если URI начинается с [[http://]] . Если адрес начинается с [[file://]] , то файл будет отображатся напрямую браузером,​ по этому вы увидите только CSS и (X)HTML, но не PHP. Если вы не конфигурировали виртуальные хосты, то локальный адрес будет иметь вид http://​127.0.0.1 , http://​localhost или [[http://​ваш_IP]]. 
 + 
 +=====Установка MySQL и его модулей для PHP 5===== 
 +Чтобы установить MySQL используйте [[установка_программ|любой метод]] для того, чтобы установить пакеты ''​mysql-server libapache2-mod-auth-mysql php5-mysql''​. 
 + 
 +=====PhpMyAdmin===== 
 +Все задачи которые требуется выполнить при момощи [[MySQL]] можно делать используя графический интерфейс программ ''​phpmyadmin''​. 
 +Устанавливаем утилиту 
 +<​code=bash>​sudo apt-get install phpmyadmin</​code>​ 
 +При установке она запросит пароли которые были заданы при установке MySQL. 
 + 
 +Зайти в него можно с адреса http://​localhost/​phpmyadmin/​ 
 + 
 +При ошибке 404 внесите в файл /​etc/​apache2/​apache2.conf строчку Include /​etc/​phpmyadmin/​apache.conf 
 + 
 +===== FAQ ===== 
 + 
 +=== Где лежат настройки 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_на_предприятии}}