Архив метки: apache

Установка облачного сервиса Nextcloud

Nextcloud это веб-приложение для хранения данных, синхронизации данных, синхронизации контактов и календарей, общего доступа к файлам в “облаке”.
Nextcloud написан на PHP, что позволяет установить его на любой сервер и хостинг.
Nextcloud имеет множество возможностей, таких как:

  • хранение файлов;
  • журналирование всех действий пользователей;
  • доступ по протоколу WebDAV;
  • каленьдарь;
  • заметки;
  • планировщик задач;
  • авторизацию в домене AD;
  • и многое другое.

Данная статья писалась на основе версии 10.0.1.

Для установки потребуется:

  • Настроенный Web-сервер Apache с поддержкой PHP;
  • Настроенная база данных MySQL/MariaDB;
  • Пустая база данных MySQL/MariaDB;

В данной статье не описывается установка LAMP, потому что либо он уже установлен хостинг-провайдером, либо его установка сильно индивидуальна для разных проектов и окружений.
Поэтому перейдем непосредственно к установке Nextcloud.
Читать далее Установка облачного сервиса Nextcloud

Защита Apache с помощью ModSecurity

Способов защиты Web-сервера существует огромное множество. Начинать защиту нужно с обновления ПО и скрытия версий используемого ПО (как скрыть версии Web-сервера я рассказывал в статье Скрываем отображение версий Apache, Nginx и PHP). Далее можно установить WAF (Web Application Firewall) – файрвол для веб-приложений. ModSecurity – это файрвол выполненный в виде модуля для Apache, что позволяет его легко установить и использовать. Защититься с помощью ModSecurity можно от:

  • SQL-injection;
  • XSS;
  • троянов;
  • ботов;
  • захватов сеанса;
  • и многих других атак и взломов.

Начнем установку ModSecurity.
Для начала нам потребуется установить требуемый модуль:

apt-get install libapache2-mod-security2

и включить его:
Читать далее Защита Apache с помощью ModSecurity

Скрываем отображение версий Apache, Nginx и PHP

Убрать отображение версии Apache желательно для того, чтобы не попасть на 0-day уязвимости, а так же если вы ежедневно не следите за обновлением ПО и уязвимостями. Скрытие версий конечно не поможет избавиться от уязвимостей (для этого есть другие инструменты), но затруднит работу злоумышленнику.

Для того, чтобы скрыть версию Apache можно поставить модуль libapache-mod-security, который будет скрывать все лишнее. Установим его командой:

apt-get install libapache2-mod-security2

далее включим его:

a2enmod security2

И отредактируем конфигурацию, изменив или добавив строки в файле /etc/apache2/conf-available/security.conf:
Читать далее Скрываем отображение версий Apache, Nginx и PHP

Nginx Apache и реальный IP клиента

В случае, когда Nginx используется как Frontend для Apache то возникает проблема с передачей IP адреса клиента в Apache, т.к. по умолчанию он будет видеть только адрес проксирующего Nginx сервера. Как настроить Nginx в качестве Frontend для Apache я рассказывал в статье Nginx, как frontend для нескольких серверов.
Для того, чтобы это исправить, нам потребуется изменить конфигурацию Nginx, чтобы он начал передавать адреса и установить модель для Apachelibapache2-mod-rpaf, который будет принимать правильные IP адреса.

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

apt-get install libapache2-mod-rpaf

изменим его настройки в файле /etc/apache2/mods-available/rpaf.conf
Читать далее Nginx Apache и реальный IP клиента

Смена порта на котором работает Apache

Иногда бывает нужно сменить порт, на котором работает апач.

Рассмотрим саму простую конфигурацию Apache. Когда у нас всего один виртуальных хост, который работает по HTTP.

Для того чтобы сменить порт, на котором работает Apache нужно подправить информацию в файле /etc/apache2/ports.conf

Для HTTP траффика строки:

Listen 80
NameVirtualHost *:80

А так же в файле, который описывает виртуальных хост /etc/apache2/sites-enabled/000-default

Меняем 80-й порт на тот, который нам больше нравится.

Nginx, как frontend для нескольких серверов

Nginx – это легкий и быстрый сервер HTTP-сервер, а так же обратный прокси-сервер и почтовый прокси-сервер.
Он гораздо меньше нагружает систему, чем Apache, а так же позволяет проксировать через себя других Web сервера.

Для чего он может быть полезен?
В качестве кэширующего сервера для других Web серверов.
Для агреггации нескольких серверов на одном доменном имени (в зависимости от адреса перехода).

Рассмотрим конфигурацию, когда у нас есть основной сайт на Web сервере Apache, а так же вторичный сервер на базе IIS, на котором работает Web интерфейс Outlook (OWA).

Принципиальная схема сети

Читать далее Nginx, как frontend для нескольких серверов

Debian Server с нуля. Часть третья. Авторизация пользователей web сервера apache

Для начала внесем изменения в /etc/apache2/sites-enabled/000-default
добавим в секцию строчки, чтобы привести ее к такому виду:


AuthType Basic
AuthName "Hello"
AuthUserFile /mnt/data/apache/pwd/apachepwd
Require valid-user
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

Читать далее Debian Server с нуля. Часть третья. Авторизация пользователей web сервера apache

Debian Server с нуля. Часть Вторая. Настройка Apache+ SSL+MySQL

В этой части займемся установкой связки Apache+SSL+MySql
Установим Apache:

apt-get install apache2

Теперь создадим папку для сертификатов:

mkdir /mnt/data/ssl_cert

и сам сертификат(пока будем использовать самоподписанный):

sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /mnt/data/ssl_cert/apache.pem
Читать далее Debian Server с нуля. Часть Вторая. Настройка Apache+ SSL+MySQL