Перейти к содержимому

Как установить apache на linux

  • автор:

Как установить LAMP (Linux+Apache+MySQL+PHP) на Ubuntu 16.10

В этой статье мы расскажем про базовую настройку LAMP (Linux+Apache+MySQL+PHP) на операционной системе Ubuntu 16.10.

Установка Apache

1) В самом начале обновляем обновляем компоненты операционной системы до актуальных версий:

sudo apt-get update -y

sudo apt-get upgrade -y

В процессе у вас могут появляться такие окна, нажмите OK

установка lamp на vps с ubuntu

2) Устанавливаем сам Apache:

sudo apt-get install apache2 -y

3) Заходим по Ip-адресу вашего виртуального сервера. Если все работает нормально, должна появиться такая страница

проверка установки apache на виртуальный сервер

Установка MySQL

1) Запускайте установку командой:

sudo apt-get install mysql-server -y

2) В процессе у вас всплывет окно, где нужно будет ввести пароль для root-пользователя:

установка mysql на vps

3) Теперь задаем настройки безопасности командой:

4) У вас попросят пароль, который раньше был установлен для root-пользователя

настройка mysql

5) Дальше вы можете согласиться или отказаться проверить ваш пароль на сложность:

установка пароля базы данных на vps

6) Мы соглашаемся, нужно ввести степень сложности, которую хотите установить для пароля. Вводите новый пароль.

новый пароль для базы данных

7) Дальше на все вопросы отвечайте Y. После этого все главные настройки безопасности для базы данных установлены.

окончательные настройки базы данных на vps

Установка PHP

1) Устанавливаем PHP командой:

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql -y

2) Нам нужно проверить работу PHP. Создаем файл info.php

sudo nano /var/www/html/info.php

3) Туда прописываем код, который размещен ниже, и нажимаем CTRL+X, подтверждаем изменения и закрываем файл.

установка php на ubuntu

4) Нужно проверить. Откройте ссылку в браузере — http://IPадресвашегосервера/info.php

проверка работы php на vps с ubuntu

5) Для удаления файла введите команду

sudo rm /var/www/html/info.php

6) Все. Вы установили пакет LAMP на виртуальный сервер с ОС Ubuntu 16.10 в базовой настройке для запуска сайта.

Как установить Apache на Ubuntu 20.04 и разместить веб-сайт

Apache — это программное обеспечение бесплатного веб-сервера, с открытым исходным кодом, разработан Apache Software Foundation. Официально он называется Apache HTTP Server. Apache является одним из самых старых, кросс-платформенных веб-серверов.

В этой инструкции мы установим Apache версии 2 (Apache2) на Ubuntu 20.04. Кроме того, мы настроим виртуальные хосты таким образом, чтобы на одном сервере могли размещаться несколько веб-сайтов.

Установка Apache2 в Ubuntu 20.04

Первое что требуется сделать это проверить наличие обновлений пакетов с помощью команды ниже.

Во — вторых, выполните следующую команду, чтобы установить Apache версии 2 из репозитория пакетов Ubuntu.

При появлении запроса введите Y, чтобы продолжить установку.

После успешной установки Apache2 выполните следующую команду для просмотра версии.

Проверка версии сервера Apache

Проверка Состояния Сервера Apache2 в Ubuntu 20.04

Далее следует проверить состояние сервера Apache2, для этого выполните следующую команду.

Проверка состояния сервера Apache

По умолчанию служба Apache2 должна быть активна (запущена). Если нет, запустите службу следующей командой.

Протестируйте установленный веб-сервер Apache2

Последний шаг — это тестирование веб-сервера Apache2. Откройте веб-браузер и введите IP — адрес вашего сервера Ubuntu. Или введите localhost, если вы локально подключены к серверу.

Возможно вам будет интересно: Как настроить wi-fi сеть ноутбук-ноутбук

Вы должны увидеть страницу Apache2 Ubuntu default page, как показано на рисунке ниже.

Страница Apache2 Ubuntu по умолчанию

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

Виртуальные хосты позволяют размещать более одного веб-сайта на одном сервере Apache2. В Nginx это называется серверными блоками.

По умолчанию Apache2 поставляется с одним виртуальным хостом, а его конфигурационная информация хранится в файле /etc/apache2/sites-enabled/000-default.conf. Кроме того, корень веб-сайта по умолчанию — располагается в /var/www/html.

Настроить новый виртуальный хост очень просто. Следуйте инструкции и просто замените setiwik своим собственным зарегистрированным доменным именем.

Примечание: ваше зарегистрированное доменное имя должно указывать на IP-адрес вашего сервера Ubuntu.

Создание виртуального хоста

Создайте новый конфигурационный файл виртуального хоста, скопировав файл по умолчанию следующим образом.

$ cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/setiwik.conf

Далее отключите виртуальный хост по умолчанию с помощью приведенной ниже команды.

Создать корневой каталог документа

Выполните следующую команду, чтобы создать корневой каталог документа для хранения файлов веб — сайта.

Затем сделайте учетную запись Пользователя службы Apache2 (www-data) и группу (www-data) владельцами корневого каталога документа. Это можно сделать следующим образом.

$ sudo chown www-data:www-data /var/www/setiwik

Далее, предоставьте учетной записи Пользователя службы Apache2 (www-data) полный доступ к корневому каталогу документа с помощью следующей команды.

Создание индексного файла сайта

Теперь создайте индексный файл в корневом каталоге документа с помощью команды:

Скопируйте и вставьте пример HTML-кода ниже.



Welcome to SETIWIK!


Welcome to SETIWIK!

Если вы видите эту страницу, веб-сайт SETIWIK работает правильно


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

Возможно вам будет интересно: Ping проверка сети и интернета

Измените конфигурацию виртуального хоста

Затем отредактируйте новый файл конфигурации виртуального хоста с помощью следующей команды.

$ sudo nano /etc/apache2/sites-available/setiwik.conf

Теперь раскомментируйте строку, которая начинается с ServerName, а затем замените www.example.com с фактическим URL-адресом веб-сайта. А так же замените /var/www/html новым корневым путем документа.

Ниже приведен пример того, что ожидается после внесения изменений.

Сохраните и закройте файл конфигурации виртуального хоста.

Включите виртуальный хост Apache2

Чтобы включить виртуальный хост Apache2, выполните команду.

Наконец, перезапустите веб-сервер Apache2 с помощью:

$ sudo systemctl restart apache2

Теперь мой сайт доступен через www.setiwik.ru как показано на рисунке ниже.

Добро пожаловать в виртуальный хост setiwik

Основные команды для управления HTTP-сервером Apache

В заключение мы приведем некоторые основные команды systemctl, которые помогут вам управлять вашим веб-сервером Apache2.

Используйте restart, чтобы остановить службу Apache2, а затем запустить ее снова.

$ sudo systemctl restart apache2

Используйте опцию reload, чтобы указать Apache2 перезагрузить свои конфигурационные файлы, но без остановки службы.

Выполните команду stop, чтобы остановить службу Apache2.

Чтобы включить запуск службы Apache2 при загрузке сервера, выполните следующие действия:

Помощники Apache2

a2ensite – включить сайт apache2 или виртуальный хост.

a2dissite – используется для отключения сайта apache2 или виртуального хоста.

Базовая конфигурация Apache2 и файлы журналов

Конфигурационные файлы Apache2

/etc/apache2/apache2.conf — основной конфигурационный файл, который извлекает информацию из всех других конфигурационных файлов при запуске веб-сервера.

/etc/apache2/ports.conf — определяет порты прослушивания для входящих соединений.

/etc/apache2/mods-enabled — содержит информацию о конфигурации для управления модулями.

Возможно вам будет интересно: Блокировка учетных записей пользователей

/etc/apache2/conf-enabled — содержит некоторую глобальную информацию о конфигурации.

/etc/apache2/sites-available — хранит конфигурации виртуальных хостов.

/etc/apache2/sites-enabled — определяет включенные виртуальные хосты.

Файлы журналов Apache2

/var/log/apache2/error.log — содержит информацию об ошибках, с которыми сталкивается Apache2.

/var/log/apache2/access.log — содержит все запросы, обработанные Apache2.

Заключение

В этой инструкции мы установили и настроили HTTP-сервер Apache вместе с виртуальным хостом на Ubuntu 20.04. Кроме того, мы рассмотрели некоторые полезные команды для управления Apache2. Наконец, мы дали краткое описание важных конфигов и лог-файлов, используемых Apache2.

Установка Apache на CentOS 7

В этой статье мы расскажем, как происходит настройка и установка Apache на CentOS 7, как установить PHP и базы данных MariaDB на Apache.

Важным элементом интернет-системы является web-сервер. Он передаёт данные от физического сервера, где лежат все файлы сайта, на компьютер пользователя. Пользователь вводит в браузере доменное имя сайта, веб-сервер мчится за файлами этого сайта и затем передаёт их пользователю. Таким образом с помощью веб-сервера конечный потребитель получает контент.

Apache ― это программное обеспечение с открытым исходным кодом для создания веб-сервера, разработанное для UNIX (например, Linux) и Windows.

Обратите внимание, данная инструкция подходит только для CentOS 7.

Как установить Apache на CentOS 7

Чтобы поставить на VPS Apache:

Обновите пакет Apache httpd:

sudo yum update httpd

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

Apache — это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного тогда сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update
sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

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

После завершения установки нужно добавить веб-сервер в автозагрузку, чтобы не запускать его вручную после включения компьютера:

sudo systemctl enable apache2

Настройка Apache

Уже прошло то время, когда конфигурация Apache хранилась в одном файле. Но оно и правильно, когда все распределено по своим директориям, в конфигурационных файлах легче ориентироваться.

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

apache

Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 — максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

apache1

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.

DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.pro: Allow from losst.pro.

Здесь все эти директивы не используются, поскольку нас устраивают значения по умолчанию, но вот в файлах .htaccess они могут быть очень полезны.

У нас остался файл /etc/apache2/ports.conf:

apache2

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

Последний файл /etc/apache2/envvars, его вы вряд ли будете использовать, в нем указанны переменные, которые можно использовать в других конфигурационных файлах.

apache3

Дальше поговорим немного о htacess. Совсем немного.

Настройка сервера Apache через htaccess

Файлы .htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег если бы находились в основном файле.

Важно заметить, что для того, чтобы сервер читал инструкции из .htaccess настройки для этой папки в основном файле или файле виртуального хоста не должны содержать AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All.

А в остальном, здесь может выполняться любая настройка сервера apache, от включения модулей, до обычного изменения доступа к папке. Поскольку все параметры мы уже рассмотрели просто приведем пару примеров:

Order Deny,Allow
Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией. Чаще всего .htaccess используется для работы с модулем mod_rewrite, который позволяет изменять запросы на лету:

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

apache4

Включить модуль можно командой:

sudo a2enmod имя_модуля

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

apache5

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

apache6

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2disconf имя модуля

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

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

Было бы не совсем удобно, если на одной физической машине можно было размещать только один сайт. Apache может поддерживать сотни сайтов на одном компьютере и выдавать для каждого из них правильное содержимое. Для этого используются виртуальные хосты. Сервер определяет к какому домену приходит запрос и отдает нужное содержимое из папки этого домена.

Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName — основное имя домена
  • ServerAlias — дополнительное имя, по которому будет доступен сайт
  • ServerAdmin — электронная почта администратора
  • DocumentRoot — папка с документами для этого домена

apache7


ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog $/error.log
CustomLog $/access.log combined

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

127.0.0.1 test.site
127.0.0.1 www.test.site

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *