Как установить Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 14.04
Введение
Стек LAMP - это набор программного обеспечения с открытым исходным кодом, которой обычно устанавливается на сервер для отображения динамических веб-сайтов и веб-приложений. Эта аббревиатура обозначает операционную систему Linux с установленым веб-сервером Apache. Данные сайта хранятся в базе данных MySQL, динамический контент обрабатывается с помощью PHP.
Эта статья описывает процесс установки LAMP на виртуальный сервер (Droplet) в Ubuntu 14.04. Ubuntu удовлетворяет первому требованию к LAMP: это операционная система на базе Linux.
Необходимые условия
Перед тем, как начать следовать шагам, описанным в этой статье, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере. Вы можете сделать это следуя шагам 1-4 статьи о первичной настройке сервера на Ubuntu 14.04.
Шаг 1 - Установка Apache
Веб-сервер Apache в настоящее время является одним из самых популярных веб-серверов в мире, что делает его прекрасным выбором для хостинга веб-сайта.
Мы с легкостью можем установить Apache используя менеджер пакетов Ubuntu apt
. Менеджер пакетов позволяет нам легко установить большую часть программного обеспечения из репозиториев Ubuntu. О том, как использовать apt
, вы можете узнать из этой статьи.
Для начала установки выполним команды:
sudo apt-get update
sudo apt-get install apache2
Поскольку мы используем команду sudo
, эти команды будут выполняться с привилегиями root. В процессе операционная система запросит ваш пароль пользователя.
После завершения выполнения этих команд ваш веб-сервер будет установлен.
Проверить результат установки можно набрав в вашем веб-браузере публичный IP адрес вашего сервера (если вы еще не знаете, как найти публичный IP адрес вашего сервера, смотрите следующий раздел этой статьи):
<pre>
http://yourserverIP_address
</pre>
Вы увидите страницу Apache, отображаемую по-умолчанию для информации и целей тестирования. Она должна выглядеть похожим образом:
<img src="https://assets.digitalocean.com/articles/lamp_1404/default_apache.png">
Если вы видите эту страницу, ваш веб-сервер корректно установлен.
Как найти публичный IP адрес вашего сервера
Если вы не знаете публичный IP адрес вашего сервера, его можно определить несколькими способами. Обычно, это адрес, который вы используете для соединения с вашим сервером по SSH.
Определить этот адрес можно с помощью командной строки. Сначала используйте инструмент iproute2
для получения вашего адреса набрав следующую команду:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Результатом выполнения этой команды будет одна или две строки, содержащие корректный адрес. Ваш компьютер, возможно, сможет использовать только один из них, поэтому попробуйте оба варианта.
В качестве альтернативы можно узнать, как другие приложения видят ваш сервер. Это можно сделать обратившись к специальному сервису:
curl http://icanhazip.com
В независимости от метода, который вы использовали для получения своего IP адреса, вы можете использовать этот IP адрес для доступа к серверу через адресную сроку веб-браузера.
Шаг 2 - Установка MySQL
Теперь, когда наш веб-сервер установлен и запущен, пора установить MySQL. MySQL это система управления базой данных. Она организует и обеспечит доступ к базам данных, в которых ваш сайт может хранить информацию.
Мы можем вновь использовать apt
для загрузки и успановки программного обеспечения. В этот раз мы также установим некоторые вспомогательные пакеты, которые помогут нам в налаживании взаимодействия между компонентами:
sudo apt-get install mysql-server php5-mysql
Обратите внимание: В данном случае вам нет необходимости предварительно выполнять команду sudo apt-get update
, т.к. мы выполняли ее недавно при установке Apache, и индекс пакетов на вашем комьютере уже должен быть обновлен.
В процессе установки ваш сервер попросит вас задать и подтвердить пароль для пользователя "root" в MySQL. Это администраторский аккаунт в MySQL, который имеет расширенные права. Рассматривайте его как аналог root-аккаунта для самого сервера (однако тот, который вы конфигурируете в данный момент, подходит только для MySQL).
После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы наше окружение MySQL было настроено безопасным образом.
Во-первых, нам надо сказать MySQL создать структуру директорий базы данных, где она будет хранить информацию. Вы можете сделать это при помощи команды:
sudo mysql_install_db
После этого мы запустим простой скрипт, который удалит некоторые опасные настройки по-умолчанию и ограничит доступ к нашей системе управления базами данных. Запустите интерактивный скрипт вводом команды:
sudo mysql_secure_installation
Вас попросят ввести пароль, который вы установили для root-аккаунта в MySQL. Затем вас спросят, не хотите ли вы его сменить. Если вас устраивает текущий пароль, введите "n" в командной строке.
На все последующие вопросы просто нажимайте клавишу "ENTER" для выбора настроек по-умолчанию. При этом удалятся некоторые тестовые пользователи и базы данных, будет отключена возможность удаленного доступа с учетной записью root-пользователя, и все изменения будут немедленно применены в MySQL.
Теперь ваша система управления базами данных установлена и мы можем двигаться дальше.
Шаг 3 - Установка PHP
PHP это компонент, который будет обрабатывать код для отображения динамического контента. Он может запускать скрипты, подключаться к нашим базам данных MySQL для получения информации и передавать обработанный контент в наш веб-сервер для отображения.
Мы можем вновь воспользоваться менеджером пакетов apt
для установки компонентов. Мы также добавим некоторые вспомогательные пакеты:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
Данная команда должна установить PHP без каких либо проблем. Вскоре мы это проверим.
В большинстве случаев, мы захотим изменить способ, который использует Apache для поиска файлов при запросе директории. На данный момент, если пользователь запрашивает директорию с сервера, Apache в первую очередь будет искать файл с названием index.html
. Мы хотим, чтобы наш веб-сервер отдавал предпочтение PHP файлам, так что мы настроим Apache таким образом, чтобы сначала он искал файлы index.php
.
Для этого введите следующую команду, чтобы открыть файл dir.conf
в текстовом редакторе с привилегиями root-пользователя:
sudo nano /etc/apache2/mods-enabled/dir.conf
Содержимое файла будет выглядеть следующим образом:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Мы хотим переместить PHP файл index.php
, выделенный выше, на первое место после спецификации DirectoryIndex
следующим образом:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
После внесения правок сохраните и закройте файл сочетанием клавиш "CTRL-X". Вам придется подтвердить операцию вводом "Y" и затем нажатием клавиши "ENTER" для подтверждения места сохранения файла.
После этого нам необходимо перезапустить Apache для применения внесенных изменений. Вы можете сделать это при помощи команды:
sudo service apache2 restart
Установка модулей PHP
Чтобы расширить функциональность PHP, мы можем установить некоторые дополнительные модули.
Для просмотра доступных опций для модулей и библиотек PHP вы можете ввести следующую команду:
apt-cache search php5-
В результате вам будут показаны все опциональные компоненты, которые можно установить, сопровождаемые коротким описанием для каждого:
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .
Чтобы получить больше информации по каждому модулю, вы можете поискать в интернете или посмотреть полное описание пакета при помощи команды:
apt-cache show package_name
Ответ будет содержать много текста, среди которого есть поле Description-en
. Именно оно и будет содержать расширенное описание функциональности, предоставляемой модулем.
Например, чтобы узнать назначение модуля php5-cli
, мы можем выполнить команду:
apt-cache show php5-cli
Помимо большого количества прочей инфомации, вы увидите следующее:
. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
This package provides the /usr/bin/php5 command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
The following extensions are built in: bcmath bz2 calendar Core ctype date
dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
xmlwriter zip zlib.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. . .
Если после изучение вы решили, что хотите установить пакет, вы можете сделать это используя команду apt-get install
как мы делали ранее при установке другого программного обеспечения.
Если мы решили, что хотим установить php5-cli
, мы можем ввести команду:
sudo apt-get install php5-cli
Для установки сразу нескольких модулей, вы можете перечислить их через пробелы следом за командой apt-get install
следующим образом:
sudo apt-get install package1 package2 ...
Теперь ваш стек LAMP установлен и сконфигурирован. Однако нам еще предстоит протестировать PHP.
Шаг 4 - Тестирование работы PHP на вашем веб-сервере
Чтобы проверить, что наша система сконфигурирована должным образом, мы можем создать простой PHP скрипт.
Назовем скрипт info.php
. Чтобы Apache нашел и обработал файл корректно, он должен быть сохранен в специальную директорию, которая называется "web root".
В Ubuntu 14.04 данная директория находится по адресу /var/www/html/
. Мы можем создать там файл введя следующую команду:
sudo nano /var/www/html/info.php
Откроется пустой файл. Мы хотим ввести в файл следующий текст, который являеся корректным PHP кодом:
<?php
phpinfo();
?>
После внесения изменений сохраните и закройте файл.
Теперь мы можем проверить, может ли веб-сервер корректно отображать контент, сгенерированный PHP скриптом. Для проверки нам просто нужно открыть данную страницу в веб-браузере. Вам снова потребуется публичный IP-адрес сервера.
Откроем этот адрес:
http://your_server_IP_address/info.php
Страница, на которую вы попадете, должна выглядеть похожим образом:
<img src="https://assets.digitalocean.com/articles/lamp_1404/default_php.png">
Данная страница содержит информацию о вашем сервере с точки зрения PHP. Она полезна для отладки и чтобы удостовериться в корректности применения настроек.
Если все прошло успешно, значит ваш PHP работает корректно.
Вы, возможно, захотите удалить этот файл после теста, т.к. он может дать информацию о вашем сервере неавторизованным пользователям. Для удаления файла введите команду:
sudo rm /var/www/html/info.php
Вы всегда сможете заново создать этот файл, если вам снова потребуется доступ к этой информации.
Заключение
Теперь, когда ваш стек LAMP установлен, у вас есть множество вариантов того, что делать дальше.
Фактически, вы установили платформу, которая позволит установить (развернуть) большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере.
Некоторые популярные варианты:
- Установить Wordpress - наиболее популярную систему управления контентом в интернете.
- Установить PHPMyAdmin для управления базами данных MySQL из веб-браузера.
- Узнать больше о MySQL для управления базами данных.
- Научиться создавать SSL сертификат, чтобы обезопасить трафик вашего веб-сервера.
- Научиться использовать SFTP для передачи файлов на ваш сервер и с него.
Обратите внимание: Мы будем обновлять указанные выше ссылки на документацию для 14.04 по мере ее написания.
1 Comment