Установка Apache PHP MySQL (LAMP) в Ubuntu 14.04

В данной статье вы найдете подробное руководство установки и настройки LAMP веб сервера на базе Ubuntu. Lamp это сокращенное обозначение наиболее популярной связки серверного программного обеспечения, а именно Apache, MySQL, PHP (LAMP = Linux + Apache + MySQL + PHP). Наш LAMP сервер будет базироваться на Ubuntu 14.04, самой последней на сегодня версии убунту, обновления которой будут выпускаться вплоть до апреля 2019 года.

Установка и настройка веб сервера Apache

1. Обновляем список пакетов репозитория и обновляем систему:
sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем Apache:
sudo apt-get install apache2

3. Откройте конфиг файл Апача, чтобы отключить опцию KeepAlive, а также добавьте раздел <IfModule mpm_prefork_module>. Данные настройки подойдут для серверов с 1Гб оперативной памяти.
sudo vi /etc/apache2/apache2.conf

KeepAlive Off
...
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
MaxClients 30 # изменить в зависимости от объема RAM
ServerLimit 30 # изменить в зависимости от объема RAM
MaxRequestsPerChild 300
</IfModule>

Настройка виртуальных хостов

1. Создаем копию файла виртуальных хостов /etc/apache2/sites-available/default для каждого нашего сайта по-отдельности:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite.ru
sudo vi /etc/apache2/sites-available/mysite.ru

и добавляем свое содержимое:

<VirtualHost *:80>
     ServerAdmin webmaster@example.com
     ServerName mysite.ru
     ServerAlias www.mysite.ru
     DocumentRoot /var/www/mysite.ru
     ErrorLog /var/log/apache2/error.log 
     CustomLog /var/log/apache2/access.log combined
     <Directory /var/www/mysite.ru/>
        AllowOverride All
     </Directory>
</VirtualHost>

2. Включаем сайт (будет создана ссылка /etc/apache2/sites-enabled/mysite.ru -> /etc/apache2/sites-available/mysite.ru):
sudo a2ensite mysite.ru

3. Перезагружаем настройки Апача:
sudo service apache2 reload

Если вы уже прописали IP адрес вашего сервера в DNS настройках домена mysite.ru, то виртульный хост mysite.ru должен работать.

4. Для проверки работы сайта, создадим файл index.html в корневой директории:
vi /var/www/mysite.ru/index.html
и добавим содержимое:

<!DOCTYPE html>
<html>
  <head>
    <title>mysite.ru</title>
  </head>
 <body>
  <h1>mysite.ru works!!</h1>
 </body>
</html>

5. Теперь можно попробовать зайти на http://mysite.ru. Если вы видите заголовок mysite.ru, то значит все работает. Удаляем index.html:
rm index.html

6. Если нужно отключить сайт mysite.ru, то отключаем сайт и перезагружаем apache командами:
sudo a2dissite mysite.ru
sudo service apache2 reload

Установка и настройка MySQL сервера

1. Устанавливаем mysql сервер:
sudo apt-get install mysql-server
При установке вас спросят ввести пароль, введите надежный пароль и сохраните его где-нибудь на листочке, чтобы не забыть.

На данном этапе MySQL сервер должен уже работать. Если вам нужно изменить настройки mysql сервера, то настройки хранятся в файле /etc/mysql/my.cnf. Стандартных настроек вполне достаточно для сервера с 1Гб памяти.

2. Залогинимся под рутом:
mysql -u root -p

3. Создадим базу данных и пользователя для доступа к ней:
create database mysitedb;
grant all on mysitedb.* to "mysiteuser" identified by 'mypassword';

В примере выше, имя базы данных mysitedb, имя пользователя mysiteuser, пароль mypassword.

4. Выйдем из MySQL введя команду:
quit
или сочетание клавиш Ctrl+D

Установка и настройка PHP

1. Устанавливаем PHP:
sudo apt-get install php5 php-pear php5-mysql

2. После того как php5 установлен, вы можете отредактировать настройки для лучшей произодительности, более подробных логов и т.д.:
vi /etc/php5/apache2/php.ini
Данные настройки отлично подойдут для тех, кто еще не знаком с PHP:
max_execution_time = 30
memory_limit = 128M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off
log_errors = On
error_log = /var/log/php/error.log
register_globals = Off
max_input_time = 30

Убедитесь что данные опции установлены, комментировать ненужные опции символом точкой с запятой ‘;’.

3. Создаем директорию логов для PHP и меняем владельца на ‘www-data’:
sudo mkdir /var/log/php
sudo chown www-data /var/log/php

Поздравляем! Мы только что установили и настроили Lamp сервер в Ubuntu 14.04!

Читайте также: