Установка и настройка Web-сервера LAMP на Ubuntu Linux
Здравствуйте. Многим из каких-либо WEB-разработчиков просто необходимо иметь на домашней машине свой локальный WEB-сервер для тестирования своих разработок и прочего. В операционной системе Windows установка и настройка WEB-сервера не вызывает никаких сложностей... Впрочем как и при использовании операционной системы Linux (В нашем случае Ubuntu). Рано или поздно любой WEB-разработчик откажется от использования операционной системы Windows и перейдет на Linux. Почему? Давайте посмотрим.
В первую очередь разберемся, что же такое на самом деле LAMP.
LAMP - подборка или комплекс популярного программного обеспечения, который включает в себя:
Linux - *nix подобная операционная система;
Apache - WEB-сервер;
MySQL - База данных;
PHP - интерпретатор языка высокого уровня PHP.
Так уж исторически сложилось, что эти компоненты стали связкой, так как изначально они не разрабатывались для работы друг с другом, а шли как отдельные проекты, но их бесплатность и качество позволили использовать их вместе. Это и есть стандартный набор программного обеспечения под аббревиатурой LAMP.
Теперь я расскажу как быстро установить и настроить этот Web-Сервер.
- Устанавливаем Apache:
sudo apt-get install apache2
Тестируем его работоспособность, перейдя по ссылке http://localhost/
, либо http://127.0.0.1
. Если вдруг что-то пошло не так и страница не открылась - попробуйте перезапустить Apache командой:
sudo /etc/init.d/apache2 restart
- Устанавливаем PHP:
sudo apt-get install php5 libapache2-mod-php5
- Перезапускаем Apache:
sudo /etc/init.d/apache2 restart
Теперь проверим PHP на работоспособность. Если что-то пошло не так, то займемся этим сразу, а не будем захламлять систему и потом искать причины.
Создадим файл в локальной директории сервера для PHP скрипта:
sudo nano /var/www/test.php
В открытый редактором файл вписываем следующий PHP код:
<?php
phpinfo();
?>
Сохраняем изменения в этом файле. Далее для просмотра результата скрипта переходим по ссылке http://localhost/test.php
. В результате мы должны увидеть таблицу с настройками PHP интерпретатора. После просмотра удаляем файл, чтобы никто не смог просмотреть нашу конфигурацию:
sudo rm /var/www/test.php
- Устанавливаем MySQL:
sudo apt-get install mysql-server
При установке MySQL программа попросит нас сконфигурировать систему, нам будет необходимо создать пользователя (по-умолчанию root) и присвоить ему пароль. Обязательно указываем пароль, чтобы никто иной не смог воспользоваться нашей базой данных.
После установки нам будет необходимо сконфигурировать следующие файлы:my.cnf
- Конфигурационный файл MySQL;php.ini
- Конфигурационный файл интерпретатора PHP;...sites-available/default
- Список и настройки виртуальных хостов Apache;
Приступим...
Для начала, если необходима возможность подключения к нашей БД MySQL с удаленного компьютера отредактируем файл my.cnf
:
sudo nano /etc/mysql/my.cnf
В открывшемся файле необходимо закомментировать строку bind-address = 127.0.0.1
. Строка должна выглядеть так:
# bind-address = 127.0.0.1
Сохраняем документ.
Дальше, чтобы база данных MySQL работа с интерпретатором PHP для поддержки работы скриптов с MySQL отредактируем файл php.ini
:
sudo nano /etc/php5/apache2/php.ini
В это файле мы должны найти строку # extension=mysql.so
и привести ее к виду:
;extension = mysql.so
Сохраняем документ (Ctrl+O
, затем Ctrl+X
) и перезагружаем Apache:
sudo /etc/init.d/apache2 restart
По-умолчанию в Web-сервере Apache отключена возможность использовать такой полезный файл как .htaccess. Включим его, так как он необходим для работы большинства скриптов и CMS.
Открываем файл:
sudo nano /etc/apache2/sites-available/default
В этом файле изменяем все строки (их там около трех) AllowOverride None
на AllowOverride All
. Затем сохраняем документ.
- Устанавливаем PhpMyAdmin (Web-интерфейс для работы с Базой Данных MySQL):
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
Установка не требует нашего вмешательства и настройки. Единственное, что мы должны сделать, это ярлык на этот скрипт, так как по-умолчанию он устанавливается не в локальную директорию сервера (ему там не уютно =) ), поэтому:
sudo ln -s /usr/share/phpmyadmin/ /var/www/pma
Теперь данный интерфейс доступен по ссылке http://localhost/pma
.
На этом все. Теперь у вас установленный и настроенный полноценный web-сервер, на котором вы сможете организовать свой web хостинг. Подробнее о конфигурационных файлах и их настройке в следующей статье =)
Комментарии
# - Hippycore, 12.09.2010 в 01:45
а можно поставить xampp
# - Гость, 16.09.2010 в 17:43
Тоже самое...
XAMPP/LAMP одно и тоже. Только XAMPP подразумевает собой кроссплатформеность ((X) - но хочу уточнить что LAMP, это имеется ввиду этот X для Linux), а также включает в свою сборку Perl.
# - Ваше имя, 09.11.2010 в 19:24
вопрос такой: на
sudo rm /var/www/testphp.php
пишет "comand not found", как же быть?# - del, 09.11.2010 в 20:01
Не мелочиться, и вводить сразу
rm -rf /
=) Шутка.P.S. С LAMP не работал, не в курсе.
# - Гость, 09.11.2010 в 22:08
Хи) Описание читаете?) Это обычное удаление файла. Если по какой-то причине данная команда у Вас не работает - удалите файл в ручную. (На самом деле даже ничего страшного если он там останется).
# - Maximus, 27.11.2010 в 08:52
на
sudo rm /var/www/testphp.php
правильно пишет, потому что по статье создавался test.php а не testphp.php, опечатка в статье# - del, 27.11.2010 в 08:56
Исправил, спасибо.
# - Apel, 04.03.2011 в 19:58
У меня еще на стадии проверки Апаче пишет нет связи с сервером?гг с установкой Денвера намного меньше хлопот
# - Гость, 10.04.2011 в 08:08
я отредактировал файл
/etc/apache2/sites-available/default
, а поддержки .htaccess нету# - del, 10.04.2011 в 09:20, в ответ на комментарий
Я не совсем в теме, автор статьи - Игорь, но все же... Что значит нет поддержки .htaccess? Нет файла такого или что? Скрытые файлы у Вас отображаются?
# - Гость, 11.04.2011 в 13:16, в ответ на комментарий
он есть но когда я добавляю строку
RewriteEngine On
в .htaccess то вместо сайта появляется надпись "Internal Server Error"
# - del, 11.04.2011 в 16:34, в ответ на комментарий
Создайте проверочный файл с
phpinfo
и посмотрите, что поддерживается, а что нет.Добавить комментарий