В данной статье вы найдете подробное руководство установки и настройки 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!