Продолжаю цикл статей, посвященных работе с виртуальными серверами на примере сервиса Digital Ocean. Напомню, что ранее мы научились производить первичную настройку сервера с Ubuntu, а сегодня мы рассмотрим вопрос установки оставшихся частей стека LAMP - Apache, MySQL и PHP.

Данная заметка является переводом статьи How to Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu.

О стеке LAMP

LAMP - это набор программного обеспечения с открытым исходным кодом, используемый для создания веб-серверов. Эта аббревиатура расшифровывается как Linux, Apache, MySQL и PHP. Поскольку виртуальный сервер уже работает на Ubuntu, мы не будем рассматривать процесс ее установки (прим. пер.: который достаточно прост). Ниже описан процесс установки всего остального из LAMP.

Введение

В этом документе мы полагаем, что пользователь имеет root-привилегии на своем VPS. Вы можете ознакомиться с тем, что это значит и как этого добиться в заметке Initial Server Setup - шаги 3 и 4.

Шаг 1 - Устанавливаем Apache

Apache - это программное обеспечение с открытым исходным кодом, которое используется в 50% всех серверов в мире.

Для установки Apache откройте терминал и наберите команды:

sudo apt-get update
sudo apt-get install apache2

Вот и все. Проверить, установлен ли Apache, можно набрав в адресной строке IP адрес вашего сервера (например, http://12.34.56.789). Открывающаяся по этому адресу страница должна отображаться слова “It works!”, примерно как на этом примере.

Как найти IP адрес вашего сервера

Для того, чтобы найти IP адрес вашего сервера необходимо выполнить в терминале следующую команду:

ifconfig eth0 | grep inet | awk '{ print $2 }'

Шаг 2 - Устанавливаем MySQL

MySQL - это мощная система управления базами данных, используемая для хранения и отображения данных.

Для установки MySQL наберите в терминале следующие команды:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Во время установки MySQL попросит вас задать root-пароль. Если вы не зададите его в процессе установки, его всегда можно задать позже из командной строки MySQL (MySQL shell). После установки MySQL необходимо активировать его командой:

sudo mysql_install_db

Для завершения установки необходимо выполнить скрипт настройки MySQL:

sudo /usr/bin/mysql_secure_installation

Когда скрипт запросит у вас текущий root-пароль, введите его.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Затем скрипт спросит, хотите ли вы поменять root-пароль. Выберите N для продолжения процесса настройки.

Проще всего выбирать вариант Yes во всех настройках. После завершения настройки MySQL перезагрузится и применит все новые изменения.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

После завершения настройки MySQL вы можете установить PHP.

Шаг 3 - Устанавливаем PHP

PHP - это скриптовый язык программирования с открытым исходным кодом, широко используемый в настоящее время для построения динамических веб-страниц.

Для установки PHP откройте терминал и введите следующие команды:

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

После того, как вы дважды ответите Yes, PHP будет установлен.

Также необходимо будет добавить php в directory index:

sudo nano /etc/apache2/mods-enabled/dir.conf

Добавьте index.php в начало списка индексных файлов. В результате должно получиться так:

<IfModule mod_dir.c>

          DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm

</IfModule>

Модули 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
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication
[...]

Если вы хотите установить модуль, наберите:

sudo apt-get install название-модуля

Вы можете установить сразу несколько модулей, разделяя их имена пробелами.

Поздравляем, вы успешно установили LAMP на свой виртуальный сервер!

Шаг 4 - Проверяем работу PHP на виртуальном сервере

Для того, чтобы убедиться, что LAMP установлен как надо, мы можем сделать небольшую страничку на php.

Для этого создайте новый файл:

sudo nano /var/www/info.php

Добавьте в него следующее содержимое:

<?php
phpinfo();
?>

Сохрание и закройте этот файл.

Перезапустите Apache для того, чтобы изменения вступили в силу:

sudo service apache2 restart

Откройте в браузере вашу страничку по адресу (убедитесь, что заменили IP-адрес в этом примере на IP-адрес вашего виртуального сервера): http://12.34.56.789/info.php.

Страничка по этому адресу должна выглядеть примерно так.

Что дальше?

После установки LAMP вы можете установить и настроить phpMyAdmin, установить Wordpress, продолжить работу с MySQL (тут, например, есть базовый туториал по работе с MySQL), создать SSL-сертификат или установить FTP-сервер.