: :

ПнВтСрЧтПтСбВс

2017-11-13 15:50:40 22227 0

Установка и настройка LAMP (Lunux, Apache, Mysql, PHP) на Ubuntu16.04

LAMP - это часто используемый, бесплатный стек технологий, используемый для размещения веб-приложений и сайтов в окружении Линукс. Многие пользователи выбирают этот стек для разработки и развертывания веб приложений.

Мы рассмотрим установку и первоначальную насторойку стека LAMP под операционный системой Ubuntu 16.04

Подготовка системы:

Обновим систему:

sudo apt-get update

sudo apt-get upgrade

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

sudo apt-get install apache2

Настройки веб-сервера apache находятся в конфигурационным файле /etc/apache2/apache2.conf

Некоторые полезные настройки:

  • KeepAlive - (по-умолчанию включено) Разрешает или запрещает стойкое подключения (более одного запроса за подключение);
  • MaxKeepAliveRequests - Количество запросов за одно подключение;
  • KeepAliveTimeout - Количество секунд ожидания мледующего запроса в уже установленном соединении (рекомендуется оставить по-умолчанию 5 секунд, поможет избежать траты оперативной памяти);
  • User - пользователь с правами которого будет запущен веб-сервер;
  • Group - группа пользователя с правами которой будет запущен веб-сервер;
  • HostnameLookups - (по-умолчанию отключенно) Разрешать ip адреса в доменные имена

Запускаем веб-сервер и добавляем его в автозагрузку:

sudo systemctl start apache2

sudo systemctl enable apache2

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

Созданим копию конфигурационного файла виртуального хоста по-умолчанию

cd /etc/apache2/site-available/

sudo cp 000-default.conf test.ru.conf

Редактируем созданный файл

cat /etc/apache2/sites-available/test.ru.conf


<Directory /var/www/test.ru>
	
    # Разрешаем доступ к папке с веб-приложением всем

	Require all granted

</Directory>

# настройка виртуального хоста

<VirtualHost *:80> # слушать запросы на всех ip-адреса по порту 80

	ServerName test.ru # Принимать запросы c заголовком HOST равным test.ru
	ServerAlias www.test.ru # Псевдоним для заголовка HOST
	ServerAdmin admin@test.ru # Почтовый адрес администратора сервера
	DocumentRoot /var/www/test.ru # Директория для приложения

	# Расположения файлов логов и их формат 
	#(формат настраивается в главном конфигурационным файле веб-сервера)

	ErrorLog ${APACHE_LOG_DIR}/error.log 
	CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>

Созданим директорию для приложения, которую мы указывали ранее:

mkdir -p /var/www/test.ru

Зададим необходимые права на эту директорию:

sudo chown -R www-data:www-data /var/www/test.ru

www-data - пользователь, с правами которого будет запущен веб-сервер

Для того что бы созданный нами файл конфигурации виртуального хоста обрабатывался сервером, необходимо создать на него символьную ссылку в директории /etc/apache2/site-enabled

sudo a2ensite test.ru

Enabling site test.ru.
To activate the new configuration, you need to run:
  service apache2 reload

Отключаем виртуальный хост по-умолчанию:

sudo a2dissite 000-default

Перезапускаем веб-сервер:

sudo systemctl reload apache2

Установка Mysql

Устанавливаем пакет mysql-server из репозиториев:

sudo apt-get install mysql-server

При установке будет предложено ввести пароль пользователя СУБД root

После установки запускаем демона mysql и добавляем его в автозагрузку:

sudo systemctl start mysql

sudo systemctl enable mysql

Установка PHP 7.0

Устанавливаем из репозиториев php с поддержкой apache и mysql:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql

После установки редактируем конфигурационный файл /etc/php/7.0/apache2/php.ini изменим секцию временной зоны (остальные настройки опционально):

date.timezone = Europe/Moscow

Перезапускаем веб-сервер:

systemctl restart apache2

Для проверки работоспособности в директории приложения создаем файл index.php со следующим содержимым:

<?php

phpinfo();

?>

Заходим на сайте через веб-браузер и должны увидеть отображение phpinfo






Введите ответ:

+

=