Меню

Linux debian настройка apache



Как установить Apache с виртуальными хостами на Debian 10?

Apache, обычно называемый HTTP-сервером Apache, является бесплатным кроссплатформенным веб-сервером с открытым исходным кодом, поддерживаемым Apache Foundation. Это ведущий веб-сервер, который занимает 35% рынка в Интернете, где второе место занимает Nginx с 24%.

Apache отличается высокой надежностью, простотой установки и предоставляет множество функций, которые делают его популярным среди разработчиков и энтузиастов Linux. Кроме того, он регулярно поддерживается и обновляется фондом Apache, что помогает исправлять ошибки в программном обеспечении и повышает его общую эффективность. Во времени написания этой статьи последняя версия Apache2.4.39

В этом руководстве мы расскажем вам, как установить веб-сервер Apache в Debian 10.

Требования:

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

  • наличие Debian10;
  • полное доменное имя (Fully Qualified Domain Name), указывающее на сервер;
  • в этой статье мы используем домен tecmint.com, указывающий на систему Debian 10 с IP-адресом 192.168..104;
  • хорошее подключение к интернету.

Шаг 1: Обновление системного репозитория Debian 10

Первым шагом в установке Apache на Debian 10 является обновление системных репозиториев. Для этого войдите в систему как обычный пользователь и с помощью привилегий sudo запустите команду.

Шаг 2: Установка Apache на Debian 10

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

Шаг 3: Проверка состояния веб-сервера Apache

После успешной установки веб-сервера Apache всегда рекомендуется проверять, работает ли служба. Большинство Linux-систем запускают службу автоматически после установки.

Чтобы проверить состояние веб-сервера Apache, выполните команду:

Если служба не запущена, запустите её с помощью следующей команды:

Чтобы включить веб-сервер Apache при загрузке, выполните следующую команду:

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

Шаг 4. Настройка брандмауэра для разрешения порта HTTP

Если брандмауэр UFW уже настроен, нам нужно разрешить службу Apache через брандмауэр, чтобы внешние пользователи могли иметь доступ к веб-серверу.

Для этого нам нужно разрешить трафик через порт 80 на брандмауэре:

Чтобы убедиться, что порт разрешен на брандмауэре, запустите следующую команду:

Кроме того, вы можете использовать команду netstat для проверки порта, как показано на скриншоте ниже:

Шаг 5. Проверка веб-сервера Apache HTTP

Откройте ваш веб-браузер со всеми настройками и просмотрите IP-адрес или полное доменное имя вашего сервера, как показано ниже:

Шаг 6: Настройка веб-сервера Apache

Веб-сервер Apache уже настроен, пришло время разместить образец веб-сайта.

Файл веб-страницы Apache по умолчанию index.html находится по адресу /var/www/html/, который является каталогом webroot. Вы можете разместить один сайт или создать файлы виртуальных хостов для размещения нескольких сайтов.

Чтобы разместить один сайт, вы можете изменить файл index.html, расположенный в каталоге webroot.

Но сначала вам нужно сделать резервную копию файла, как показано на скриншоте ниже:

Теперь давайте создадим новый файл index.html:

Добавляем пример содержимого HTML, как показано на скриншоте ниже:

Выйдите из текстового редактора и перезапустите веб-сервер.

Теперь перезагрузите ваш веб-браузер и обратите внимание на изменения:

Шаг 7: Создание виртуальных хостов на Apache

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

Для начала нам нужно создать каталог webroot для домена sedicomm.com:

Далее мы назначим необходимые разрешения для каталога, используя переменную $USER:

Затем назначьте необходимые разрешения для каталога webroot для домена:

Теперь, используя текстовый редактор, создайте пример файла index.html:

Теперь добавим пример содержимого HTML, как показано ниже:

Сохраните и выйдите из текстового редактора.

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

Теперь скопируйте и вставьте содержимое ниже, замените домен sedicomm.com своим собственным доменом:

Сохраните и выйдите.

На этом этапе включите файл виртуального хоста, как показано ниже:

Теперь нужно отключить сайт по умолчанию:

Чтобы внести изменения, перезагрузите веб-сервер Apache.

Теперь перезагрузите ваш веб-сервер и обратите внимание на изменения для вашего домена:

Итоги

Из этой статьи вы узнали, как установить Apache в Debian 10, а также настроить виртуальные хосты для размещения других доменов.

Спасибо за уделенное время на прочтение статьи о том, как установить Apache с виртуальными хостами на Debian 10?!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Источник

Установка конфигурации Linux + Apache + MySQL + PHP (LAMP) на Debian 8.8

06 мая 2017 года проект Debian с радостью сообщил о восьмом обновлении своего стабильного выпуска Debian 8 (кодовое имя jessie). Это обновление в основном содержит исправления проблем безопасности стабильного выпуска.

Аббревиатура LAMP включает Linux, Apache, MySQL, Perl/Python/PHP и является довольно мощным инструментом для разработки и использования web-приложений.

Подразумевается, что с установкой Debian Linux проблем не возникло и эта операционная система уже стоит на ПК. Сервер будем ставить в такой конфигурации:

  • Apache2 — web-сервер;
  • MySQL5 — сервер баз данных;
  • PHP5 — мощный язык написания сценариев;
  • phpMyAdmin — удобный интерфейс для работы с MySQL.

Установка MySQL 5

Для начала установим сервер MySQL. Для этого в терминале нужно выполнить следующую команду от пользователя root:

В начале установки у вас запросят пароль.

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

Затем повторите ввод пароля для MySQL от пользователя root.

Далее начнётся распаковка и установка программы, затем предварительная настройка пакетов.

Читайте также:  В freepbx нет настройки факса

Установка Apache 2

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

Проверьте веб-сервер Apache. В адресной строке веб-браузера введите адрес: http://localhost или http://127.0.0.1 и вы увидите следующее:

Apache установился.

Также возможны такие варианты

По умолчанию в веб-сервере Apache корневая директория для сайтов (document root) расположена в папке /var/www/html

Введите в строке браузера /var/www/html/index.html

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

Более подробная документация по настройке находится в файле /usr/share/doc/apache2/README.Debian.gz

Установка PHP 5

Для установки PHP необходимо выполнить команду:

В данном случае у вас установится php 5.6.3

Дополнительно можно установить и некоторые другие пакеты для работы PHP с различными модулями. Для этого выполним команду:

После установки нужно выполнить перезагрузку веб-сервера apache:

Для проверки работы PHP в корневой директории (document root) веб-сервера apache /var/www/html можно создать файл pi.php, который будет содержать функцию phpinfo()

Функция phpinfo() отображает много полезной информации о настройках веб-сервера и PHP.

Необходимо открыть терминал и выполнить команды:

Теперь изменяем право доступа к файлу. Для этого в терминале под root вызываем менеджера, в данном примере менеджера для рабочего окружения Xfce.

Путь: /var/www/html/

После чего в браузере можно открыть страницу: http://localhost/pi.php

Установка phpMyAdmin

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

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

Выберем веб-сервер для автоматической перенастройки

Пробел, затем Enter

Настроим базу данных PhpMyAdmin с помощью dbconfig-common, ответив «Да»

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

Далее Enter.

Вводим ещё пароль для приложений phpmyadmin.

Далее Enter.

Подтверждаем пароль для приложений phpmyadmin.

Далее Enter.

Дождитесь окончания установки, а затем в адресной строке веб-браузера введите: http://localhost/phpmyadmin

Пользователь root, пароль тот, который вы указали в самом начале установи Lamp (пароль администратора для базы данных MySQL)

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

Ваш логин по умолчанию — root.

Проверьте файл /etc/hosts: /usr/share/

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

127.0.0.1 localhost
127.0.1.1 имя Вашего компьютера

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настраиваем веб-сервер на базе Apache в Debian / Ubuntu Server

Настраиваем веб-сервер на базе Apache в Debian / Ubuntu Server

Веб-сервер Apache без преувеличения можно назвать стандартом де-факто в интернет. Большинство популярных систем управления сайтами и иных веб-приложений разрабатываются таким образом, чтобы работать с данным веб-сервером «из коробки». Поэтому, если вам нужен веб-сервер широкого применения, то Apache будет лучшим выбором. В данной статье мы расскажем, как установить и настроить полноценный веб-сервер на базе Debian / Ubuntu Server.

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

Кроме самого веб-сервера нам понадобится система управления базами данных, в данной отрасли стандартом де-факто давно является MySQL, и один из скриптовых языков для работы веб-приложений, на сегодняшний день пальму первенства уверенно держит PHP. Все вместе образует классическую связку, именуемую еще LAMP-сервер, аббревиатура расшифровывается как: Linux — Apache — MySQL — PHP.

Для установки мы будем использовать платформу Debian / Ubuntu. Системы, в зависимости от релиза, отличаются набором ПО, но все изложенное ниже будет одинаково применимо к любой из них. Существующие отличия будут оговорены отдельно. На момент написания статьи актуальны следующие релизы систем и версии ПО:

  • Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • Debian 7 Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Ubuntu Server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Все вышеуказанные выпуски содержат относительно современные версии ПО, но есть некоторые особенности. Так входящий в состав Ubuntu 14.04 и Debian 8, Apache 2.4 имеет достаточно серьезные отличия от Apache 2.2 и не все CMS (системы управления контентом, «движки») и веб-приложения умеют работать с ним, особенно это касается старых версий. Так, например, вы не сможете использовать Apache 2.4 для веб-доступа к базам 1С:Предприятие. Поэтому, если вы решили выбрать версию 2.4 — уточните совместимость с нею всех планируемых к размещению CMS и веб-приложений.

Кроме того, MySQL из состава Ubuntu Server 12.04 / 14.04 не работает внутри контейнеров OpenVZ, которые широко используются для предоставления услуги VPS. Проблема решается заменой MySQL из репозитория на версию от MySQL Community (разработчики) или один из форков, например, MariaDB.

С учетом вышесказанного оптимальным выбором нам представляется использование в качестве платформы веб-сервера Debian 7, как наиболее совместимую с существующими веб-приложениями и не имеющую серьезных проблем.

Мы не будем останавливаться на установке и подготовке серверной ОС, более подробно вы можете ознакомиться с этим процессом в наших статьях для Debian и Ubuntu Server. Также не забудьте правильно настроить язык и региональные стандарты системы. Все приведенные ниже действия следует выполнять с правами суперпользователя, например, с помощью команды sudo.

Установка Apache

Установка веб-сервера предельно проста:

Для проверки его работы наберите в браузере IP-адрес сервера, и вы увидите стандартную страницу заглушку:

Для Apache 2.4 она выглядит несколько иначе, но смысл от этого не меняется.

Настройки сервера содержатся в /etc/apache2/apache2.conf, к которому подключаются дополнительные файлы из директорий mods-enabled и sites-enabled. При этом никто не мешает вам внести все указанные настройки непосредственно в apache2.conf — все будет работать, но это резко снижает удобство администрирования, так как требует постоянной правки основного файла конфигурации, в то время как настройки во внешних файлах легко включаются и отключаются при помощи специальных инструментов.

Читайте также:  Настройка монитора яркость контрастность лучше

С этой целью каталоги mods-enabled и sites-enabled не содержат файлов конфигурации, а только символические ссылки на директории mods-available и sites-available, где следует располагать сами файлы. Как понятно из названий, в данных каталогах находятся настройки модулей и виртуальных хостов. Если с модулями дело приходится иметь редко, то управлять таким образом виртуальными хостами, т.е. сайтами, очень удобно.

Подробно о виртуальных хостах и расположении содержимого сайта мы уже писали в статье по Lighttpd, все сказанное там справедливо и для нашего случая. Вы вольны выбрать любую схему размещения данных, мы же предпочитаем хранить содержимое сайтов внутри /var/www в папках с именем домена.

Следующий вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет:

В Ubuntu 14.04 при установке данного пакета вы можете столкнуться с ошибкой:

Это известный баг, для его исправления выполните:

Если мы заглянем в папку sites-enabled, то увидим там уже готовую конфигурацию для сайта по умолчанию, т.е. того, что будет показано при наборе IP-адреса сервера. Данная настройка указывает на папку /var/www или /var/www/html для Apache 2.4, где расположена страница заглушка. После того как вы добавите свои сайты, выводиться будет первый по списку сайт.

Допустим мы хотим разместить на нашем сервере содержимое сайта example.com, сначала создадим необходимые директории и сделаем их владельцем пользователя, который будет работать с сайтом:

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

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

Внутри разместите следующий текст:

Разберем содержимое более подробно. Начинается секция виртуального хоста с ее определения , где указывается IP-адрес и порт, на котором данный хост работает, если вы хотите принимать соединения на всех сетевых интерфейсах, то вместо адреса поставьте «звездочку» — *. Внутри секции располагаются следующие директивы:

  • ServerName — имя виртуального хоста, должен иметь значение полного доменного имени (FQDN), в нашем случае example.com, определяет, какое доменное имя обслуживает данный виртуальный хост.
  • ServerAdmin — контактный адрес электронной почты администратора домена, включается в сообщения об ошибках веб-сервера, рекомендуется завести для этих целей отдельный ящик.
  • ServerAlias — алиас имени хоста, обязательно значение www.example.com, чтобы ваш сайт работал как с www, так и без.
  • DocumentRoot — корневая папка виртуального хоста, указываем директорию размещения сайта, т.е. /var/www/example.com
  • CustomLog — имя и расположение лога доступа, переменная $ указывает на стандартную директорию логов веб-сервера, это позволяет использовать стандартный механизм ротации логов для всех сайтов, в имени лога рекомендуем указывать имя хоста, чтобы сразу было понятно где какой лог. Не забудьте в конце опцию combined, данная опция указывает формат лога и задается в apache2.conf.
  • ErrorLog — имя и расположение лога ошибок, полностью аналогичен логу доступа, но не требуется указывать формат лога.
  • AssignUserID — имя и группа пользователя (через пробел) от имени которых будет работать данный виртуальный хост, задается только если установлен apache2-mpm-itk, в противном случае эта директива не нужна.

Внутри секции виртуального хоста размещаем еще одну секцию , которая включает директивы, применяемые не к хосту, а к каталогу, в нашем случае к корневому каталогу виртуального хоста. Там располагается директива Options, которая содержит следующие опции (перед каждой из которых ставится + или -, разрешая или запрещая опцию):

  • ±Includes — разрешает / запрещает SSI (Server Side Includes — включения на стороне сервера), в нашем случае выключено в целях безопасности. Имеет смысл включать только в том случае, если ваш сайт явно требует данной опции.
  • ±Indexes — разрешает / запрещает показывать содержимое каталога при отсутствии индексного файла, отключено в целях безопасности.
  • ±ExecCGI — разрешает / запрещает выполнение сценариев CGI, отключаем в целях безопасности.

За ней следует директива AllowOverride, которая устанавливает использование директив из файлов .htaccess, по умолчанию сервер устанавливает для /var/www данную директиву в None, что запрещает использовать директивы .htaccess во всех вложенных директориях. Для того чтобы разрешить использование директив .htaccess установите данную директиву в All, что разрешит использовать в .htaccess любые директивы.

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

Закрываем открытые секции: и , затем сохраняем файл. Конфигурация виртуального хоста готова.

Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге sites-enabled, а, чтобы выключить — удалить эту ссылку. Это можно сделать вручную, при помощи команды ln -s, или использовать специальную утилиту apache:

Данная команда включит сайт, для выключения введите:

В качестве опции команде передается имя конфигурационного файла из sites-available, в случае Apache 2.4 без расширения. После каждого такого действия веб-сервер необходимо перезапустить:

Чтобы проверить работу виртуального хоста разместите в его корневой директории любой html-файл и обратитесь к серверу по имени домена (при этом А-запись домена должна быть настроена и указывать на ваш веб-сервер).

Например, создадим индексный файл:

И разместим в нем строку:

В итоге в браузере вы должны увидеть следующее:

Установка PHP

Если веб-сервер был нужен вам для размещения статического содержимого или сторонних веб-приложений, например, публикации баз 1С:Предприятия, то дальше можно не читать. Но если вы собираетесь создать сайт на основе популярных CMS — вам потребуется поддержка скриптового языка PHP, на базе которого разработаны большинство современных «движков».

Важно! В современных дистрибутивах используется более новая версия PHP7, чтобы работать с новой версией языка вместо php5 в приведенных ниже командах следует указывать php7.x или просто php, например, вместо php5-imagick нужно набрать php7.0-imagick или php-imagick.

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

По умолчанию PHP устанавливается с базовым набором модулей, который удовлетворяет большинство потребностей, однако применяемая вами CMS может требовать дополнительных модулей, которые нужно будет установить отдельно.

Например, для работы с графикой вам потребуется поддержка графической библиотеки GD2, поэтому установим соответствующий модуль:

После чего не забудьте перезапустить веб-сервер:

Кстати, GD2, на наш взгляд не самый лучший выбор, в актив библиотеки можно записать низкое потребление ресурсов и высокую скорость работы, но по качеству работы с изображениями она уступает альтернативной утилите imagemagick, иногда значительно. Поэтому имеет смысл установить обе утилиты и выбрать ту, работа которой наиболее вам подойдет. Если ресурсы сервера позволяют, то предпочтительно использовать imagemagick.

Установим утилиту и модуль PHP для нее:

Для проверки работы PHP создадим в корневой директории сайта специальный скрипт:

И внесем в него следующий текст:

Теперь наберем в браузере http://example.com/info.php, в результате работы данного скрипта вы увидите стандартную страницу с информацией о PHP, установленных модулях, настройках и т.д.

Установка MySQL

СУБД MySQL — третий необходимый компонент полноценного веб-сервера, основное назначение базы данных — хранение информации сайта, как пользовательской, так и служебной. При этом по важности СУБД превосходит все остальные компоненты, так как потеря базы данных равносильна потере всей информации вашего ресурса.

Установим сервер баз данных и модуль PHP для работы с ним:

Важно! В свежих выпусках Debian (и его производных) вместо пакета mysql-server следует установить mariadb-server, который полностью совместим с MySQL.

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

Для удобного управления базами данных имеет смысл установить phpMyAdmin — удобную веб-утилиту для управления сервером MySQL:

Инсталлятор утилиты умеет автоматически настраивать популярные веб-сервера Apache и Lighttpd, нужный сервер следует указать при установке:

Веб-интерфейс утилиты будет доступен по адресу http://example.com/phpmyadmin, для входа следует использовать учетные данные пользователя MySQL, в нашем случае это root (других еще нет) с паролем, который мы указали во время установки MySQL.

В Ubuntu 14.04 мы столкнулись с небольшой проблемой, утилита сообщила нам, что расширение mcrypt не найдено, хотя соответствующий модуль PHP был установлен среди зависимостей.

Проверим. В /etc/php5/apache2/conf.d ссылка на данный модуль отсутствует, в то время как в /etc/php5/mods-available нужный файл есть. Следовательно, модуль установлен, но, по какой-то причине, не подключен. Возможно это связано с Apache 2.4 и тогда подобная ситуация может иметь место и в Debian 8.

Однако ничего страшного не произошло, все что нам нужно — это подключить модуль, создав символьную ссылку:

Никаких дополнительных настроек MySQL сервер не требует, благо кодировка UTF-8 стала стандартом де-факто. В принципе на этом можно закончить, но все базы данных размещаемые на сервере будут работать с правами суперпользователя MySQL, что небезопасно. Поэтому следует создать пользователей сервера баз данных с ограниченными правами, чтобы они могли управлять только своими базами.

Откроем phpMyAdmin и перейдем на страницу Привилегии (Пользователи), где выберем Добавить нового пользователя.

Теперь прокрутим страничку чуть ниже и установим опцию Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)

Это позволит лишний раз не отвлекаться на установку прав, а просто создавать базы с именами вида ivanov_base1 или petrov_base2, предоставляя соответствующим пользователям полные права на них, а также быстро определять принадлежность баз данных. В тоже время данная настройка не является догмой, вы можете поступать на свое усмотрение. Остальные параметры оставляем по умолчанию.

Для проверки создадим базу данных phpMyAdmin — Базы данных — Новая база данных.

При создании БД обращайте внимание на кодировку. Сегодня большинство движков и веб-приложений работают с UTF-8 (utf8_general_ci), однако старые версии движков могут использовать национальные кодировки, поэтому нужно будет правильно указать их еще на стадии создания базы, в противном случае, залив в базу, созданную в UTF-8 дамп в кодировке Windows-1252 вместо русских букв на сайте окажутся «крякозяблики».

Создав базу, проверим ее привилегии, нажав одноименную ссылку рядом с именем базы.

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

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

Источник

Adblock
detector