Установка и настройка 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

а можно поставить xampp

sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
Аватар пользователя Гость

Тоже самое...

XAMPP/LAMP одно и тоже. Только XAMPP подразумевает собой кроссплатформеность ((X) - но хочу уточнить что LAMP, это имеется ввиду этот X для Linux), а также включает в свою сборку Perl.

Аватар пользователя Ваше имя

вопрос такой: на sudo rm /var/www/testphp.php пишет "comand not found", как же быть?

Аватар пользователя del

Не мелочиться, и вводить сразу rm -rf / =) Шутка.
P.S. С LAMP не работал, не в курсе.

Аватар пользователя Гость

Хи) Описание читаете?) Это обычное удаление файла. Если по какой-то причине данная команда у Вас не работает - удалите файл в ручную. (На самом деле даже ничего страшного если он там останется).

Аватар пользователя Maximus

на sudo rm /var/www/testphp.php правильно пишет, потому что по статье создавался test.php а не testphp.php, опечатка в статье

Аватар пользователя del

на sudo rm /var/www/testphp.php правильно пишет,
потому что по статье создавался test.php а не testphp.php, опечатка в статье

Исправил, спасибо.

Аватар пользователя Apel

У меня еще на стадии проверки Апаче пишет нет связи с сервером?гг с установкой Денвера намного меньше хлопот

Аватар пользователя Гость

я отредактировал файл /etc/apache2/sites-available/default, а поддержки .htaccess нету

Аватар пользователя del

Я не совсем в теме, автор статьи - Игорь, но все же... Что значит нет поддержки .htaccess? Нет файла такого или что? Скрытые файлы у Вас отображаются?

Аватар пользователя Гость

он есть но когда я добавляю строку RewriteEngine On
в .htaccess то вместо сайта появляется надпись "Internal Server Error"

Аватар пользователя del

Создайте проверочный файл с phpinfo и посмотрите, что поддерживается, а что нет.

Добавить комментарий