Установка Web-сервера, базы данных и языка программирования За букву "L" в слове LAMP отвечает Ubuntu, а значит, необходимо установить оставшееся "AMP". В качестве Web-сервера мы возьмем lighttpd, базы данных — MySQL, языка программирования — PHP. Язык PHP прост в изучении, вокруг него существует большое сообщество разработчиков и множество готовых к использованию блоков кода. Последняя версия lighttpd — 1.4.19, MySQL — 5.1, PHP — 5.2.6.
Итак, приступим. Откроем в Ubuntu окно терминала (выберите Application > Accessories > Terminal). Оказавшись в приглашении командного интерпретатора ($), станьте суперпользователем (root), запустив команду sudo su -. Приглашение в виде "решетки" (#) означает, что вы получили права суперпользователя. Чтобы убедиться в этом, запустите команду whoami:
$ sudo su -
# whoami
root
|
Теперь можно переходить к установке lighttpd, MySQL 5 и PHP 5. Вся работа выполняется несколькими командами Aptitude.
Установка Web-сервера lighttpd Устанавливаем lighttpd:
# apt-get install lighttpd
|
Команда apt-get install загружает и устанавливает в систему указанные в параметрах пакеты. Перед непосредственной установкой каждого пакета утилита анализирует зависимости и при необходимости дополнительно загружает и устанавливает все, что требуется данному пакету. Перед загрузкой зависимостей Aptitude сначала спрашивает подтверждение у пользователя. Просмотрите список дополнительных пакетов и нажмите Y для продолжения. Любой пакет, представляющий собой сервер (как lighttpd или MySQL), будет автоматически запущен утилитой Aptitude по окончанию установки. Что может быть проще!
После установки lighttpd откройте браузер Firefox из меню Ubuntu в верхней части экрана и введите http://127.0.0.1 в адресной строке. Должна открыться страница как на Рисунке 2; это означает, что Web-сервер работает. Тем не менее lighttpd еще необходимо настроить, чем мы сейчас и займемся.
Рисунок 2. Подтверждение того, что lighttpd запущен
Установка сервера баз данных MySQL Далее устанавливаем MySQL 5, тоже всего одной командой apt:
# apt-get install mysql-server-5.0
|
В процессе установки вам будет предложено задать пароль суперпользователя MySQL, что выглядит примерно как на рисунке 3. Выберите пароль, который было бы сложно подобрать – лучше использовать символы верхнего и нижнего регистра, числа и знаки препинания, – и нажмите Enter. Повторите пароль для подтверждения и снова нажмите Enter.
Рисунок 3. Задание и подтверждение пароля суперпользователя MySQL
По завершении установки проверьте результат – запустите утилиту MySQL и выведите список баз данных, идущих в комплекте, как показано в листинге 1.
Листинг 1. Запуск утилиты MySQL и вывод списка баз данных
$ mysql -u root -p
Enter your password: s0m3p@ssWoRD
mysql> show databases \G
Database: information_schema
Database: mysql
2 rows in set (0.01 sec)
mysql> quit
|
Получив запрос на ввод пароля, введите пароль, который вы задали в процессе установки. (В нашем примере мы использовали пароль s0m3p@ssWoRD, являющийся примером достаточно стойкого пароля.) В приглашении MySQL запустите команду show databases \G. Вы, скорее всего, увидите две базы данных – обычно это information_schema и mysql, которые необходимы для функционирования самого сервера MySQL. Их нельзя удалять! Введите quit для выхода.
Установка языка программирования PHP
Наконец, устанавливаем PHP 5. Так как lighttpd использует для выполнения Web-приложений FastCGI (Fast Common Gateway Interface – быстрый обобщенный интерфейс шлюзов), важно установить правильную разновидность PHP, которая доступна в apt как php5-cgi. Чтобы PHP мог работать с MySQL, также необходимо установить соответствующий модуль php5-mysql:
# apt-get install php5-cgi php5-mysql |
Настройка взаимодействия Web-сервера и языка программирования
Теперь, прежде чем можно будет создавать PHP-приложение, требуется только одно действие – правильно настроить взаимодействие lighttpd и PHP. В Linux принято, что каждая программа имеет свой конфигурационный файл. Находясь в окне терминала, нажмите Control-D для выхода из режима суперпользователя, а затем введите следующую команду:
$ sudo gedit /etc/php5/cgi/php.ini |
Запустится простой текстовой редактор gedit, похожий на Блокнот из Windows или Text Editor из Mac, и в режиме суперпользователя откроется для редактирования файл /etc/php5/cgi/php.ini. Так как этот файл является системным, то для его изменения необходимы права root.
В Linux каталог /etc (произносится "этси") обычно содержит конфигурационные файлы всех программ, установленных в системе. Некоторые пакеты имеют отдельные каталоги с конфигурацией, например, /etc/php5 для PHP. Файл, отвечающий за работу PHP в режиме CGI, называется cgi/php.ini. Вообще, файлы настроек в Linux обычно имеют расширение ".ini" или, что удобнее, ".conf".
В окне gedit прокрутите текст вниз и найдите такую строку:
Измените ее на следующую строку:
Для сохранения изменений выберите File > Save или нажмите Control-S. Для выхода нажмите Control-Q. Далее выполните команду:
$ sudo gedit /etc/lighttpd/lighttpd.conf |
Найдите строку, начинающуюся с server.modules=, и добавьте через запятую mod_fastcgi к списку опций в скобках. mod_fastcgi наделяет lighttpd поддержкой PHP в режиме FastCGi. Запросы, поступающие от браузера, принимаются lighttpd, который преобразует их в запросы FastCGI и перенаправляет PHP-модулю. Когда PHP-приложение отсылает ответ, происходит обратный процесс. Обновленный список должен выглядеть как в листинге 2, за исключением, быть может, наличия других модулей.
Листинг 2. Обновленный список в параметре server.modules
server.modules = (
"mod_fastcgi",
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress"
)
|
Теперь перейдите к концу файла и добавьте следующий параметр, приведенный в листинге 3
Листинг 3. Параметр, заставляющий lighttpd использовать FastCGI-разновидность PHP и правильный сокет.
fastcgi.server = (
".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
)))
|
Приведенный параметр указывает lighttpd местоположение запускаемого файла PHP и файла сетевого соединения (сокета), через которое Web-сервер будет обмениваться данными с PHP. Сохраните редактируемый файл и выйдите из редактора.
Как и для большинства серверов, после изменения настроек lighttpd необходимо перезапустить, что делается командой sudo /etc/init.d/lighttpd restart.
$ sudo /etc/init.d/lighttpd restart
Stopping web server lighttpd [OK]
Starting web server lighttpd [OK]
|
Ура, готово! Теперь вы можете приступить к написанию своего первого (и второго) PHP-приложения.
|