Разное

Apache24: The Apache HTTP Server Project

11.06.2023

Содержание

Установка настройка freebsd 10 + apache24 + php + mysql

Обновлено: Опубликовано:

В качестве примера используются apache24, php5, mysql56.
Операционная система — FreeBSD 10.

Подготовка системы
Установка и настройка MySQL
Установка и настройка Apache
Установка и настройка PHP

Подготавливаем сервер

Заходим под суперпользователем:

$ su

Выставляем часовой пояс (у меня московское время) и сразу синхронизируем время:

cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate 0.freebsd.pool.ntp.org;

Создаем задание в cron для автоматической синхронизации времени каждую ночь:

echo ‘0 0 * * * /usr/sbin/ntpdate 0.freebsd.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab

Обновляем список пакетов:

pkg update && pkg upgrade

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

freebsd-update fetch && freebsd-update install

Установка и настройка MySQL

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

pkg install -y mysql56-server

Разрешаем запуск демона mysql:

echo ‘mysql_enable=»YES»‘ >> /etc/rc. conf

Запускаем mysql:

service mysql-server start

Меняем пароль для пользователя root в mysql:

mysqladmin -u root password

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

Указываем правильное имя сервера через файл hosts:

ee /etc/hosts

192.168.166.155          dmosk dmosk.local

* IP-адрес указан для локального сервера, для внешнего сервера указываем внешний адрес. dmosk — имя моего сервера.

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

pkg install -y apache24

Разрешаем запуск демона apache24:

echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf

Отредактируем файл конфигурации для apache:

ee /usr/local/etc/apache24/httpd.conf

ServerName dmosk.local

Include etc/apache24/extra/httpd-vhosts.conf

MaxClients 200

HostnameLookups Off

ServerName указывает имя сервера, Include стоит раскомментировать при использовании виртуальных доменов (рекомендуется), MaxClients указывает на максимальное количество одновременно созданных процессов apache, HostnameLookups разрешает или запрещает определение имени подключенного клиента (отключение, как в примере, ускоряет работу веб-сервера Apache).

Если вы раскомментировали подключение файла etc/apache24/extra/httpd-vhosts.conf, редактируем его (удаляем все содержимое и оставляем написанное ниже):

ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerName /
    DocumentRoot /usr/local/www/apache24/data
</VirtualHost>

* Это простейшая конфигурация для виртуального сервера. Она принимает любые запросы на сервер по http (80 порт) и запускает скрипт в директории DocumentRoot. Рекомендую посмотреть в сети Интернет более полные примеры для настройки виртуальных доменов Apache.

Запускаем сервер Apache:

service apache24 start

Проверяем работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть ответ «It Works!»

Установка и настройка PHP

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

pkg install -y php5 mod_php5 php5-extensions php5-mysqli php5-mysql

Редактируем файл конфигурации php. ini:

ee /usr/local/etc/php.ini

date.timezone = «Europe/Moscow»
magic_quotes_gpc = Off
upload_max_filesize = 512M
post_max_size = 1G
max_execution_time = 0

* Это пример самых распространенных параметров, которые приходится редактировать. date.timezone определяет временную зону. magic_quotes_gpc, в данном примере, отключает экранирование кавычек («волшебных кавычек»). upload_max_filesize выставляет лимит для одного загружаемого на сервер файла. post_max_size выставляет лимит для всех загружаемых на сервер файлов. max_execution_time — это лимит времени в секундах, которое будет выделено на работу скрипта; при превышении этого времени сервер вернет ошибку (0, как в примере не лимитирует выполнение скрипта по времени).

Измените конфигурацию сервера Apache для подключения модуля PHP:

ee /usr/local/etc/apache24/httpd.conf

<IfModule mime_module>
. ..
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps

</IfModule mime_module>
DirectoryIndex index.html index.htm index.php

* AddType вставляется внутри IfModule mime_module и устанавливает правила обработки скриптов PHP. DirectoryIndex задает индексный файл по умолчанию; если скрипт не задан явно в запросе, будет запущен именно он.

Переходим в корневую директорию расположения скриптов и переименовываем индексный файл:

cd /usr/local/www/apache24/data && mv index.html index.php

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

echo ‘<? phpinfo() ?>’ > index.php

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

service apache24 restart

Проверьте работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть много параметров в различных таблицах.

Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

Контроль доступа через .htaccess для apache2.4 — Раздел помощи

Файл .htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для:

  • переадресации на другой домен
  • контроля доступа к сайту
  • изменения значений директив PHP
  • отображения собственных страниц ошибок

Директивы для веб-сервера Apache2.4+ отличаются от Apache2.2. В примерах указаны директивы для обеих версий web-серверов.

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

  • Отклонить все запросы
  • Разрешить все запросы
  • Запретить доступ на основе имени хоста
  • Запретить доступ на основе IP-адреса
  • Запретить доступ совсех IP-адресов, кроме нужного
  • Запретить доступ к определенному файлу
  • Разрешить доступ к определенному файлу с IP-адреса
  • Запретить доступ по User-Agent (блокировка ботов)

Важно: нельзя использовать директивы для веб-сервера Apache2. 4+ и Apache2.2 одновременно. Это может привести к некорректной работе сайта.

Домены с кириллическими символами

При использовании кириллических доменных имён в файле .htaccess, их необходимо указывать в формате Punycode. Перекодировать их можно с помощью сервиса.

Отклонить все запросы

Apache 2.2

Order deny,allow
Deny from all

Apache 2.4

Require all denied

Разрешить все запросы

Apache 2.2

Order allow,deny
Allow from all

Apache 2.4

Require all granted

Запретить доступ на основе имени хоста

Apache 2.2

Order Allow,Deny
Allow from all
Deny from example.com

Apache 2.4

<RequireAll>
Require all granted
Require not host example.com
</RequireAll>

Использование директив <RequireAll> и Require all granted обязательны если используется более сложная конструкция.

Запретить доступ на основе IP-адреса

Для ограничения доступа к сайту с определённых IP-адресов в файл . htaccess требуется добавить:

Apache 2.2

Order Allow,Deny
Allow from all
Deny from 111.111.111.111
Deny from 222.222.222.222
Deny from 123.123.123.123

Apache 2.4

<RequireAll>
Require all granted
Require not ip 111.111.111.111
Require not ip 222.222.222.222
Require not ip 123.123.123.123
</RequireAll>

Запретить доступ совсех IP-адресов, кроме нужного

Для ограничения доступа к сайту со всех IP-адресов, кроме нужного (разрешенных IP-адресов может быть несколько), в файл .htaccess требуется добавить:

Apache 2.2

Order Deny,Allow
Deny from all
Allow from 111.111.111.111

Apache 2.4

Require ip 111.111.111.111

Запретить доступ к определенному файлу

Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess директив:

Apache 2.2

<Files ПУТЬ_К_ФАЙЛУ>
Order Allow,Deny
Allow from all
Deny from 123. 123.123.123
</Files>

Apache 2.4

<Files ПУТЬ_К_ФАЙЛУ>
<RequireAll>
Require all granted
Require not ip 123.123.123.123
</RequireAll>
</Files>

где ПУТЬ_К_ФАЙЛУ - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет запрещен доступ.

Разрешить доступ к определенному файлу с IP-адреса

Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess директив:

Apache 2.2

<Files ПУТЬ_К_ФАЙЛУ>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Files>

Apache 2.4

<Files ИМЯ_ФАЙЛА>
Require ip 77.222.44.126
Require ip 123.123.123.123
</Files>

где ИМЯ_ФАЙЛА - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешен доступ.

Запретить доступ по User-Agent (блокировка ботов)

Apache 2.2

SetEnvIfNoCase User-Agent «AESOP_com_SpiderMan» bad_bot
SetEnvIfNoCase User-Agent «AhrefsBot» bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot

Apache 2.4

<If «%{HTTP_USER_AGENT} =~ m#BadBot#i»>
Require all denied
</If>

где BadBot - необходимо заменить на User_Agent, которым представляется бот. Узнать его можно из лога запросов.


Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2.4:

  • Документация PHP
  • Список директив php. ini
  • Веб-сервер Apache2.4

Индекс /httpd

Индекс /httpd

HTTP-сервер Apache

Исходный код Дистрибутивы

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

Важные замечания

  • Скачать с ближайшего зеркала!
  • Двоичные выпуски
  • Текущие выпуски
  • Старые выпуски
  • Подписи PGP
  • Официальные патчи
 Имя Последнее изменение Размер Описание 
Родительский каталог — проект HTTP-сервера бинарные файлы/ 17.06.2022 11:25 - Бинарные дистрибутивы docs/ 17.06.2022 11:25 - Дополнительные пакеты документации libapreq/ 25.08.2022 13:10 - Проект HTTP-сервера mod_fcgid/ 17.06.2022 11:25 - Проект HTTP-сервера mod_ftp/ 17. 06.2022 11:25 - Проект HTTP-сервера patches/ 17.06.2022 11:25 - Официальные патчи Announcement2.4.html 07-03-2023 12:02 Проект HTTP-сервера 3,8K Announcement2.4.txt 07-03-2023 12:02 Проект HTTP-сервера 2.5K CHANGES_2.4 07.03.2023 12:50 Проект HTTP-сервера 337K ИЗМЕНЕНИЯ_2.4.56 07.03.2023 12:50 2.9K Проект HTTP-сервера CURRENT-IS-2.4.56 2023-03-07 12:50 0 Проект HTTP-сервера KEYS 01.09.2021, 13:38 537K ключей PGP/GPG для разработчиков META.asc 2018-03-09 10:33 801 подпись PGP httpd-2.4.56.tar.bz2 07.03.2023 12:02 Проект HTTP-сервера 7,1 млн. httpd-2.4.56.tar.bz2.asc 07.03.2023 12:02 833 Подпись PGP httpd-2.4.56.tar.bz2.sha256 07.03.2023 12:02 87 Проект HTTP-сервера httpd-2.4.56.tar.bz2.sha512 07.03.2023 12:02 151 Проект HTTP-сервера httpd-2.4.56.tar.gz 07.03.2023 12:02 9Проект HTTP-сервера .3M httpd-2.4.56.tar.gz.asc 07.03.2023 12:02 833 Подпись PGP httpd-2.4.56.tar.gz.sha256 07.03.2023 12:02 86 Проект HTTP-сервера httpd-2.4.56.tar.gz.sha512 07.03.2023 12:02 150 Проект HTTP-сервера httpd_logo_wide_new. png 21-12-2016 20:14 Проект HTTP-сервера 19K

Не скачивайте с www.apache.org. Пожалуйста, используйте зеркальный сайт чтобы помочь нам сохранить пропускную способность apache.org. Идти здесь, чтобы найти ближайшее зеркало.

Доступны в каталоге двоичных файлов/. Каждый бинарный дистрибутив содержит сценарий установки. См. README для деталей.

Подробнее о текущих выпусках см. Апач HTTP Страница загрузки сервера.

Примечание; версии Apache -win32-src.zip почти идентичны версии .tar.gz. Однако они предлагают исходные файлы в DOS/Windows. текстовый формат CR/LF и включает файлы сборки Win32. Эти файлы -win32-src.zip НЕ содержат двоичных файлов! Смотрите бинарники /win32/ каталог для бинарных дистрибутивов Windows.

На сайте www.apache.org доступны только текущие рекомендуемые версии. и зеркальные сайты. Более старые выпуски можно получить на сайте архива.

Все дистрибутивы выпусков имеют цифровую подпись (используя PGP или GPG) членами Apache Group, которые их создали. Будет сопровождающий дистрибутив .asc файл в том же каталоге, что и дистрибутив. Ключи PGP можно найти в репозитории ключей Массачусетского технологического института и в рамках этого проекта файл KEYS.

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

%pgpk -a КЛЮЧИ
% pgpv httpd-2.2.8.tar.gz.asc
  или ,
% pgp -ka КЛЮЧИ
% pgp httpd-2.2.8.tar.gz.asc
  или ,
% gpg --import КЛЮЧИ
% gpg --verify httpd-2.2.8.tar.gz.asc
 

Мы предлагаем хеши MD5 в качестве альтернативы для проверки целостности загруженных файлов. Программа unix под названием md5 или md5sum включен во многие дистрибутивы Unix. Это также доступен как часть GNU Текстовые утилиты. Пользователи Windows могут получить бинарные md5-программы отсюда, отсюда или здесь.

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

apache24 · Темы GitHub · GitHub

Вот 23 общедоступных репозитория соответствует этой теме…

пользовательские инструменты разработки / wampserver-ssl-auto-config

Спонсор Звезда 47

ansible-lockdown / АПАЧ-2.4-СНГ

Звезда 6

оджуллиен / Apache2.4

Звезда 4

зеданы / PHP-7.3-Mysql-8.0.14-Apache-2.4.38-39-HTTP-2-CentOS-7-Полная установка

Звезда 3

ansible-lockdown / АПАЧ-2.4-СТИГ

Звезда 3

фу-сен / CapRover-Apache

Звезда 3

иглунет / апач-топ

Звезда 3

фу-сен / CapRover-PHP-Apache

Звезда 2

Люнглл / Baymax-PenaltyKick

Звезда 1

фраиго / докер-центос-apache-php

Звезда 1

GetFixExampleDeveloper / unBlock-Пример-Apache-Server-Windows

Звезда 1

пзн2513 / ЛАМПА

Звезда 1

фениксео / стикс

Звезда 1

сайт-лаборатория / веб сервер

Звезда 1

cincin00 / последовательностиЗаказДоска

Звезда 0

гипермаркет / докер-php56-apache

Звезда 0

ДжейкобСтивенс2 / менеджер событий-API

Звезда 0

Кевин Креспин / Книгообмен

Звезда 0

Первопроходец780 / Установка-WAMP

Звезда 0

райрный / 2020.

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

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