Содержание

Apache HTTP Server | Русскоязычная документация по Ubuntu

Содержание

  • Apache HTTP Server

    • Версии Apache в Ubuntu

    • Хостинг сайтов

    • Установка

    • Настройка

      • Кодировка по умолчанию

      • Виртуальные хосты

      • Модули

    • Настройка HTTPS в Apache

      • Создание ключа и ssl-сертификата

      • Настройка Apache

      • Перенаправление HTTP запросов на HTTPS

    • Ссылки

    • Возможные проблемы

    • Смотрите также

    • Ссылки

Apache HTTP Server — проект, развиваемый The Apache Software Foundation, в рамках которого разрабатывается кроссплатформенный HTTP сервер с открытым исходным кодом. Входит в состав LAMP и XAMPP.

Версии Apache в Ubuntu

Ubuntu Apache
12. 04 LTS (Precise)
2.2
14.04 LTS (Trusty) 2.4
15.10 (Wily) 2.4
16.04 LTS (Xenial) 2.4

Хостинг сайтов

Можно реализовать четырьмя способами:

  1. по умолчанию в папке /var/www/html. Доступом является http://localhost/

  2. настройки основного хостинга. Например, http://localhost/phpmyadmin

  3. в любой папке с помощью модуля виртуальных хостов. Например, http://mysite/

  4. в папке пользователя public_html (модуль userdir). Например, http://localhost/~username

Установка

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

sudo apt-get install apache2

Настройка

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

sudo service apache2 restart

В Ubuntu конечный файл настройки (apache2. conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.

       /etc/apache2/
       |-- apache2.conf
       |       `--  ports.conf
       |-- mods-enabled
       |       |-- *.load
       |       `-- *.conf
       |-- conf-enabled
       |       `-- *.conf
       `-- sites-enabled
               `-- *.conf

Настройки модулей расположены в директории /etc/apache2/mods-available. Для подключения или отключения модулей (настроек модулей) следует использовать соответствующие команды a2enmod или a2dismod. Пример подключения модуля:

sudo a2enmod <mod-name>

Свои настройки следует сохранять в файлы, расположенные в директории /etc/apache2/conf-available. Для подключения или отключения своих настроек следует использовать соответствующие команды

a2enconf или a2disconf. Пример подключения файла со своими настройками:

sudo a2enconf <config-name>

Настройки виртуальных хостов следует сохранять в файлы, расположенные в директории /etc/apache2/sites-available. Для подключения виртуальных хостов следует использовать соответствующие команды a2ensite или a2dissite. Пример подключения виртуального хоста:

sudo a2ensite <site-name>

Кодировка по умолчанию

Для указания кодировки по умолчанию следует использовать директиву

AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):

AddDefaultCharset UTF-8

Виртуальные хосты

Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Вы можете использовать этот виртуальный хост в качестве примера.

Пример настройки виртуального хоста:

<VirtualHost *:80>
    #Имя хоста
    ServerName host1.server1
    #Корневая папка хоста
    DocumentRoot /var/www/host1.server1
    <Directory /var/www/host1.
server1> #Разрешение на перезапись всех директив при помощи .htaccess AllowOverride All </Directory> </VirtualHost>

Назовите файл настройки именем вашего хоста host1.server1.conf и сохраните.

После создания файла настроек допишите в /etc/hosts имя вашего хоста:

127.0.0.1    host1.server1

Для включения созданного виртуального хоста используется утилита a2ensite:

sudo a2ensite host1.server1

Отключается хост аналогично утилитой a2dissite:

sudo a2dissite host1.server1

Модули

mod_userdir

Модуль mod_userdir позволяет использовать директории, находящиеся в домашних директориях пользователей для хранения веб страниц. По умолчанию Apache ищет запрашиваемые страницы в директории

~/public_html

mkdir ~/public_html

Чтобы включить mod_userdir, выполните:

sudo a2enmod userdir

и добавьте необходимого пользователя в группу www-data:

sudo adduser $USER www-data

после чего перезагрузите Apache:

sudo service apache2 restart

Страницы будут доступны по адресу http://localhost/~username, где username — имя пользователя.

Настройка public_html подробно.

CGI

Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой

sudo a2enmod cgi

По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.

Eсли ваш сервер работает во внешней сети, то в целях безопасности настоятельно рекомендуется размещать cgi-скрипты вне корневой директории виртуального хоста

Настройка HTTPS в Apache

Веб-сервер Apache полностью поддерживает работу по HTTPS. Чтобы активировать поддержку HTTPS на уже установленном Apache, необходимо выполнить следующее.

Создание ключа и ssl-сертификата

Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преимуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанный компанией-сертификатором (Certificate authority), стоит денег.

Для создания ключа и сертификата вводим команду:

openssl req -new -x509 -days 30 -keyout server.key -out server.pem

На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем.

На все последующие вопросы отвечаем произвольно, можно просто щелкать по Enter, соглашаясь с предложенными вариантами, только на вопрос «Common Name (eg, YOUR name) []:» отвечаем именем сайта, для которого создаем сертификат, например www.example.com.

После ответа на все вопросы в директории должны появиться два новых файла — server.pem (ключ) и server.crt (сертификат).

Чтобы использовать сгенерированный ключ, нужно знать пароль, введённый нами, и Apache будет спрашивать его у нас при загрузке, а к чему нам лишние вопросы от демонов? 🙂 Поэтому снимаем пароль с ключа:

cp server.
key{,.orig} openssl rsa -in server.key.orig -out server.key rm server.key.orig

Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

sudo cp server.pem /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/server.key

Настройка Apache

Для начала необходимо активировать mod_ssl:

sudo a2enmod ssl

А затем включить настройки HTTPS сайта по умолчанию:

sudo a2ensite default-ssl

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или /etc/apache2/sites-enabled/default-ssl.conf

).

В этом файле рекомендуется после директивы

SSLEngine on

добавить строчку

SSLProtocol all -SSLv2

чтобы запретить использование устаревшего протокола SSLv2.

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

# Публичный сертификат сервера
SSLCertificateFile    /etc/ssl/certs/server.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/ssl/private/server.key

Теперь просто перезагрузите Apache:

sudo service apache2 restart

И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.

Протокол HTTPS работает по 443 порту, поэтому если сервер находится за шлюзом, то необходимо на нём пробросить данный порт.

Перенаправление HTTP запросов на HTTPS

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Сделаем это с помощью mod_alias. Если он не включён — включаем:

sudo a2enmod alias
sudo service apache2 restart

Затем изменяем файл /etc/apache2/sites-enabled/000-default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву

Redirect / https://example.com/

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS-страницу.

Ссылки

  • Источник

  • When not to use mod_rewrite

Возможные проблемы

Если при запуске появляется ошибка

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

добавьте в свой файл конфигурации строку

ServerName localhost

Смотрите также

  • nginx

  • lighttpd

  • Настройка public_html

Ссылки

  • Официальный сайт Apache HTTP Server (англ.)

  • Статья в «Википедии»

  • Apache worker with php5 (англ. )

apache, httpd, http, https, lamp, SSL, администрирование, веб-сервер

Debian — Подробная информация о пакете apache2 в sid

в именах пакетовв описаниях пакетовв именах пакетов исходного кодав содержимом пакетоввсе параметры

[  stretch  ] [  stretch-backports-sloppy  ] [  buster  ] [  buster-backports  ] [  bullseye  ] [  bookworm  ] [  sid  ]

[ Источник: apache2  ]

HTTP-сервер Apache

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

Установка данного пакета приводит к полной установке Apache, включая файлы настройки, сценарии инициализации и поддержки.

Теги: Роль: Метапакет, Комплект приложений: Apache

Другие пакеты, относящиеся к apache2

  • зависимости
  • рекомендации
  • предложения
  • enhances
  • dep: init-system-helpers (>= 1. 54~)
    вспомогательные инструменты для всех систем инициализации
  • dep: apache2-bin (= 2.4.54-2)
    HTTP-сервер Apache (модули и другие двоичные файлы)
  • dep: apache2-data (= 2.4.54-2)
    HTTP-сервер Apache (общие файлы)
  • dep: apache2-utils (= 2.4.54-2)
    HTTP-сервер Apache (утилиты для веб-серверов)
  • dep: lsb-base
    transitional package for Linux Standard Base init script functionality
  • dep: mime-support
    переходной пакет
  • dep: perl
    практический язык Ларри Уолла для извлечения данных и составления отчётов
  • dep: procps
    утилиты для файловой системы /proc
  • rec: ssl-cert
    простой debconf-настройщик OpenSSL
  • sug: apache2-doc
    документация к HTTP-серверу Apache
  • sug: apache2-suexec-pristine
    Apache HTTP Server standard suexec program for mod_suexec
    или apache2-suexec-custom
    Apache HTTP Server configurable suexec program for mod_suexec
  • sug: www-browser
    виртуальный пакет, предоставляемый chromium, dillo, edbrowse, elinks, epiphany-browser, falkon, firefox, firefox-esr, hv3, konqueror, links, links2, luakit, lynx, netrik, netsurf-fb, netsurf-gtk, qutebrowser, sugar-browse-activity, surf, w3m, xemacs21-gnome-mule, xemacs21-gnome-mule-canna-wnn, xemacs21-gnome-nomule, xemacs21-mule, xemacs21-mule-canna-wnn, xemacs21-nomule

Загрузка apache2

Также она даёт информацию о размере пакета и размере пакета в установленном состоянии.»>
Загрузить для всех доступных архитектур
АрхитектураРазмер пакетаВ установленном видеФайлы
alpha (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
amd64268,4 Кб624,0 Кб [список файлов]
arm64268,4 Кб624,0 Кб [список файлов]
armel268,4 Кб624,0 Кб [список файлов]
armhf268,4 Кб624,0 Кб [список файлов]
hppa (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
i386268,4 Кб624,0 Кб [список файлов]
ia64 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
m68k (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
mips64el268,4 Кб624,0 Кб [список файлов]
mipsel268,4 Кб624,0 Кб [список файлов]
ppc64 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
ppc64el268,4 Кб624,0 Кб [список файлов]
riscv64 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
s390x268,4 Кб624,0 Кб [список файлов]
sh5 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
sparc64 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]
x32 (неофициальный перенос)268,4 Кб624,0 Кб [список файлов]

.

htaccess for Apache 2 · GitHub
# .htaccess
# Sokolov Innokenty, <[email protected]>
# in php.ini:
# disable_functions «exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source»
DirectoryIndex index.php
# 404 ошибка
ErrorDocument 404 /404.php
# VCS security fix
<FilesMatch «\. (git|svn)$»>
Order allow,deny
</FilesMatch>
# Кодировка по-умолчанию
AddDefaultCharset UTF-8
# Используем utf-8 для ниже написаных форматов
AddCharset utf-8 .html .css .js .xml .json .rss
# Убираем браузинг по директориям
Options All -Indexes
# Не обязательно всем рассказывать, что это Апач
ServerSignature Off
# Errors and logs
php_flag display_errors on
php_flag log_errors on
php_value track_errors on
#php_value error_log /var/www/site/logs/php_errors. log
# E_ALL
php_value error_reporting 30719
# Максимальный размер загружаемых файлов
php_value upload_max_filesize 20M
php_value post_max_size 20M
# upload time
php_value max_input_time 180
# Security fix
php_value register_globals off
php_value enable_dl off
# Точность
php_value precision 12
# Session
# 3 hours in seconds
php_value session. gc_maxlifetime 10800
php_value session.name Q
# Не даем IE войти в режим совместимости с IE7, даже когда он сам этого хочет
# github.com/rails/rails/commit/123eb25#commitcomment-118920
# Используем ChromeFrame, если он установлен, чтобы сделать жизнь бедных
# пользователей IE немного лучше
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible «IE=Edge,chrome=1» env=ie
</IfModule>
</IfModule>
# Поскольку мы не отправляем X-UA-Compatible для браузеров отличных от IE
# (чтобы сократить размер заголовка),
# Нам нужно дать знать прокси-серверам об измененении контента на основе UA
<IfModule mod_headers. c>
# Кеш-контроль включается только когда включен модуль mod_headers,
# так что нам необходимо его здесь объявить
Header append Vary User-Agent
</IfModule>
# Видео
AddType video/ogg ogg ogv
AddType video/mp4 mp4
AddType video/webm webm
# Правильный формат для svg. Необходимо для работы svg шрифтов в iPad Safari
# twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# Веб-шрифты
AddType application/vnd.ms-fontobject eot
AddType font/truetype ttf
AddType font/opentype otf
AddType font/woff woff
# Другие форматы
AddType image/vnd. microsoft.icon ico
AddType image/webp webp
AddType text/cache-manifest manifest
AddType text/x-component htc
AddType application/x-chrome-extension crx
# gzip сжатие.
<IfModule mod_deflate.c>
# html, txt, css, js, json, xml, htc:
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
# веб-шрифты и svg:
<FilesMatch «\. (ttf|otf|eot|svg)$» >
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A)
ExpiresDefault A1209600
<FilesMatch \. php$>
ExpiresActive Off
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule .* index.php [L]
</IfModule>

Путь Apache к устойчивому успеху с открытым исходным кодом

Поскольку значение программного обеспечения с открытым исходным кодом продолжает расти, кажется уместным поразмыслить о продолжающемся успехе Apache Software Foundation (ASF), который приближается к своему 20-летнему юбилею. Путь Apache к разработке, управляемой сообществом, продолжает набирать обороты, несмотря на усложняющиеся проблемы создания программного обеспечения в более широкой экосистеме с открытым исходным кодом.

Этот подход, Путь Apache, был определен более 24 лет назад первоначальной группой Apache до создания Фонда. Это привело к нашему успеху в качестве основы, и мы считаем, что это стало фундаментом триумфа открытого исходного кода в целом.

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

Путь Apache определяет открытый исходный код с точки зрения как юридической, так и социальной основы для совместной работы. Это помогает другим понять, что делает Open Source мощным и как участники должны себя вести. В этом посте мы рассмотрим Путь апачей в контексте миссии Фонда:

Давайте разберем эту миссию.

«Предоставление программного обеспечения для общественного блага»

Ключевые пункты этого раздела: 

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

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

Чтобы понять, почему это важно, нужно подумать о том, что побуждает ASF производить программное обеспечение, которое является общественным благом.

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

Чтобы мы могли выполнить эту часть миссии, очень важно, чтобы мы приняли лицензию, которая использует закон для защиты программного обеспечения, курируемого здесь, в Фонде. Для нас этой лицензией является лицензия Apache версии 2. Кроме того, мы принимаем политику входящего лицензирования, которая определяет, какие лицензии разрешены для программного обеспечения, повторно используемого в проектах Apache. Эту политику можно резюмировать следующим образом: 

  • Лицензия должна соответствовать определению открытого исходного кода (OSD).
  • Лицензия, применяемая на практике, не должна налагать существенных ограничений, помимо тех, которые наложены лицензией Apache License 2. 0.

Это означает, что вы можете быть уверены, что программное обеспечение, курируемое проектами Apache Software Foundation, является одновременно общественным благом и общественным благом . Вы можете использовать программное обеспечение Apache для любых целей, и вы не несете ответственности перед Фондом или проектом за внесение обратного вклада (хотя, как указано в следующем разделе, часто это в ваших интересах).

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

Проекты Apache успешны во многом благодаря нашему усердию в отношении четко определенной политики лицензирования. Такое усердие позволяет нижестоящим пользователям понять, что они могут и чего не могут делать с программным обеспечением Apache. Лицензия Apache является преднамеренно разрешительной, чтобы гарантировать, что каждый имеет возможность участвовать в Open Source в рамках ASF или где-либо еще. Модификации нашей лицензии разрешены, но модифицированные лицензии не являются ни лицензией Apache, ни аффилированными лицами, ни одобренными Apache Software Foundation. Никакая измененная лицензия не может быть представлена ​​как таковая. Модифицированные лицензии, использующие имя Apache, строго запрещены, так как они сбивают с толку пользователей и подрывают бренд Apache.

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

Хотя одобренная OSD лицензия и соответствующие политики необходимы для успешного производства с открытым исходным кодом, их недостаточно. Они обеспечивают правовую основу для производства Open Source, но не социальную основу, что подводит нас ко второму предложению нашей миссии:

«Миссия Apache Software Foundation состоит в том, чтобы предоставлять программное обеспечение для общественного блага. Мы делаем это, предоставляя услуги и поддержку многим сообществам единомышленников, занимающихся разработкой программного обеспечения, которые решают внести свой вклад в проекты Apache.»

«Сообщества отдельных лиц, занимающихся разработкой программного обеспечения для единомышленников»

Ключевые пункты этого раздела:

  • Apache Way предоставляет модель управления, предназначенную для создания социальной основы для совместной работы.
  • Apache Software Foundation создает сообщества, а эти сообщества разрабатывают программное обеспечение.
  • Сообщества проектов ASF разрабатывают и повторно используют программные компоненты, которые, в свою очередь, могут повторно использоваться в продуктах.
  • Пользователи программного обеспечения ASF часто создают продукты и услуги с использованием наших программных компонентов.
  • Наша модель и другие подобные модели позволили создать одни из самых крупных и долгоживущих проектов с открытым исходным кодом, которые буквально произвели революцию в отрасли 

В этих нескольких словах заключено очень многое. Именно понимание этих слов определяет разницу между программным обеспечением, которое находится под лицензией с открытым исходным кодом, и программным обеспечением, которое достигает устойчивости благодаря Пути Apache. Эти слова подчеркивают тот факт, что Фонд не производит программное обеспечение напрямую. Все верно, Apache Software Foundation с программным кодом на сумму более 8 миллиардов долларов не производит программное обеспечение напрямую. Вместо того, чтобы сосредотачиваться на программном обеспечении, мы фокусируемся на создании и поддержке совместных сообществ; программное обеспечение является преднамеренным побочным продуктом.

Наши проектные сообщества единомышленников объединяются, потому что у них есть общие проблемы, которые можно решить с помощью программного обеспечения. Как говорится, «общая проблема — половинчатая проблема». Объединяя людей с их уникальными идеями и навыками, мы разрушаем барьеры на пути к сотрудничеству.

Путь Apache тщательно разработан для создания социальной структуры для сотрудничества, которая дополняет правовую основу, описанную выше. Там, где правовая база гарантирует равные права на использование программного обеспечения, The Apache Way гарантирует равные возможности вносить свой вклад в программное обеспечение. Это критически важно для долгосрочной устойчивости проектов программного обеспечения с открытым исходным кодом. Эта социальная структура для совместной работы отсутствует во многих проектах, отличных от Apache, однако надежная социальная структура неизменно является ключевым компонентом в долгосрочных успешных проектах за пределами ASF.

Путь Apache полностью инклюзивен, открыт, прозрачен и основан на консенсусе. Это способствует нейтральности поставщиков, чтобы предотвратить неправомерное влияние (или контроль) со стороны одной компании. Он гарантирует, что любой человек, внесший ценный вклад, наделен полномочиями, и стремится гарантировать, что проект останется устойчивым, несмотря на неизбежные изменения в составе сообщества с течением времени.

Проекты Apache обычно создают программные компоненты, которые можно комбинировать с другим программным обеспечением (с любой лицензией) различными способами для решения различных задач. Это предоставляет участникам множество возможностей для сотрудничества в рамках данного программного проекта независимо от их взаимоотношений вне Фонда. Это сильно отличается от идеи лицензирования вашего продукта в целом по лицензии с открытым исходным кодом. Наша модель предлагает больше возможностей для повторного использования, что, в свою очередь, увеличивает количество людей, которые могут внести свой вклад в проект.

Кроме того, наша система, основанная на заслугах, направлена ​​на то, чтобы люди, приходящие и уходящие по любой причине, всегда находились на их месте. В результате некоторые вездесущие проекты Apache существовали более 20 лет и помогли коммерциализировать World Wide Web; в то время как десятки новых проектов определили отраслевые сегменты, такие как большие данные и IoT (Интернет вещей).

Основным принципом Apache Way является принцип «Сообщество важнее кода», который отражает нашу глубокую веру в то, что здоровое сообщество является гораздо более важным приоритетом, чем хороший код. Сильное сообщество всегда может исправить проблему с кодом, в то время как нездоровое сообщество, скорее всего, будет изо всех сил пытаться поддерживать кодовую базу устойчивым образом. Здоровые сообщества обеспечивают Фонду стабильность для процветания в течение следующих 20 лет и далее. Проекты Apache не имеют проблемы масштабирования, от которой страдают другие, ориентированные только на правовые рамки Open Source. Если вы посмотрите на проекты, которые выросли вместе с проектами Apache, вы увидите такое же внимание к масштабированию модели управления. Это не случайно.

Почему это важно

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

Мы в Apache Software Foundation считаем, что у каждого разработчика есть свои личные мотивы для создания программного обеспечения. Мы приветствуем их право выбирать, когда и как создавать свое программное обеспечение, включая их право использовать неоткрытую лицензию.

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

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

Мы приглашаем вас использовать наше программное обеспечение и участвовать в наших проектах — или нет. Тебе решать.

Мы просим вас оставить коммерческие интересы за дверью.

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

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

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

Программное обеспечение Apache доступно для всех.

Свобода выбора — вот что делает проекты Foundation и Apache такими сильными.

Резюме

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

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

Являясь общественной благотворительной организацией США 501(c)(3), Apache Software Foundation помогает отдельным лицам и организациям понять, как Open Source в масштабе работает на высококонкурентном рынке. Уже более двух десятилетий мы сосредоточены не на производстве программного обеспечения, а на наставничестве сообществ, которые производят программное обеспечение. Путь Apache продвигает устойчивые сообщества с открытым исходным кодом: все, что мы делаем, является открытым исходным кодом, поэтому все пользователи могут извлечь выгоду из нашего опыта. Апач для всех.

# # #

Пожертвование в фонд Apache Software Foundation

Фонд Apache Software Foundation (ASF) — крупнейший в мире фонд программного обеспечения с открытым исходным кодом. Он бесплатно предоставляет программное обеспечение на сумму более 20 миллиардов долларов для общественного блага.

Как некоммерческая благотворительная организация США 501(c)(3), ASF зависит от различных источников финансирования для поддержания своей повседневной деятельности. Ваша поддержка позволяет ASF, работающему исключительно на добровольных началах, гарантировать, что его более 350 программных проектов, управляемых сообществом, останутся в свободном доступе для миллиардов пользователей по всему миру, а также будет инкубировать новое поколение инноваций с открытым исходным кодом.

Не облагаемые налогом взносы корпораций, фондов и частных лиц помогают компенсировать повседневные операционные расходы, включая услуги инфраструктуры; Маркетинг и PR/AR; и юридическая, бухгалтерская и операционная поддержка.

Мы тратим менее 10% нашего годового бюджета на накладные расходы. 75% годового бюджета ASF в размере 1,5 млн долларов США поддерживает работу нашей критически важной инфраструктуры (списки рассылки, репозитории кода, системы отслеживания ошибок, веб-серверы, серверы непрерывной интеграции, пропускная способность, электричество, охлаждение, административный персонал и т. д.), которая поддерживает Фонд и его проекты работают 24x7x365. Годовая стоимость составляет менее 5 тысяч долларов США на проект.

Мы с гордостью сообщаем о разнообразных достижениях АФС в нашем годовом отчете. Многие из этих успехов стали возможными благодаря вашей поддержке.

Поддержите АЧС сегодня!

Существует множество способов поддержать АФС, причем как для отдельных лиц, так и для организаций. Мы благодарим всех нынешних сторонников и спонсоров ASF за их лояльность и вклад и с нетерпением ждем возможности приветствовать новых спонсоров, поскольку мы продолжаем расширять наше сообщество.

Для тех, кто находится в США, пожертвования на 100% не облагаются налогом в соответствии с законом. Поскольку правила различаются, мы рекомендуем вам проконсультироваться с квалифицированным консультантом, имеющим опыт работы с вашим местным налоговым законодательством, касающимся пожертвований. Идентификационный номер налогоплательщика ASF: 47-0825376. Дополнительную информацию о некоммерческих организациях и связанных с ними вопросах можно найти в Интернет-центре некоммерческих организаций.

АФС признана Charity Navigator и отмечена Золотой печатью прозрачности от GuideStar. Для получения дополнительной информации свяжитесь с нами по адресу fundraising(at)apache(dot)org.

  • Индивидуальные взносы
  • Спонсорство АФС
  • Целевое спонсорство
  • Корпоративные благотворительные программы
  • Подходящие корпоративные подарки

Индивидуальные пожертвования

Давать Apache легко!

Посетите https://donate. apache.org/, чтобы сделать единовременное или регулярное ежемесячное пожертвование и получить по электронной почте квитанцию ​​от ASF о вашем необлагаемом налогом взносе.

Те, кто хочет сделать немедленное пожертвование с помощью дебетовой/кредитной карты, Apple/Google/Microsoft Pay, электронного перевода ACH, PayPal и других способов, могут сделать это, используя быстрые ссылки ниже.

Программы корпоративных пожертвований

Воздействие вашего пожертвования на ASF в рамках ежегодной программы корпоративных пожертвований поддерживает миссию ASF. Программы корпоративных пожертвований в Bloomberg, IBM, Microsoft, PayPal, Vanguard и многих других предлагают налоговые льготы и предоставляют своим сотрудникам возможность увеличить свою поддержку разнообразных некоммерческих проектов.

ASF является официальной благотворительной организацией на портале Benevity Causes Portal в рамках многочисленных корпоративных благотворительных инициатив, таких как The American Online Giving Foundation, волонтерская программа Microsoft Tech Talent for Good и Charles Schwab Charitable. Для получения дополнительной информации посетите https://www.benevity.com/.

Корпоративные совместные подарки

Программы совпадающих подарков увеличивают корпоративный вклад и способствуют дальнейшей поддержке АФС.

Такие работодатели, как American Express, AOL, Bloomberg, IBM и Microsoft, уравновешивают взносы и часы волонтерской работы своих сотрудников. Свяжитесь с отделом кадров вашего работодателя, чтобы узнать, как вы можете удвоить или утроить свою поддержку ASF с помощью корпоративной программы подарков.

Свяжитесь с нами по адресу fundraising(at)apache(dot)org, чтобы узнать, как можно увеличить ваш вклад в ASF.

Сделать пожертвование

Те, кто хочет сделать нефинансовое пожертвование, могут посвятить свое время проектам Apache и их сообществам.

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

Заранее спасибо за вашу щедрость!


  • С помощью дебетовой/кредитной карты
  • Использование *Pay онлайн-платежей
  • Использование банковских платежей ACH
  • Купить сувенир марки Apache
  • Магазин smile.amazon.com
  • С PayPal
  • С Амазонкой
  • Отправьте нам чек

Пожертвование с помощью *Pay цифровых онлайн-платежей

Мы приветствуем цифровые онлайн-платежи для тех, кто хочет сделать пожертвование с помощью Apple Pay, Google Pay или Microsoft Pay.

Мы вышлем вам по электронной почте квитанцию ​​об освобождении от налогов.

Пожертвование с помощью банковских платежей ACH

Мы принимаем платежи ACH банковским переводом (eCheck) для тех, кто желает сделать пожертвование посредством банковского перевода.

Мы вышлем вам по электронной почте квитанцию ​​об освобождении от налогов.

Купить сувениры с логотипом Apache

Поддержите ASF, купив различные фирменные товары, доступные в RedBubble.

Чтобы запросить добавление проектов Apache в магазин, напишите письмо dev(at)community(dot)apache(dot)org с соответствующим логотипом проекта.

Магазин smile.amazon.com

Начните свой розничный путь на https://smile.amazon.com/, выберите ASF в качестве своей благотворительной организации, и AmazonSmile Foundation пожертвует 0,5% от покупной цены соответствующих продуктов на АФС.

Вот это умные покупки!

Пожертвование через PayPal

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

Те, у кого нет учетной записи PayPal, также могут внести свой вклад в ASF, используя благотворительный фонд PayPal. После пожертвования вы получите налоговую квитанцию ​​от благотворительного фонда PayPal.

Пожертвуйте через Amazon

Отправьте нам чек

Отправьте чек или денежный перевод на адрес:

The Apache Software Foundation
1000 N West Street, Suite 1200
Wilmington, DE 19801

Чтобы получить налоговую квитанцию, укажите свой адрес электронной почты и имя, на имя которого должно быть зачислено пожертвование (ваше собственное или имя третьего лица, если оно от имени кого-то другого).

Заметки о разработке Apache — Проект Apache HTTP Server

Эта страница предназначена для предоставления некоторой базовой информации о разработке нит и обслуживание сайта разработчика.

Проект HTTP-сервера Apache использует Subversion для размещения исходного кода.

Чтобы проверить ветку 2.4.x:

проверка svn http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x httpd-2.4.x

Чтобы проверить текущую версию разработки (на момент написания этой статьи 2. 5.x), использовать:

проверка svn http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk

Коммиттеры должны проверять через https вместо http (чтобы они могли зафиксировать свои изменения). Для получения дополнительной информации о Subversion, пожалуйста, прочитайте ASF. Часто задаваемые вопросы по контролю версий.

Разработчики продолжают стремиться поддерживать совместимость модулей между 2.4.1 и будущие выпуски 2.4 для администраторов и конечных пользователей.

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

  1. Разработчик извлекает копию файлов, над которыми он хочет работать (в в этом случае магистраль) в частный рабочий каталог называется httpd-trunk :

    % проверка svn http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-транк

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

  2. Разработчик синхронизирует свой рабочий каталог с изменениями, внесенными в репозиторий:

    % Обновление svn httpd-trunk

    Вероятно, это следует делать ежедневно или даже чаще во время менструаций. высокой активности.

  3. Разработчик вносит изменения в свои рабочие копии, убеждается, что они работают, и генерирует патч, чтобы другие могли применить изменения для их тестирования:

    % svn diff httpd-trunk/modules/http/mod_mime.c > /tmp/foo

    Файл /tmp/foo отправлен разработчикам по почте. список, чтобы они могли рассмотреть значение/действительность патча. Стоит убедиться, что ваш код соответствует Стиль Apache, как описано в руководстве по стилю.

  4. После того, как другие разработчики согласились с тем, что изменение — это хорошо, разработчик проверяет изменения в репозиторий:

    % svn commit httpd-trunk/modules/http/mod_mime. c

Есть несколько разных отделений под номером httpd поддерево в репозиторий Apache SVN, относящийся к различным выпускам. Вершина уровень можно просмотреть с помощью SVN Просмотрите страницы CVS. Основные поддеревья относящиеся к источнику сервера httpd :

httpd-2.4

Чтобы создать дерево каталогов, содержащее источники 2.4, и вызвать это httpd-2.4 , измените текущий каталог на родительский из дерево, а затем проверьте исходники 2.4 следующим образом:

 % cd /usr/local/apache
% проверка svn http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x httpd-2.4
 

httpd-2.5

Если вы хотите узнать о передовых разработках, httpd-2.5 дерево разработки (запланировано на выпуск 2.6) и вызвать это httpd-trunk , оформить заказ следующим образом:

 % cd /usr/local/apache
% проверка svn http://svn.apache.org/repos/asf/httpd/httpd/trunk httpd-trunk
 

httpd-сайт

httpd-сайт больше не находится в системе Apache CMS. Он переехал на https://github.com/apache/httpd-site/. Следующие абзацы устарели.

Это поддерево содержит файлы, которые живут по адресу http://httpd.apache.org/. Каталог на хосте, который сопоставления с этим URL-адресом на самом деле являются набором проверенных рабочих копий SVN. файлы.

Основные изменения на этом веб-сайте можно внести в браузере с помощью системы ASF CMS.

Сначала добавьте это как закладку:

    javascript:void(location.href=’https://cms.apache.org/redirect?uri=’+escape(location.href))

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

URL-адрес SVN https://svn.apache.org/repos/asf/httpd/site/trunk/docs . Важно, чтобы файлы на веб-узле не изменялись. напрямую. Если вы хотите или должны изменить его, проверьте его в приватном рабочей копии, измените на , зафиксируйте изменение в SVN, а затем выполните обновление svn , чтобы синхронизировать каталог хоста с исходники SVN. Каталоги веб-сайта (в отличие от файлов) не поддерживаются в автоматически синхронизироваться с файлами SVN. Они обновляются вручную из SVN разными людьми, как они считают нужным. Обычно это не проблема, если группа файлов не обновляется в соответствии с текущим групповая дискуссия.

httpd-dist

Как и поддерево httpd-site , это поддерево используется для поддержки файлы, составляющие веб-сайт — в этом случай, http://downloads.apache.org/httpd/. Тоже как предыдущий поддерево, каталог на сервере является извлеченной рабочей копией этого поддерево. Однако, поскольку это каталог дистрибутива, у нас есть только окружающая документация и контрольные файлы зарегистрированы в этом поддереве — настоящие архивы просто копируются на www. apache.org.

URL-адрес SVN https://svn.apache.org/repos/asf/httpd/httpd/dist .

Коммитеры обычно имеют дело с этим поддеревом при «выкатывании» релиза. Это ряд шагов, предпринятых для создания полностью новой версии Программное обеспечение Apache httpd. Помимо прочего, ключом к этому поддереву является каталог tools/, который содержит сценарий оболочки release.sh . Дополнительная информация о политиках и процедуры, относящиеся к скользящим выпускам, можно найти на Релизе. Страница рекомендаций.

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

Наш проект доступен только для чтения и зеркалируется GitHub, а пользователи вносят свой вклад время от времени открывайте там пулреквесты. Мы не можем напрямую принять/закрыть запросы на вытягивание, но мы можем комментировать/просматривать, а затем коммитить патчи.