Содержание

Установка Apache HTTP Server 2.2.22

Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.

Авторы: Виктор Волков, Иван Шумилов

Содержание:


Сайт разработчика: http://www.apache.org/
Дистрибутив (Apache 2.2 Win32 Binary): http://www.apachelounge.com/download/
Прямая ссылка: httpd-2.2.22-win32.zip

Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. 🙂 Но мы с вами люди, крепких нервов и стальных желудков — поэтому, поехали.

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd. conf», являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂

Правка файла httpd.conf

  1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
    LoadModule php5_module «C:/php/php5apache2_2.dll»
  3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
    PHPIniDir «C:/php»
  4. Найдите и раскомментируйте строку:
    ServerName www.example.com:80
    Отредактируйте ее следующим образом установив изначальное имя сервера:
    ServerName localhost:80
  5. Найдите строку:
    DocumentRoot «c:/Apache2/htdocs»
    Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
    DocumentRoot «C:/apache»
  6. Найдите данный блок:
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>
    И замените его на нижеследующий:
    <Directory />
    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
    </Directory>
  7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
    <Directory «c:/Apache2/htdocs»>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  8. Найдите блок:
    <IfModule dir_module>
    DirectoryIndex index. html
    </IfModule>
    Замените его на:
    <IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php
    </IfModule>
  9. Найдите строку:
    ErrorLog «logs/error.log»
    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
    ErrorLog «C:/apache/error.log»
  10. Найдите строку:
    CustomLog «logs/access.log» common
    Замените на:
    CustomLog «C:/apache/access.log» common
  11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  12. Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. И, наконец, найдите и раскомментируйте строки:
    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex. conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common
</VirtualHost>

Сохраните изменения и закройте файл «httpd-vhosts.conf»

Настройка конфигурационных файлов завершена, теперь необходимо установить сервис Apache2.2.

Установка сервиса Apache2.2 в картинках

Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

Вот что мы должны увидеть при успешной установке сервиса Apache2. 2.

Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

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

В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access. log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

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

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error. log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common

</VirtualHost>

Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru

Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd. exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

Установка и настройка веб-сервера Apache – завершена.

Создание пакетных файлов для запуска и остановки сервисов

Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

Файл vhosts-off. txt (может содержать одну единственную строку):
127.0.0.1 localhost

Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru

В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

Файл запуска start-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
NET start MySQL

Файл остановки stop-webserver.bat:

@echo off
echo.
if not exist C:\apache\vhosts-off.txt goto no_vhosts
echo Restore hosts file:
copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2. 2
NET stop MySQL

В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

start «» «C:\Apache2\bin\ApacheMonitor.exe»

Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

PHP: Apache 2.x на Unix системах

I have successfully installed Apache 2. 2.11 and PHP 5.2.8 under Red Hat 9.0 on a Pentium 166 with 32 MB of RAM.

While I used RH9, the worst possible case, these notes are probably good for RH-based distributions too (Red Hat Enterprise, Fedora, CentOS…)

If you want to install MySQL, it needs to be installed before PHP because PHP requires some libraries be available.

One think important when picking up a binary distribution of MySQL is to download all four packages: MySQL-server, MySQL-devel, MySQL-client and MySQL-shared. Note: The MySQL was bundled with PHP 4 but is not anymore in PHP 5.

Then you need to install Apache before PHP, because again PHP needs some libraries be available. I installed Apache 2 from source, using the very last version available, which is 2.2.11.

I installed PHP 5.2.8 from source. Here, I had a number of problems, but none which I could not resolve easily, some of them with a little help from different forums I found through Google.

Rembember: When it says you need a package named xyz and you notice there is also one named xyz-devel, grab it.

Most of the packages I got from:
http://legacy.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/
A similar page exists for other versions of Red Hat
and:
http://rpmfind.net/
This site has an updated version of some of the packages. Make sure to use only the one labeled for you version (in my case, Red Hat 9.0) or it will not likely work.

You already have glibc and glibc-common installed, but you need to get glibc-devel and glibc-kernheaders. Make sure to match glibc’s version (rpm -q glibc). Note: When it says kernel-header is a required dependency, that’s glibc-kernheader (not kernel-source). You will also need binutils (no need to match the version), and gcc and cpp (version must match).

You need zlib-devel (zlib is probably already installed, match the version you have).

If you install the GD extension, the actual library is already bundled with PHP 5 (use that one, they have done some changes in there, so don’t upgrade), but you will need to install libpng and libpng-devel (match version, or disable in configure if you don’t want) and libjpeg (no -devel with that one).

You will also need libxml2. Now there were a problem, because PHP requires libxml2 be 2.6 or greater, but Red Hat only supplied 2.5.4-1 for RH9 (if you have a more recent distro, you might be more lucky). After looking for a while, I decided to grab the source code for the most recent distribution at the official website (http://xmlsoft.org/) and compiled.

Hope my post is useful to someone. Please, share your experience when compiling/installing for your particular platform and setup. Remember how hard it’s been for you the very first time. I confess, my very first server installation took me nearly a week and I was glad others helped me.

Apache документация библиотеки commons не отображается



Я добавил apache commons library jar файл и javadoc.jar файл в Eclipse, следуя этой статье: http://www.newthinktank.com/2012/01/how-to-install-java-libraries/ . Я могу использовать библиотеку, но когда я набираю код, документация не появляется. Как я могу это исправить?

java eclipse
Поделиться Источник Gropai     21 августа 2015 в 20:31

2 ответа


  • Добавление библиотеки Apache Commons Net в Eclipse

    Я добавил библиотеку Apache Commons Net в Eclipse, включив commons-net-3.1.jar в папку bin в моем проекте, а затем добавив ее как библиотеку в путь сборки Java. Все выглядит хорошо, за исключением того, что при экспорте моего файла jar org.apache.commons.net не входит в файл jar. Есть ли какие-то…

  • Apache Commons math optimization «Hello World» пример

    Я пытаюсь реализовать пакет математической оптимизации apache commons. Я ищу пример hello world для решения ограниченной нелинейной системы из двух уравнений. Моя система дифференцируема и состоит из двух независимых переменных. Документация apache commons и тщательный поиск в google не дали мне. ..



1

Вы не добавляете *-javadoc.jar и *-sources.jar к classpath, и вам, вероятно, не нужно *-tests.jar .

Просто добавьте commons-lang3-3.1.jar к classpath. Затем на вкладке «Libraries» щелкните по треугольнику развернуть.

Дважды щелкните «Source attachment», select «External location», click «External File…» и выберите файл commons-lang3-3.1-sources.jar . Нажмите кнопку «OK».

Дважды щелкните «Javadoc location», select «Javadoc in archive» и «внешний файл», нажмите «Browse…» и выберите файл commons-lang3-3.1-javadoc.jar . Нажмите кнопку «OK».

Поделиться Andreas     21 августа 2015 в 20:49



-1

Перезагрузите Eclipse и если документация все еще не существует, то перезагрузите компьютер.

Поделиться Nikhil Maheshwari     21 августа 2015 в 20:40


Похожие вопросы:


Apache альтернативы загрузки файлов commons

Мне было интересно, какие пользователи Java file Upload API StackOverflow использовали в прошлом и рекомендовали бы использовать? Быстрый поиск в Google, по-видимому, указывает на то, что наиболее…


Java apache вопрос о лицензии исходного кода библиотеки commons

Я хочу использовать функциональность из определенного метода в apache commons StringUtils. В настоящее время у меня нет возможности просто использовать библиотеку, как это обычно делается. Я нашел…


Apache Commons VFS Maven Repository?

Любая идея, на которой Maven репозиторий использовать для того, чтобы использовать Apache общин VFS библиотеки? Спасибо. <dependency> <groupId>org.apache.commons</groupId>. ..


Добавление библиотеки Apache Commons Net в Eclipse

Я добавил библиотеку Apache Commons Net в Eclipse, включив commons-net-3.1.jar в папку bin в моем проекте, а затем добавив ее как библиотеку в путь сборки Java. Все выглядит хорошо, за исключением…


Apache Commons math optimization «Hello World» пример

Я пытаюсь реализовать пакет математической оптимизации apache commons. Я ищу пример hello world для решения ограниченной нелинейной системы из двух уравнений. Моя система дифференцируема и состоит…


Apache Commons FTPClient выпуск

Я пытаюсь подключить удаленный сервер ftp с помощью библиотеки Apache Commons FTP, я могу войти на сервер FTP, но после этого я не могу выдать ни одной команды и получаю следующую ошибку при попытке…


Java-вычисление производных с помощью математической библиотеки Apache Commons

У меня есть проблема с использованием математической библиотеки apache commons. 2 + 2x, и я хочу вычислить производную этой функции —> f'(x) = 8x…


Apache Commons Lang 2 vs 3

В своем приложении я использую apache commons Lang v.3. Библиотеке требуется дать мой java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils Есть ли перевод сборки между commmon.lang…


необходимо руководство по использованию apache commons math

Я пытаюсь использовать библиотеку Apache Commons Math (3.5) в Eclipse IDE. Я скачал файл JAR и правильно добавил библиотеку в свой проект. Однако моя проблема заключается в том, что я действительно…


java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer

Я получаю следующую ошибку java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer , пытаясь использовать BeanMap из библиотеки Apache Commons BeanUtils. Он генерируется из…

Режимы работы PHP — Документация ISPmanager 5 Lite

В ISPmanager можно включить возможность обработки PHP-скриптов для сайта. Для этого при создании или изменении WWW-домена включите опцию PHP и настройте его параметры. Подробнее см. в статье Создание WWW-домена.

Поддерживаются режимы работы PHP:

Подробнее о возможностях настройки PHP для режимов работы см. в статье Настройка PHP.

Модуль Apache


Особенности режима:

  • динамическое содержимое обрабатывает модуль PHP веб-сервера Apache;
  • настройки PHP указываются глобально и применяются для всех WWW-доменов пользователей с этим режимом. Изменить их может только администратор в Настройки web-сервера → PHP → Настройка;
  • можно выбрать только одну версию PHP для работы модуля, которая распространяется на всех пользователей ISPmanager;
  • наиболее быстрый из режимов Apache. По скорости уступает только «FastCGI (Nginx + PHP-FPM)».

Чтобы использовать режим:

  1. Установите Apache-MPM-ITK или Apache MPM-Prefork, Модуль PHP. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP как модуль apache.
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки вида:

<FilesMatch "\.ph(p[3-5]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
<IfModule php5_module>
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f <email администратора>"
    php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
    php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
    php_admin_value open_basedir "/var/www/www-root/data:."
</IfModule>
<IfModule php7_module>
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f <email администратора>"
    php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
    php_admin_value session. save_path "/var/www/www-root/data/mod-tmp"
    php_admin_value open_basedir "/var/www/www-root/data:."
</IfModule>

<IfModule php5_module>
    php_admin_flag engine on
</IfModule>
<IfModule php7_module>
    php_admin_flag engine on
</IfModule>

CGI


Особенности режима:

  • динамическое содержимое обрабатывает Apache в режиме CGI;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • для каждого WWW-домена, работающего в этом режиме, можно выбрать версию PHP;
  • самый медленный режим работы.

Чтобы использовать режим:

  1. Установите Apache-MPM-ITK или Apache MPM-Prefork. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме CGI.
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки:

<FilesMatch "\.ph(p[3-5]?|tml)$">
    SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php-bin/ /var/www/php-bin-isp-php52/<владелец WWW-домена>/
AddHandler application/x-httpd-php5 .php .php3 .php4 .php5 .phtml
Action application/x-httpd-php5 /php-bin/php

FastCGI (Apache)


Особенности режима:

  • динамическое содержимое обрабатывает Apache в режиме FastCGI;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • для каждого WWW-домена, работающего в этом режиме, можно выбрать версию PHP;
  • по скорости работы уступает «Модуль Apache» и «FastCGI (Nginx + PHP-FPM)», но превышает «CGI».

Чтобы использовать режим:

  1. Установите Apache MPM-Prefork и Модуль PHP. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Apache).
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки:

<FilesMatch "\.ph(p[3-5]?|tml)$">
    SetHandler fcgid-script
    FCGIWrapper /var/www/php-bin/<владелец WWW-домена>/php
</FilesMatch>

Options +ExecCGI

FastCGI (Nginx + PHP-FPM)


Особенности режима:

  • динамическое содержимое обрабатывает PHP-FPM;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • каждый пользователь ISPmanager может выбрать версию PHP для своих WWW-доменов, работающих в этом режиме;
  • PHP-FPM не поддерживает правила . htaccess;
  • самый быстрый режим работы.

Чтобы использовать режим:

  1. Установите Nginx, PHP-FPM FastCGI. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Nginx + PHP-FPM).
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.
  4. Чтобы изменить версию PHP:
    • под учётной записью пользователя — перейдите в WWW → PHP;
    • под учётной записью администратора — перейдите на форму редактирования пользователя.

При выборе этого режима в конфигурационном файле Nginx для WWW-домена добавляются строки:

location @php {
    fastcgi_index index.php;
    fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f <email администратора>";
    fastcgi_pass unix:/var/www/php-fpm/www-root. ((?U).+\.ph(?:p\d*|tml))(/?.+)$;
    try_files $uri =404;
    include fastcgi_params;

Таблица совместимости :: SuiteCRM — Русскоязычная документация

Таблица совместимости :: SuiteCRM — Русскоязычная документация

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5.6, 7.0, 7.1, 7.2, 7.3 (начиная с SuiteCRM версии 7.11.5)

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5. 5, 10, 10.1, 10.2, 10.3

MySQL

5.5, 5.6, 5.7

SQL Server

SQL Server 2008+

Браузеры

Chrome

55+

Firefox

52+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5.5.9, 5.6, 7. 0, 7.1, 7.2, 7.3 (начиная с SuiteCRM версии 7.10.17)

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1, 10.2

MySQL

5.5, 5.6, 5.7

SQL Server

SQL Server 2008+

Браузеры

Chrome

55+

Firefox

52+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 5, 5.6, 7.0, 7.1

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.5, 5.6, 5.7

SQL Server

SQL Server 2008+

Браузеры

Chrome

55+

Firefox

52+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 5, 5.6, 7.0, 7.1

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.5, 5.6, 5.7

SQL Server

SQL Server 2008+

Браузеры

Chrome

55+

Firefox

52+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 3, 5.5, 5.6, 7.0

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.5, 5.6

SQL Server

SQL Server 2008+

Браузеры

Chrome

43+

Firefox

38+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 5, 5.6, 7.0

Веб-сервер

Apache

2.2, 2.4

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.5, 5.6

SQL Server

SQL Server 2008+

Браузеры

Chrome

43+

Firefox

38+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 5, 5.6, 7.0

Веб-сервер

Apache

2.2

IIS

8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.5, 5.6

SQL Server

SQL Server 2008+

Браузеры

Chrome

43+

Firefox

38+

IE

11 (режим совместимости не поддерживается)

Edge

26

Safari

6+

Платформа

Linux, Unix, Mac OS

Любая версия с поддержкой PHP

Windows

Windows Server 2008+

PHP

5. 3, 5.4, 5.5, 5.6

Веб-сервер

Apache

2.0, 2.2

IIS

7.0, 7.5, 8, 8.5

Базы данных

MariaDB

5.5, 10, 10.1

MySQL

5.1, 5.5, 5.6

SQL Server

SQL Server 2008+

Браузеры

Chrome

38+

Firefox

32+

IE

9, 10, 11 (режим совместимости не поддерживается)

Safari

6+

Установка SuiteCRM :: SuiteCRM — Русскоязычная документация

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

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

На сервере должны быть установлены пакеты с поддержкой:
  • JSON

  • XML Parsing

  • MB Strings

  • openssl

  • ZLIB

  • ZIP

  • PCRE

  • IMAP

  • cURL

В файле php.ini настройте параметр memory_limit следующим образом:

Если в базу данных в процессе установки системы будут загружаться демонстрационные данные, то параметр должен быть увеличен как минимум до 384MB и 768MB соответственно.

Перед установкой SuiteCRM убедитесь, что в настройках PHP указаны необходимые драйвера для работы с БД и эти драйвера установлены в системе.

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

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

  1. Поместите драйвер в папку extension_dir PHP.

  2. Пропишите соответствующее расширение в файле php.ini (например: extension=php_mysqli.dll).

  3. Перезагрузите веб-сервер. За детальной информацией обратитесь к разделу Таблица совместимости.

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

Перед запуском процесса установки в файле httpd.conf установите для папки SuiteCRM параметр AllowOverride в значение All. После установки системы в корневой папке устанавливаемой системы появится файл .htaccess, содержащий в том числе следующие строки:

# BEGIN SUITECRM RESTRICTIONS
RedirectMatch 403 (?i).*\.log$
RedirectMatch 403 (?i)/+not_imported_.*\.txt
RedirectMatch 403 (?i)/+(soap|cache|xtemplate|data|examples|include|log4php|metadata|modules|vendor)/+.*\.(php|tpl)

Для проверки действия этих ограничений попытайтесь просмотреть через браузер файл suitecrm. log, должна появиться ошибка #403. Если этого не произошло – проверьте файл .htaccess. За более подробной информацией обратитесь к документации Apache.

Как использовать Apache в качестве обратного прокси-сервера с mod_proxy в Ubuntu : РБ-Софт

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

Сергей Шангин

  • Документация
  • 5. Linux
  • Как использовать Apache в качестве обратного прокси-сервера с mod_proxy в Ubuntu

Обратный прокси-сервер — это тип прокси-сервера, который принимает запросы HTTP (S) и прозрачно распределяет их на один или несколько внутренних серверов. Обратные прокси-серверы полезны, потому что многие современные веб-приложения обрабатывают входящие HTTP-запросы, используя серверы внутренних приложений, к которым пользователи не обращаются напрямую, и зачастую поддерживают только элементарные функции HTTP.
Вы можете использовать обратный прокси-сервер для предотвращения прямого доступа к этим базовым серверам приложений. Их также можно использовать для распределения нагрузки от входящих запросов на несколько различных серверов приложений, что повышает производительность в масштабе и обеспечивает отказоустойчивость. Они могут заполнить пробелы с помощью функций, которые серверы приложений не предлагают, таких как кэширование, сжатие или шифрование SSL.
В этом руководстве вы настроите Apache в качестве основного обратного прокси-сервера, используя расширение mod_proxy для перенаправления входящих соединений на один или несколько внутренних серверов, работающих в одной сети.
Apache 2 должен быть установлен.

Включение необходимых модулей Apache


В комплекте с Apache есть много модулей, которые доступны, но не включены в новой установке. Во-первых, нам нужно включить те, которые мы будем использовать.
Модули, которые нам нужны, — это сам mod_proxy и несколько его дополнительных модулей, которые расширяют его функциональные возможности для поддержки различных сетевых протоколов. В частности, мы будем использовать:
mod_proxy, основной прокси-модуль Apache, модуль для перенаправления соединений; это позволяет Apache выступать в качестве шлюза к базовым серверам приложений.
mod_proxy_http, который добавляет поддержку прокси-соединений HTTP.
mod_proxy_balancer и mod_lbmethod_byrequests, которые добавляют функции балансировки нагрузки для нескольких внутренних серверов.
Чтобы включить эти четыре модуля, последовательно выполните следующие команды.

 sudo a2enmod proxy
 sudo a2enmod proxy_http
 sudo a2enmod proxy_balancer
 sudo a2enmod lbmethod_byrequests
 sudo systemctl restart apache2

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

 nano /etc/apache2/sites-available/ИМЯДОМЕНА. conf
ProxyPreserveHost On
ProxyPass / http://192.168.1.XXX:80/
ProxyPassReverse / http://192.168.1.XXX:80/


Делаем симлинк конфигурации на /etc/apache2/sites-enabled
Перегружаем апач

 sudo systemctl restart apache2


Теперь при обращении по имени домена браузер будет перенаправлен на целевой сервер.

Проект документации

— Проект HTTP-сервера Apache

Документация HTTP-сервера Apache — это совместная работа, возможно при участии всего сообщества HTTP-серверов. Мы б тоже люблю твою помощь.

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

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

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

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

В документации по 2.2, 2.4 и магистральной линии также есть функция комментариев, где вы можете быстро добавить комментарий к документации. Чтобы получить доступ к этому, щелкните ссылку «Комментарии» на странице или просто прокрутите страницу вниз.

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

После оформления заказа в SVN вам также необходимо проверить docs-build и запустите соответствующие сценарии сборки для создания всех соответствующие преобразования. См. Сборку документации для больше информации.

Обсуждение проекта документации происходит на [email protected] список рассылки. Чтобы подписаться на этот список рассылки, отправить электронное письмо на [email protected]орг и следуйте инструкциям в полученном ответе.

Архив этого списка рассылки можно найти на lists.apache.org, если вы хотите предварительно узнать, как мы работаем и кто главный персонажи есть.

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

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

Онлайн-документация: Версия 2.0 | Версия 2.2 | Версия 2.4 | Версия 2.5 (Ветка разработки) | Вики

Документация для загрузки в формате Microsoft Help (CHM) доступна по адресу наше распределение зеркала.

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

Apache | Документация разработчика Magento 2

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

Установка и настройка Apache в основном состоит из трех этапов: установка программного обеспечения, включение перезаписи и указание .htaccess директив.

Установка Apache

  1. Установите Apache 2.4, если вы еще этого не сделали.

  2. Проверить установку:

    Сообщения, похожие на следующий экран, подтверждающие успешную установку:

      
     1
    2
     
     Версия сервера: Apache / 2.4.40 (Unix)
    Сервер построен: 16 октября 2020 г., 14:48:21
     
  3. Переходите к следующему разделу.

    Даже если Apache 2.4 по умолчанию поставляется с CentOS, см. Следующий раздел, чтобы настроить его.

Включить перезапись и .htaccess для CentOS

  1. Откройте файл /etc/httpd/conf/httpd.conf для редактирования:

      
     1
     
     vim / etc / httpd / conf / httpd. conf`
     
  2. Найдите блок, который начинается с:

      
     1
     
     <Каталог "/ var / www / html">
     
  3. Измените значение AllowOverride на Все .

    Например,

      
     1
    2
    3
    4
    5
    6
     
     
      Параметры Индексы FollowSymLinks MultiViews
      AllowOverride All
      Заказать разрешить, запретить
      Разрешить от всех
    
     

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

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

  5. Чтобы применить настройки Apache, перезапустите Apache.

      
     1
     
     перезапуск службы apache2
     

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

Включить перезапись и .htaccess для Ubuntu

  1. Откройте файл / etc / apache2 / sites-available / default для редактирования:

      
     1
     
     vim / etc / apache2 / сайты-доступные / по умолчанию
     
  2. Найдите блок, который начинается с:

  3. Измените значение AllowOverride на Все .

    Например:

      
     1
    2
    3
    4
    5
    6
     
     <Каталог "/ var / www / html">
      Параметры Индексы FollowSymLinks MultiViews
      AllowOverride All
      Заказать разрешить, запретить
      Разрешить от всех
    
     
  4. Сохраните файл и выйдите из текстового редактора.

  5. Настройте Apache для использования модуля mod_rewrite :

      
     1
     
     cd / etc / apache2 / с поддержкой модов
     
      
     1
     
     лн -с../mods-available/rewrite.load
     
  6. Перезапустите Apache, чтобы изменения вступили в силу:

      
     1
     
     перезапуск службы apache2
     

Как использовать Django с Apache и mod_wsgi | Документация Django

Развертывание Django с Apache и mod_wsgi — проверенный и проверенный способ получить Django запущен в производство.

mod_wsgi — это модуль Apache, который может размещать любое приложение Python WSGI, включая Django. Django будет работать с любой версией Apache, которая поддерживает mod_wsgi.

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

Базовая конфигурация¶

После того, как вы установили и активировали mod_wsgi, отредактируйте сервер Apache httpd.conf и добавьте следующее.

 WSGIScriptAlias ​​/ /path/to/mysite.com/mysite/wsgi.py
Главная страница / путь / к / venv
WSGIPythonPath /path/to/mysite.com

<Каталог /path/to/mysite.com/mysite>
<Файлы wsgi.py>
Требовать все предоставлено


 

Первый бит в строке WSGIScriptAlias ​​ — это базовый путь URL-адреса, который вы хотите обслуживайте ваше приложение по адресу (/ указывает корневой URL-адрес), а второй — расположение «файла WSGI» — см. ниже — в вашей системе, обычно внутри пакет вашего проекта ( mysite в этом примере).Это говорит Apache обслуживать любой запрос ниже указанного URL-адреса с использованием приложения WSGI, определенного в этом файл.

Если вы устанавливаете зависимости Python вашего проекта внутри виртуального окружение , добавьте путь, используя WSGIPythonHome . См. Mod_wsgi руководство по виртуальной среде для получения более подробной информации.

Строка WSGIPythonPath гарантирует, что ваш пакет проекта доступен для импорт по пути Python; другими словами, что import mysite работает.

Часть гарантирует, что Apache может получить доступ к вашему wsgi.py файл.

Затем нам нужно обеспечить этот wsgi.py с помощью объекта приложения WSGI. существуют. Начиная с версии 1.4 Django, startproject создаст один для тебя; в противном случае вам нужно будет его создать. См. Обзор WSGI документация для содержимого по умолчанию, которое вы следует поместить в этот файл, а что еще можно к нему добавить.

Предупреждение

Если несколько сайтов Django запущены в одном процессе mod_wsgi, все они будет использовать настройки того, что будет запущено первым.Это может быть решено изменением:

 os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "{{project_name}}. Settings")
 

в wsgi.py , к:

 os.environ ["DJANGO_SETTINGS_MODULE"] = "{{project_name}}. Настройки"
 

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

Исправление UnicodeEncodeError для загрузки файлов

Если вы получаете UnicodeEncodeError при загрузке файлов с именами файлов которые содержат символы, отличные от ASCII, убедитесь, что Apache настроен на прием имена файлов не-ASCII:

 экспорт LANG = 'en_US.UTF-8 '
экспорт LC_ALL = 'en_US.UTF-8'
 

Обычно эта конфигурация помещается в / etc / apache2 / envvars .

См. Раздел «Файлы» справочного руководства по Unicode. подробности.

Использование режима демона

mod_wsgi

«Режим демона» — рекомендуемый режим для запуска mod_wsgi (не в Windows платформы). Чтобы создать необходимую группу процессов демона и делегировать Экземпляр Django для запуска в нем вам нужно будет добавить соответствующий WSGIDaemonProcess и WSGIProcessGroup директив.Дальнейшее изменение Для указанной выше конфигурации, если вы используете режим демона, вы не можете используйте WSGIPythonPath ; вместо этого вы должны использовать опцию python-path для WSGIDaemonProcess , например:

 WSGIDaemonProcess example.com python-home = / путь / к / venv python-path = / путь / к / mysite.com
WSGIProcessGroup example.com
 

Если вы хотите обслуживать свой проект в подкаталоге ( https://example.com/mysite в этом примере), вы можете добавить WSGIScriptAlias ​​ к конфигурации выше:

 WSGIScriptAlias ​​/ mysite / путь / к / mysite.com / mysite / wsgi.py process-group = example.com
 

Подробнее о настройке демона см. В официальной документации mod_wsgi. режим.

Файлы для обслуживания¶

Django сам по себе не обслуживает файлы; он оставляет эту работу любой веб- выбранный вами сервер.

Мы рекомендуем использовать отдельный веб-сервер, т. Е. Тот, который еще не запущен. Django — для обслуживания СМИ. Вот несколько хороших вариантов:

Если, однако, у вас нет другого выбора, кроме как обслуживать медиафайлы на том же Apache VirtualHost как Django, вы можете настроить Apache для обслуживания некоторых URL-адресов как статические носители и другие, использующие интерфейс mod_wsgi для Django.

Этот пример устанавливает Django в корне сайта, но обслуживает robots.txt , favicon.ico и все, что находится в пространстве URL-адресов / static / и / media / как статический файл. Все остальные URL-адреса будут обслуживаться с использованием mod_wsgi:

.
 Псевдоним /robots.txt /path/to/mysite.com/static/robots.txt
Псевдоним /favicon.ico /path/to/mysite.com/static/favicon.ico

Псевдоним / media / /path/to/mysite.com/media/
Псевдоним / static / /path/to/mysite.com/static/

<Каталог / путь / к / mysite.com / static>
Требовать все предоставлено


<Каталог /path/to/mysite.com/media>
Требовать все предоставлено


WSGIScriptAlias ​​/ /path/to/mysite.com/mysite/wsgi.py

<Каталог /path/to/mysite.com/mysite>
<Файлы wsgi.py>
Требовать все предоставлено


 

Обслуживание файлов администратора¶

Когда django.contrib.staticfiles находится в INSTALLED_APPS , Сервер разработки Django автоматически обслуживает статические файлы приложение администратора (и любые другие установленные приложения).Однако это не тот случай, когда вы используйте любое другое расположение серверов. Вы несете ответственность за настройку Apache, или какой бы веб-сервер вы ни использовали, для обслуживания файлов администратора.

Файлы администратора находятся в ( django / contrib / admin / static / admin ) каталога Распространение Django.

Мы, , настоятельно рекомендуем использовать django.contrib.staticfiles для обработки файлы администратора (вместе с веб-сервером, как описано в предыдущем разделе; это означает использование команды управления collectstatic для сбора статические файлы в STATIC_ROOT , а затем настроить веб-сервер на служить STATIC_ROOT по адресу STATIC_URL ), но вот три другие подходы:

  1. Создайте символическую ссылку на статические файлы администратора из вашего корень документа (для этого может потребоваться + FollowSymLinks в вашем Apache конфигурация).
  2. Используйте директиву Псевдоним , как показано выше, для псевдонима соответствующего URL-адрес (вероятно, STATIC_URL + admin / ) на фактическое местоположение файлы администратора.
  3. Скопируйте статические файлы администратора, чтобы они жили в вашем Apache корень документа.

Аутентификация по базе данных пользователей Django из Apache¶

Django предоставляет обработчик, позволяющий Apache напрямую аутентифицировать пользователей. против серверной части аутентификации Django.См. Аутентификацию mod_wsgi документация.

Руководство пользователя

— документация Certbot 1.15.0.dev0

Certbot использует несколько различных команд (также упоминаемых как «подкоманды») для запроса определенных действий, таких как получение, обновление или отзыв сертификатов. Самое важное и часто используемые команды будут обсуждаться в этом документ; исчерпывающий список также появляется в конце документа.

Сценарий certbot на вашем веб-сервере может называться letsencrypt , если в вашей системе используется более старый пакет, или certbot-auto , если вы использовали устаревший метод установки.В документации всякий раз, когда вы видите certbot , при необходимости замените правильное имя.

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

Аутентификаторы — это плагины, используемые с командой certonly для получения сертификата. Аутентификатор подтверждает, что вы контролировать домен (ы), для которых вы запрашиваете сертификат, получает сертификат для указанного домена (ов) и помещает сертификат в каталог / etc / letsencrypt на вашем машина.Аутентификатор не устанавливает сертификат (он не редактирует файлы конфигурации вашего сервера для обслуживания получен сертификат). Если вы укажете несколько доменов для аутентификации, они будут все должны быть перечислены в одном сертификате. Чтобы получить несколько отдельных сертификатов вам нужно будет запускать Certbot несколько раз.

Установщики

— это плагины, используемые с командой install для установки сертификата. Эти плагины могут изменять конфигурацию вашего веб-сервера на обслуживать ваш сайт через HTTPS, используя сертификаты, полученные certbot.

Плагины

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

Плагин

Auth

Inst

Банкноты

Типы вызовов (и порт)

apache

Y

Y

Автоматизирует получение и установку сертификата с помощью Apache.

http-01 (80)

nginx

Y

Y

Автоматизирует получение и установку сертификата с помощью Nginx.

http-01 (80)

веб-корень

Y

Получает сертификат путем записи в корневой веб-каталог

уже запущенный веб-сервер.

http-01 (80)

автономный

Y

Использует «автономный» веб-сервер для получения сертификата.

Требуется, чтобы был доступен порт 80. Это полезно на

Системы

без веб-сервера или при прямой интеграции с

локальный веб-сервер не поддерживается или нежелателен.

http-01 (80)

Плагины DNS

Y

Эта категория плагинов автоматизирует получение сертификата по

изменение записей DNS, чтобы доказать, что вы контролируете

домен.Выполнение проверки домена таким образом —

— единственный способ получить групповые сертификаты от Let’s

Шифрование.

днс-01 (53)

ручное

Y

Помогает получить сертификат, передавая инструкции по номеру

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

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

индивидуальный способ.

http-01 (80) или dns-01 (53)

Под капотом плагины используют одну из нескольких проблем протокола ACME для докажите, что вы контролируете домен. Возможные варианты: http-01 (который использует порт 80). и dns-01 (требуется настройка DNS-сервера на порт 53, хотя часто это не тот же компьютер, что и ваш веб-сервер). Немного плагины поддерживают более одного типа задачи, и в этом случае вы можете выбрать один с - Preferred-Challenge .

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

Apache

Плагин Apache в настоящее время поддерживает современные ОС на базе Debian, Fedora, SUSE, Gentoo и Darwin. Это автоматизирует получение сертификатов и при установке на Apache. веб сервер. Чтобы указать этот плагин в командной строке, просто включите --apache .

Webroot

Если вы используете локальный веб-сервер, для которого у вас есть возможность чтобы изменить обслуживаемый контент, и вы бы предпочли не останавливать веб-сервер во время процесса выдачи сертификата, вы можете использовать веб-сервер плагин для получения сертификата, включив certonly и --webroot в командная строка.Кроме того, вам необходимо указать --webroot-path или -w с каталогом верхнего уровня («веб-корень»), содержащим файлы обслуживается вашим веб-сервером. Например, --webroot-path / var / www / html или --webroot-path / usr / share / nginx / html — два общих пути к корневому веб-каталогу.

Если вы получаете сертификат сразу для нескольких доменов, плагин необходимо знать, откуда обслуживаются файлы каждого домена, что может потенциально может быть отдельным каталогом для каждого домена.При запросе сертификат для нескольких доменов, каждый домен будет использовать самый последний указан --webroot-path . Так, например,

 certbot certonly --webroot -w / var / www / example -d www.example.com -d example.com -w / var / www / other -d other.example.net -d another.other.example.net
 

получит единый сертификат для всех этих имен, используя / var / www / example корневой каталог для первых двух и / var / www / other для вторых двух.

Плагин webroot работает, создавая временный файл для каждого из запрошенных вами домены в $ {webroot-path} /. well-known / acme-challenge . Тогда Let’s Encrypt сервер проверки делает HTTP-запросы для проверки того, что DNS для каждого запрошенный домен разрешается на сервер, на котором запущен certbot. Пример запроса на ваш веб-сервер будет выглядеть так:

 66.133.109.36 - - [05 / Янв / 2016: 20: 11: 24 -0500] "GET /.well-known/acme-challenge/HGr8U1IeTW4kY_Z6UIyaakzOkyQgPr_7ArlLgtZE8SX HTTP / 1.1 "200 87" - "" Mozilla / 5.0 (совместимый; сервер проверки Let's Encrypt; + https: //www.letsencrypt.org) "
 

Обратите внимание, что для использования подключаемого модуля webroot ваш сервер должен быть настроен для обслуживания файлы из скрытых каталогов. Если /. well-known лечится специально конфигурация вашего веб-сервера, вам может потребоваться изменить конфигурацию чтобы файлы внутри /.well-known/acme-challenge обслуживались веб-сервер.

Nginx

Плагин Nginx должен работать для большинства конфигураций.Мы рекомендуем резервное копирование Конфигурации Nginx перед его использованием (хотя вы также можете отменить изменения в конфигурации с certbot --nginx rollback ). Вы можете использовать его, предоставив флаг --nginx в командной строке.

Автономный

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

Чтобы получить сертификат с помощью «автономного» веб-сервера, вы можете использовать автономный плагин, включающий certonly и --standalone в командной строке. Этот плагин необходимо привязать к порту 80 в чтобы выполнить проверку домена, поэтому вам может потребоваться остановить существующий веб-сервер.

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

По умолчанию Certbot сначала пытается привязаться к порту для всех интерфейсов, используя IPv6, а затем привязать к этому порту с помощью IPv4; Certbot работает до тех пор, пока на По крайней мере, одна привязка завершится успешно.В большинстве систем Linux трафик IPv4 будет направляться на связанный порт IPv6 и ожидается сбой во время второй привязки.

Используйте - -address , чтобы явно указать Certbot, какой интерфейс (и протокол) для привязки.

Плагины DNS

Если вы хотите получить групповой сертификат от Let’s Encrypt или запустите certbot на машине, отличной от вашего целевого веб-сервера, вы можете использовать один из Плагины DNS Certbot.

Эти плагины не входят в стандартную установку Certbot и должны быть устанавливается отдельно.Они доступны во многих менеджерах пакетов ОС, как Docker изображения и снимки. Посетите https://certbot.eff.org, чтобы узнать, как лучше всего используйте плагины DNS в вашей системе.

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

Ручная

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

Плагин руководства может использовать вызов http или dns . Вы можете использовать опцию --preferred-Challenge выбрать вызов по своему вкусу.

Задача http попросит вас поместить файл с определенным именем и конкретный контент в каталоге /.well-known/acme-challenge/ напрямую в каталоге верхнего уровня («веб-корень»), содержащем файлы, обслуживаемые вашим веб сервер.По сути, это то же самое, что и плагин webroot, но не автоматизировано.

При использовании задачи dns certbot попросит вас разместить TXT DNS запись с определенным содержанием под доменным именем, состоящим из имени хоста для которого вы хотите выдать сертификат с добавлением _acme-challenge .

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

 _acme-challenge.example.com. 300 IN TXT "gfj9Xq...Rg85nM "
 

Дополнительно вы можете указать сценарии для подготовки к валидации и выполнить процедуру аутентификации и / или очистить после нее, используя флаги --manual-auth-hook и --manual-cleanup-hook . Это более подробно описано в разделе хуков.

Объединение плагинов

Иногда может потребоваться указать комбинацию отдельного аутентификатора и плагины установщика. Для этого укажите плагин аутентификатора с помощью --authenticator или -a и плагин установщика с --installer или -i .

Например, вы можете создать сертификат с помощью подключаемого модуля webroot. для аутентификации и плагин apache для установки.

 certbot run -a webroot -i apache -w / var / www / html -d example.com
 

Или вы можете создать сертификат, используя ручной плагин для аутентификации и плагин nginx для установки. (Обратите внимание, что этот сертификат не может продлеваться автоматически.)

 certbot run -a manual -i nginx -d example.com
 

Сторонние плагины

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

Плагин

Auth

Inst

Банкноты

хапрокси

Y

Y

Интеграция с балансировщиком нагрузки HAProxy

s3 передняя

Y

Y

Интеграция с Amazon CloudFront распространение корзин S3

Ганди

Y

Получить сертификаты через Gandi LiveDNS API

лак

Y

Получить сертификаты через сервер Varnish

внешняя авторизация

Y

Y

Плагин для удобного написания скриптов

притунл

Y

Установить сертификаты в притунл распределенных серверах OpenVPN

proxmox

Y

Установить сертификаты на серверах виртуализации Proxmox

dns-автономный

Y

Получить сертификаты через встроенный DNS-сервер

dns-ispconfig

Y

DNS-аутентификация с использованием ISPConfig в качестве DNS-сервера

dns-clouddns

Y

DNS-аутентификация с использованием CloudDNS API

dns-световой парус

Y

Аутентификация DNS с использованием Amazon Lightsail DNS API

dns-вход wx

Y

Y

Аутентификация DNS для INWX через XML API

Если вам интересно, вы также можете написать свой собственный плагин.

Чтобы просмотреть список сертификатов, о которых знает Certbot, запустите сертификаты подкоманда:

сертификаты certbot

Возвращает информацию в следующем формате:

 Найдены следующие сертификаты:
  Имя сертификата: example.com
    Домены: example.com, www.example.com
    Срок действия: 2017-02-19 19: 53: 00 + 00: 00 (ДЕЙСТВИТЕЛЬНО: 30 дней)
    Путь к сертификату: /etc/letsencrypt/live/example.com/fullchain.pem
    Тип ключа: RSA
    Путь к закрытому ключу: / etc / letsencrypt / live / example.com / privkey.pem
 

Имя сертификата показывает имя сертификата. Передайте это имя использование флага --cert-name для указания конкретного сертификата для запуска , certonly , сертификаты , обновить и удалить команд. Пример:

 certbot certonly - имя-сертификата example.com
 

Повторное создание и обновление существующих сертификатов

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

Если сертификат запрашивается с запуском или Certonly с указанием имя сертификата, которое уже существует, Certbot обновляет существующий сертификат. В противном случае новый сертификат создается и получает указанное имя.

- принудительное обновление , - дублирование и - развернуть варианты контролировать поведение Certbot при воссоздании сертификат с тем же именем, что и существующий сертификат. Если вы не укажете запрошенное поведение, Certbot может спросить вас, что вы намеревались сделать.

--force-возобновление сообщает Certbot запросить новый сертификат с теми же доменами, что и существующий сертификат. Каждый домен должно быть явно указано через -d . В случае успеха этот сертификат сохраняется вместе с предыдущей и символическими ссылками (« live » ссылка) будет обновлено, чтобы указать на новый сертификат. Это действующий способ продления конкретного физического лица сертификат.

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

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

Пример:

 certbot --expand -d существующий.com, example.com, newdomain.com
 

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

 certbot --expand -d existing.com -d example.com -d newdomain.com
 

Рассмотрите возможность использования --cert-name вместо --expand , так как это дает больше контроля по которому был изменен сертификат, и он позволяет удалять домены, а также добавлять их.

--allow-subset-of-names сообщает Certbot продолжить создание сертификата, если могут быть получены только некоторые из указанных доменных авторизаций.Это может будет полезно, если некоторые домены, указанные в сертификате, больше не указывают на этот система.

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

Изменение домена сертификата

Флаг --cert-name также можно использовать для изменения доменов, содержащихся в сертификате, путем указания новых доменов с помощью флага -d или --domains .Если сертификат example.com ранее содержалось example.com и www.example.com , его можно изменить только на содержать example.com , указав только example.com с флагом -d или --domains . Пример:

 certbot certonly --cert-name example.com -d example.com
 

Тот же формат можно использовать для расширения набора доменов, содержащихся в сертификате, или для полностью заменить этот набор:

 certbot certonly - пример имени-сертификата.com -d example.org, www.example.org
 

Использование ключей ECDSA

Начиная с версии 1.10 Certbot поддерживает два типа алгоритмов закрытого ключа: RSA и ECDSA . Тип ключа, используемого Certbot, можно контролировать через опцию - key-type . Вы также можете использовать --elliptic-curve возможность управления кривой, используемой в сертификатах ECDSA.

Предупреждение

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

Изменение существующих сертификатов с RSA на ECDSA

Если вы не знаете, что вам нужно поддерживать очень старые клиенты HTTPS, которые не поддерживается большинством сайтов, вы можете спокойно просто перевести свой сайт на использование Ключи ECDSA вместо ключей RSA. Для этого, если у вас уже есть сертификаты, управляемые Certbot, вы можете свободно менять сертификат на новый закрытый ключ.

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

После установки этой опции для вновь полученных сертификатов будут использоваться ключи ECDSA. Этот включает сертификаты, управляемые Certbot, которые ранее использовали ключи RSA.

Если вы хотите изменить один сертификат для использования ключей ECDSA, вам потребуется введите новый параметр команды Certbot --key-type ecdsa в командной строке как

 certbot Renew --key-type ecdsa --cert-name example.com --force-возобновление
 
Получение сертификатов ECDSA в дополнение к сертификатам RSA

Когда Certbot настраивает сертификаты, которые он получает с Apache или Nginx, все Клиенты HTTPS, которых мы пытаемся поддерживать, могут использовать сертификаты с ключами ECDSA. Если, однако вы знаете, что у вас есть особая потребность в поддержке очень старого TLS. клиентов, вы можете получить сертификаты ECDSA и RSA для одного и того же домены. Certbot может настроить только Apache или Nginx для использования одного сертификат, однако вы можете вручную настроить свое программное обеспечение для использования разные сертификаты в зависимости от ваших потребностей.

При получении сертификатов ECDSA и RSA для одних и тех же доменов с Certbot, мы рекомендуем использовать параметр --cert-name , чтобы имена сертификатов, чтобы вы могли легко их идентифицировать. Например, вы можете хотите добавить «ecdsa» к имени вашего сертификата ECDSA с помощью команды как

 certbot certonly --key-type ecdsa --cert-name example.com-ecdsa
 

Отзыв сертификатов

Если вам нужно отозвать сертификат, используйте для этого подкоманду revoke .

Сертификат может быть отозван, указав его имя (см. сертификаты certbot ) или предоставив его путь напрямую:

 certbot revoke --cert-name example.com

certbot revoke --cert-path /etc/letsencrypt/live/example.com/cert.pem
 

Если отозванный сертификат был получен с помощью флага --staging , --test-cert или нестандартного --server , этот флаг должен быть передан подкоманде revoke .

Примечание

После отзыва Certbot (по умолчанию) спросит, хотите ли вы удалить сертификат.Если не удалить его, Certbot попытается обновить отозванные сертификаты при следующем запуске certbot refresh .

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

 certbot revoke --cert-name example.com --reason keycompromise
 
Отзыв с помощью ключа учетной записи или закрытого ключа сертификата

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

Если вместо этого у вас есть соответствующий файл закрытого ключа для сертификата, который вы хотите отозвать, используйте --key-path для выполнения отзыв из любой учетной записи ACME:

 certbot revoke --cert-path /etc/letsencrypt/live/example.com/cert.pem --key-path /etc/letsencrypt/live/example.com/privkey.pem
 

Продление сертификатов

Примечание

Let’s Encrypt CA выдает краткосрочные сертификаты (90 дней).Убедитесь, что вы обновляете сертификаты хотя бы раз в 3 месяцы.

См. Также

Большинство установок Certbot имеют автоматическую обновление из коробки. Подробнее см. Автоматическое продление.

Начиная с версии 0.10.0, Certbot поддерживает действие обновить для проверки все установленные сертификаты для приближающегося истечения срока действия и попытки продлить их. Самая простая форма — это просто

.

certbot обновить

Эта команда пытается обновить любые ранее полученные сертификаты, которые истекает менее чем через 30 дней.Тот же плагин и опции, которые использовались на момент первоначальной выдачи сертификата будет использоваться для попытка продления, если вы не укажете другие плагины или параметры. В отличие от Certonly , возобновляет действие на несколько сертификатов и всегда учитывает, есть ли рядом истечение срока. Из-за этого обновить подходит (и разработан) для автоматизированного использования, чтобы ваша система могла автоматически обновлять каждый сертификат, когда это необходимо. Поскольку обновляет только обновляет сертификаты, срок действия которых истекает, это может быть запускайте сколь угодно часто — поскольку обычно никаких действий не предпринимается.

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

 certbot обновить --pre-hook "service nginx stop" --post-hook "service nginx start"
 

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

Когда Certbot обнаруживает, что сертификат подлежит обновлению, --pre-hook и --post-hook перехватчики запускаются до и после каждой попытки его обновления.Если вы хотите, чтобы ваш хук запускался только после успешного обновления, используйте --deploy-hook в такой команде.

certbot обновить --deploy-hook / path / to / deploy-hook-script

Вы также можете указать перехватчики, поместив файлы в подкаталоги Certbot. каталог конфигурации. Предполагая, что ваш каталог конфигурации / etc / letsencrypt , любые исполняемые файлы, найденные в / и т. Д. / Letsencrypt / возобновляемые крючки / до , / etc / letsencrypt / refreshal-hooks / deploy и / etc / letsencrypt / Renewal-hooks / post будет запускаться как до, развертывания и публикации крючки соответственно при обновлении любого сертификата с возобновить подкоманда.Эти хуки запускаются в алфавитном порядке и не запускаются для других подкоманды. (Порядок запуска перехватчиков определяется байтовым значением символов в их именах файлов и не зависит от вашей локали.)

Хуки, указанные в командной строке, файле конфигурации или файлах конфигурации обновления, являются запускается как обычно после запуска всех хуков в этих каталогах. Одно небольшое исключение к этому, если хук, указанный в другом месте, является просто путем к исполняемому файлу файл в каталоге хуков того же типа (например,грамм. ваш предварительный зацеп — это путь к исполняемый файл в / etc / letsencrypt / Renewal-hooks / pre ), файл не запускается второй раз. Вы можете запретить Certbot автоматически запускать найденные исполняемые файлы в этих каталогах, включив --no-directory-hooks в командную строку.

Более подробную информацию о хуках можно найти, запустив certbot - помочь обновить .

Если вы уверены, что эта команда выполняется успешно без участия человека вмешательства, вы можете добавить команду в crontab (поскольку сертификаты обновляются только тогда, когда срок их действия истекает, команда можно бегать регулярно, например, каждую неделю или каждый день).В этом случае, вы, вероятно, захотите использовать флаг -q или --quiet quiet, чтобы отключить весь вывод, кроме ошибок.

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

Обратите внимание, что опции, предоставленные для certbot, продлить , будут применяться к каждый сертификат , для которого предпринимается попытка продления; Например, certbot обновить --rsa-key-size 4096 будет пытаться заменить каждый почти истекающий сертификат с эквивалентным сертификатом, использующим 4096-битный Открытый ключ RSA. Если сертификат успешно продлен с помощью указанные параметры, эти параметры будут сохранены и использованы в будущем. продления этого сертификата.

Альтернативная форма, обеспечивающая более детальный контроль над процесс обновления (при обновлении указанных сертификатов по одному), это certbot certonly с полным набором предметных доменов конкретный сертификат, указанный с помощью флагов -d .Вы также можете захотеть включить -n или - неинтерактивный флаг , чтобы предотвратить блокировку на пользовательский ввод (что полезно при запуске команды из cron).

certbot certonly -n -d example.com -d www.example.com

Все домены, на которые распространяется сертификат, должны быть указаны в в этом случае, чтобы обновить и заменить старый сертификат, а чем приобретение нового; не забывайте www. доменов! Указание подмножество доменов создает новый отдельный сертификат, содержащий только эти домены, а не заменять исходный сертификат.При запуске с набором доменов, соответствующих существующему сертификату, команда certonly пытается обновить этот конкретный сертификат.

Обратите внимание, что центр сертификации будет отправлять уведомления по электронной почте на адрес вы предоставляете, если не обновляете сертификаты, срок действия которых скоро истечет.

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

Примечание

certbot возобновить статус выхода будет только 1, если попытка обновления не удалась.Это означает, что certbot обновить статус выхода будет 0, если не нужно обновлять сертификат. Если вы пишете собственный сценарий и ожидаете запустить команду только после фактического обновления сертификата вам нужно будет использовать --deploy-hook , так как статус выхода будет 0 как при успешном обновлении и когда в обновлении нет необходимости.

Изменение файла конфигурации продления

При выдаче сертификата Certbot по умолчанию создает файл конфигурации обновления, который отслеживает параметры, выбранные при запуске Certbot.Это позволяет Certbot использовать те же возможности снова, когда придет время продления. Эти обновления файлы конфигурации расположены по адресу / etc / letsencrypt / Renewal / CERTNAME .

Для расширенных задач управления сертификатами можно вручную изменить файл конфигурации обновления, но это не рекомендуется, так как он может легко нарушить работу Certbot возможность продления сертификатов. Если вы решите изменить файл конфигурации продления мы советуем вам проверить его действительность с помощью команды certbot Renew --dry-run .

Предупреждение

Изменение любых файлов в / etc / letsencrypt может повредить их, поэтому Certbot больше не сможет должным образом управлять своими сертификатами, и мы не рекомендуем этого делать.

Для большинства задач безопаснее всего ограничиться указанием символических ссылок на файлы или использовать --deploy-hook для копирования / создания новых файлов на основе этих файлов, если этого требует ваша рабочая ситуация (например, комбинирование сертификатов и ключей по-разному, или наличие копий вещей с разными определенные разрешения, которые требуются другими программами).

Если содержимое / etc / letsencrypt / archive / CERTNAME перемещается в новую папку, сначала укажите имя новой папки в файле конфигурации обновления, затем запустите certbot update_symlinks , чтобы укажите символические ссылки в / etc / letsencrypt / live / CERTNAME на новую папку.

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

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

 каталог_архива = /etc/letsencrypt/archive/example.com
сертификат = /etc/letsencrypt/live/example.com/cert.pem
Privkey = /etc/letsencrypt/live/example.com/privkey.pem
цепочка = /etc/letsencrypt/live/example.com/chain.pem
fullchain = / etc / letsencrypt / live / example.com / fullchain.pem
 

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

 мв /etc/letsencrypt/archive/example.com / home / user / me / certbot / example_archive
sed -i, / etc / letsencrypt / archive / example.com, / home / user / me / certbot / example_archive, '/etc/letsencrypt/renewal/example.com.conf
mv /etc/letsencrypt/live/example.com/*.pem / home / user / me / certbot /
sed -i, / etc / letsencrypt / live / example.com, / home / user / me / certbot, g '/ etc / letsencrypt / Renewal / example.com.conf
certbot update_symlinks
 

Автоматическое продление

Большинство установок Certbot поставляются с предварительно настроенным автоматическим продлением. Этот выполняется с помощью запланированной задачи, которая периодически запускает certbot refresh .

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

  1. Ознакомьтесь с инструкциями для своей системы по адресу https://certbot.eff.org/instructions. Они расскажут, как настроить запланированное задание, если это необходимо.

  2. (Linux / BSD): проверьте crontab вашей системы (обычно / etc / crontab и /etc/cron.*/* ) и таймеры systemd ( таймеры списка systemctl ).

Все сгенерированные ключи и выданные сертификаты можно найти в / etc / letsencrypt / live / $ domain , где $ domain — сертификат имя (см. примечание ниже). Вместо того, чтобы копировать, укажите свой (веб) конфигурацию сервера непосредственно в эти файлы (или создать символические ссылки).Во время обновления / etc / letsencrypt / live обновляется до последней версии. необходимые файлы.

Примечание

Имя сертификата $ domain , используемое в пути / etc / letsencrypt / live / $ domain следует этому соглашению:

  • это имя, данное --cert-name ,

  • , если --cert-name не задано пользователем, это первый домен, присвоенный --домены ,

  • , если первый домен является доменом с подстановочными знаками (например, * .example.com ) имя сертификата будет example.com ,

  • , если произойдет конфликт имен с сертификатом, уже названным example.com , новое имя сертификата будет построено с использованием числовой последовательности как example.com-001 .

По историческим причинам содержащие каталоги создаются с помощью разрешения 0700 , означающие, что сертификаты доступны только к серверам, которые работают от имени пользователя root. Если вы никогда не переходите на более раннюю версию на более старую версию Certbot , тогда вы можете безопасно исправить это, используя chmod 0755 / etc / letsencrypt / {live, archive} .

Для серверов, которые отбрасывают привилегии root перед попыткой чтения файл закрытого ключа, вам также нужно будет использовать chgrp и chmod 0640 , чтобы сервер мог читать /etc/letsencrypt/live/$domain/privkey.pem .

Примечание

/ etc / letsencrypt / archive и / etc / letsencrypt / keys содержат все предыдущие ключи и сертификаты, а / etc / letsencrypt / live — символические ссылки на последние версии.

Доступны следующие файлы:

privkey.pem

Закрытый ключ для сертификата.

Предупреждение

Этот должен всегда храниться в секрете ! Никогда не делись это с кем угодно, включая разработчиков Certbot. Ты не можешь однако положите его в сейф — вашему серверу все еще нужен доступ этот файл для работы SSL / TLS.

Примечание

Начиная с версии Certbot 0.29.0, закрытые ключи для нового сертификата по умолчанию 0600 .Любые изменения режима группы или владельца группы (gid) этого файла будут сохранены при продлении.

Это то, что нужно Apache для SSLCertificateKeyFile, и Nginx для ssl_certificate_key.

fullchain.pem

Все сертификаты, включая сертификат сервера (также известный как листовой сертификат или сертификат конечного объекта). Сертификат сервера является первым в этом файле, за которыми следуют любые промежуточные звенья.

Это то, что Apache> = 2.4.8 потребности для SSLCertificateFile, и что нужно Nginx для ssl_certificate.

cert.pem и chain.pem (реже)

cert.pem сам по себе содержит сертификат сервера, и chain.pem содержит дополнительный промежуточный сертификат или сертификаты, которые потребуются веб-браузерам для проверки сертификат сервера. Если вы предоставите один из этих файлов в свой Интернет сервер, вы должны предоставить оба из них, иначе некоторые браузеры будут отображать Иногда для вашего сайта возникает ошибка «Это соединение не является доверенным».

Apache <2.4.8 они нужны для SSLCertificateFile. и SSLCertificateChainFile, соответственно.

Если вы используете сшивание OCSP с Nginx> = 1.3.7, chain.pem должен быть предоставляется как ssl_trusted_certificate для проверки ответов OCSP.

Примечание

Все файлы закодированы в формате PEM. Если вам нужен другой формат, например DER или PFX, тогда вы можно преобразовать с использованием openssl . Вы можете автоматизировать это с помощью --deploy-hook , если вы используете автоматическое продление.

Certbot позволяет указывать хуки до и после проверки при запуске в ручном режиме. Флаги для указания этих сценариев: --manual-auth-hook и - крюк ручной очистки соответственно и может использоваться следующим образом:

 certbot certonly --manual --manual-auth-hook /path/to/http/authenticator.sh --manual-cleanup-hook /path/to/http/cleanup.sh -d secure.example.com
 

Это запустит сценарий Authenticator.sh , попытается выполнить проверку, а затем запустит очистка .sh скрипт. Дополнительно certbot пройдет соответствующую среду переменные к этим скриптам:

  • CERTBOT_DOMAIN : аутентифицируемый домен

  • CERTBOT_VALIDATION : строка проверки

  • CERTBOT_TOKEN : часть имени ресурса в запросе HTTP-01 (только HTTP-01)

  • CERTBOT_REMAINING_CHALLENGES : количество вызовов, оставшихся после текущего вызова

  • CERTBOT_ALL_DOMAINS : разделенный запятыми список всех доменов, для которых запрашивается текущий сертификат

Дополнительно для очистки:

Пример использования HTTP-01:

 certbot certonly --manual --preferred-issues = http --manual-auth-hook / path / to / http / authentication.sh --manual-cleanup-hook /path/to/http/cleanup.sh -d secure.example.com
 

/path/to/http/authenticator.sh

 #! / Bin / bash
echo $ CERTBOT_VALIDATION> /var/www/htdocs/.well-known/acme-challenge/$CERTBOT_TOKEN
 

/path/to/http/cleanup.sh

 #! / Bin / bash
rm -f /var/www/htdocs/.well-known/acme-challenge/$CERTBOT_TOKEN
 

Пример использования DNS-01 (Cloudflare API v4) (только для примера, не используйте как есть)

 certbot certonly --manual --preferred-issues = dns --manual-auth-hook / path / to / dns / authentication.sh --manual-cleanup-hook /path/to/dns/cleanup.sh -d secure.example.com
 

/path/to/dns/authenticator.sh

 #! / Bin / bash

# Получите свой ключ API с https://www.cloudflare.com/a/account/my-account
API_KEY = "ваш-API-ключ"
EMAIL = "[email protected]"

# Удалите только верхний домен, чтобы получить идентификатор зоны
ДОМЕН = $ (выражение соответствует "$ CERTBOT_DOMAIN" '. * \. \ (. * \ .. * \)')

# Получить идентификатор зоны Cloudflare
ZONE_EXTRA_PARAMS = "status = active & page = 1 & per_page = 20 & order = status & direction = desc & match = all"
ZONE_ID = $ (curl -s -X GET "https: // api.cloudflare.com/client/v4/zones?name=$DOMAIN&$ZONE_EXTRA_PARAMS "\
     -H "X-Auth-Email: $ EMAIL" \
     -H "X-Auth-Key: $ API_KEY" \
     -H "Content-Type: application / json" | python -c "import sys, json; print (json.load (sys.stdin) ['result'] [0] ['id'])")

# Создать запись TXT
CREATE_DOMAIN = "_ acme-challenge. $ CERTBOT_DOMAIN"
RECORD_ID = $ (curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
     -H "X-Auth-Email: $ EMAIL" \
     -H "X-Auth-Key: $ API_KEY" \
     -H "Content-Type: application / json" \
     --data '{"type": "TXT", "name": "'" $ CREATE_DOMAIN "'", "content": "'" $ CERTBOT_VALIDATION "'", "ttl": 120}' \
             | python -c "import sys, json; print (json.load (sys.stdin) ['результат'] ['идентификатор']) ")
# Сохранить информацию для очистки
если [ ! -d / tmp / CERTBOT_ $ CERTBOT_DOMAIN]; затем
        mkdir -m 0700 / tmp / CERTBOT_ $ CERTBOT_DOMAIN
фи
echo $ ZONE_ID> / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID
echo $ RECORD_ID> / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID

# Спать, чтобы убедиться, что изменение успело распространиться на DNS
спать 25
 

/path/to/dns/cleanup.sh

 #! / Bin / bash

# Получите свой ключ API с https://www.cloudflare.com/a/account/my-account
API_KEY = "ваш-API-ключ"
EMAIL = "ваш[email protected] "

если [-f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID]; тогда
        ZONE_ID = $ (cat / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID)
        rm -f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID
фи

если [-f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID]; тогда
        RECORD_ID = $ (cat / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID)
        rm -f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID
фи

# Удаляем TXT-запись вызова из зоны
если [-n "$ {ZONE_ID}"]; тогда
    если [-n "$ {RECORD_ID}"]; тогда
        curl -s -X DELETE "https: // api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID "\
                -H "X-Auth-Email: $ EMAIL" \
                -H "X-Auth-Key: $ API_KEY" \
                -H "Content-Type: application / json"
    фи
фи
 

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

Поскольку каталоги, используемые Certbot, настраиваются, Certbot запишет файл блокировки для всех используемых каталогов.Это включает в себя Certbot --work-dir , --logs-dir и --config-dir . По умолчанию это / var / lib / letsencrypt , / var / log / letsencrypt и / etc / letsencrypt соответственно. Кроме того, если вы используете Certbot с Apache или nginx, он будет заблокируйте папку конфигурации для этой программы, которая обычно также находится в / etc каталог.

Обратите внимание, что эти файлы блокировки только предотвращают доступ других экземпляров Certbot. используя эти каталоги, а не другие процессы.Если вы хотите запустить несколько экземпляры Certbot одновременно необходимо указать разные каталоги как --work-dir , --logs-dir и --config-dir для каждого экземпляра Certbot, который вы хотите запустить.

Интеграция мониторинга Apache | New Relic Documentation

Наша интеграция с Apache отправляет метрики производительности и данные инвентаризации с вашего веб-сервера Apache на платформу New Relic. Вы можете просматривать предварительно созданные панели мониторинга данных метрик Apache, создавать политики предупреждений и создавать собственные пользовательские запросы и диаграммы.

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

Прочтите, чтобы установить интеграцию и узнать, какие данные мы собираем.

Совместимость и требования

Наша интеграция совместима с Apache версий 2.2 или 2.4.

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

  • Модуль состояния Apache включен и настроен для экземпляра Apache.
  • Конечная точка модуля статуса Apache (по умолчанию server-status ), доступная с хоста, содержащего интеграцию Apache.
  • Если Apache — это , а не , работающий в Kubernetes или Amazon ECS, у вас должен быть установлен агент инфраструктуры на хосте ОС Linux, на котором запущен Apache. В противном случае:

Быстрый старт

Быстро настройте свой веб-сервер Apache и отправьте данные телеметрии с помощью пошаговой установки. Наша пошаговая установка создает настраиваемую команду CLI для вашей среды, которая загружает и устанавливает New Relic CLI и агент инфраструктуры.

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

Чтобы установить интеграцию Apache, следуйте инструкциям для вашей среды:

Дополнительные примечания:

Настройте интеграцию

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

Существует несколько способов настройки интеграции, в зависимости от того, как она была установлена:

Параметры конфигурации включают:

  • метрики : Эта команда фиксирует метрики конкретного сервера Apache.Это принимает единственный аргумент:
    • status_url : URL-адрес, настроенный для предоставления метрик с помощью модуля информации о состоянии Apache. Значение по умолчанию: http://127.0.0.1/server-status?auto . Если вы настроили настройку для использования другой конечной точки, вам нужно будет установить это значение.
  • inventory : эта команда захватывает модули, загруженные Apache, как данные инвентаризации, используя двоичный файл Apache. Чтобы отключить сбор данных инвентаризации, удалите команду inventory из файла конфигурации.
    • status_url : URL-адрес используется для прикрепления данных инвентаризации к тому же экземпляру Apache, для которого мы собираем данные метрик.
  • метки : метка env управляет атрибутом среды . Значение по умолчанию — , производство .

Подробнее об общей структуре конфигурации см. Конфигурация.

Активировать удаленный мониторинг

Параметр remote_monitoring включает удаленный мониторинг и мультиарендность для этой интеграции.

Активация remote_monitoring может изменить некоторые атрибуты и / или повлиять на настроенные вами предупреждения. Для получения дополнительной информации см. Удаленный мониторинг при интеграции на хосте.

Важно

Для использования remote_monitoring требуется агент инфраструктуры версии 1.2.25 или выше.

Передача переменных среды

Переменные среды могут использоваться для управления параметрами конфигурации, а затем передаются агенту инфраструктуры.Инструкции по использованию этой функции см. В разделе Настройка агента инфраструктуры.

Важно

С помощью управления секретами вы можете настроить интеграцию на узле с агентом инфраструктуры New Relic для использования конфиденциальных данных (например, паролей) без необходимости записывать их в виде простого текста в файл конфигурации интеграции. Для получения дополнительной информации см. Управление секретами.

STATUS_URL

URL-адрес, настроенный для предоставления показателей с помощью модуля информации о состоянии Apache.

Пример:

  STATUS_URL = ' http: //your.ip.address: 8080 / server-status? Auto '  
CA_BUNDLE_FILE

Альтернативный файл для использования для настраиваемого сертификата SSL.

Пример:

  CA_BUNDLE_FILE = ' /etc/ssl/certs/custom-ca.crt '  
CA_BUNDLE_DIR

Альтернативный путь для поиска файла пакета сертификатов SSL.

Пример:

  CA_BUNDLE_DIR = ' / etc / ssl / certs / custom / '  

Поиск и использование данных

Данные из этой службы передаются на панель интеграции.

Данные Apache привязаны к типу события ApacheSample . Вы можете запросить эти данные для устранения неполадок или для создания диаграмм и информационных панелей.

Подробнее о том, как находить и использовать данные, см. В разделе Общие сведения об интеграционных данных.

Метрические данные

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

Название

Описание

нетто.bytesPerSecond

Скорость количества обслуживаемых байтов в байтах в секунду.

net.requestsPerSecond

Скорость количества клиентских запросов в запросах в секунду.

server.busyWorkers

Текущее количество занятых сотрудников.

server.idleWorkers

Текущее количество простаивающих работников.

server.scoreboard.closingWorkers

Текущее количество рабочих, закрывающих TCP-соединение после обслуживания ответа.

server.scoreboard.dnsLookupWorkers

Текущее количество работников, выполняющих поиск в DNS.

server.scoreboard.finishingWorkers

Текущее количество рабочих, грациозно заканчивающих отделку.

server.scoreboard.idleCleanupWorkers

Текущее количество простаивающих рабочих, готовых к очистке.

server.scoreboard.keepAliveWorkers

Текущее количество рабочих, поддерживающих соединение keep-alive.

server.scoreboard.loggingWorkers

Текущее количество рабочих, ведущих журнал.

server.scoreboard.readingWorkers

Текущее количество рабочих запросов на чтение (заголовки или тело).

server.scoreboard.startingWorkers

Текущее количество работников, которые начинают работу.

server.scoreboard.totalWorkers

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

server.scoreboard.writingWorkers

Текущее количество работников, которые пишут.

Данные инвентаризации

Данные инвентаризации захватывают номера версий из запущенного Apache и из всех загруженных модулей Apache и добавляют эти номера версий в пространство имен config / apache . Дополнительные сведения о данных инвентаризации см. В разделе Общие сведения о данных.

Помимо стандартных атрибутов, собираемых агентом инфраструктуры, интеграция собирает данные инвентаризации, связанные с типом события ApacheSample :

Имя

Описание

программное обеспечение.версия

Версия сервера Apache. Пример: Apache / 2.4.7 (Ubuntu) .

Устранение неполадок

Проблема с доступом к конечной точке HTTPS для Apache

Если у вас возникают проблемы с доступом к конечной точке HTTPS для Apache, вот два возможных решения:

  • Хотя вы не можете игнорировать сертификацию SSL, вы можете установить параметры файла конфигурации ca_bundle_file и ca_bundle_dir , чтобы указать на неподписанный сертификат в файле конфигурации Apache.Пример:

      

    - имя: apache-server-metrics

    status_url: http://127.0.0.1/server-status?auto

    ca_bundle_file: /etc/newrelic-infra/integrations.d/ssl/b2b. ca-bundle

    Пример использования ca_bundle_dir :

      

    ca_bundle_dir: /etc/newrelic-infra/integrations.d/ssl

  • Вместо HTTPS можно использовать HTTP.

Проверить исходный код

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

Для получения дополнительной помощи

Если вам нужна дополнительная помощь, ознакомьтесь с этими ресурсами поддержки и обучения:

Apache — EspoCRM Documentation

Эти инструкции дополняют руководство по настройке сервера. Обратите внимание, что все параметры конфигурации, перечисленные здесь, выполняются на сервере Ubuntu.

Требования PHP

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

  sudo apt-get update
sudo apt-get install php-mysql php-json php-gd php-zip php-imap php-mbstring php-curl php-exif php-ldap
sudo phpenmod imap mbstring
sudo service apache2 перезапуск
  

Устранение проблемы «Ошибка API: API EspoCRM недоступен»

Когда вы пытаетесь установить EspoCRM через браузер, вы можете столкнуться с ошибкой «Ошибка API: API EspoCRM недоступен».

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

1. Включить поддержку

mod_rewrite для Apache

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

  sudo a2enmod переписать
sudo service apache2 перезапуск
  

2. Включить

.htaccess support

Чтобы включить поддержку .htaccess, добавьте / отредактируйте параметры конфигурации сервера / etc / apache2 / sites-available / ESPO_VIRTUAL_HOST.conf или /etc/apache2/apache2.conf (или /etc/httpd/conf/httpd.conf ):

  <Каталог / PATH_TO_ESPO />
AllowOverride All

  

Вам необходимо изменить / PATH_TO_ESPO / на полный путь к вашему EspoCRM inctance, например / var / www / html / .

После этого перезапустите apache:

  sudo service apache2 перезапуск
  

3. Добавьте путь к RewriteBase (в большинстве случаев не требуется)

Откройте файл / ESPOCRM_DIRECTORY / api / v1 /.htaccess и замените следующую строку:

с

  RewriteBase / REQUEST_URI / api / v1 /
  

, где REQUEST_URI — это часть URL-адреса, например для https://example.com/espocrm/ REQUEST_URI — ‘espocrm’ .

Включить поддержку АВТОРИЗАЦИИ HTTP (только для FastCGI)

FastCGI не поддерживает АВТОРИЗАЦИЮ HTTP по умолчанию. Если вы используете FastCGI, вам необходимо включить его в своем VirtualHost или / etc / apache2 / apache2.conf (или httpd.conf), добавив следующий код:

Для модуля Fcgid:

  
  Авторизация FcgidPassHeader
  Прокси-авторизация FcgidPassHeader
  FcgidPassHeader HTTP_AUTHORIZATION

  

Для модуля FastCgi:

  
   FastCgiConfig -pass-header Авторизация \
                        -pass-header Прокси-авторизация \
                        -pass-header HTTP_AUTHORIZATION

  

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

Apache | Документация cPanel и WHM

AllcPanelWHMEA4KnowledgeManage2WebmailAPI

AllcPanelWHMEA4KnowledgeManage2WebmailAPI

  1. cPanel и документация WHM
  2. EasyApache4
  3. Apache

Apache


Расширенная конфигурация Apache

EasyApache 4 предоставляет несколько способов настройки конфигурации Apache.

Читать далее
Расширенная конфигурация Apache — Файл paths.conf

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

Читать далее
Модуль Apache: Brotli

Модуль mod_brotli Apache обеспечивает сжатие для HTTP-сервера Apache.

Читать далее
Модуль Apache: cPanel

Модуль mod_cpanel Apache заменяет функцию _Optimize .htaccess (AllowOverride) _.

Читать далее
Модуль Apache: уклончивый

Этот модуль обеспечивает защиту от DoS, DDoS и атак грубой силы.

Читать далее
Модуль Apache: FCGId

Модуль mod_fcgid Apache предоставляет альтернативный модуль модулю mod_cgi Apache.

Читать далее
Модуль Apache: HTTP2

Модуль mod_http2 Apache обеспечивает поддержку HTTP / 2 для HTTP-сервера Apache.

Читать далее
Модуль Apache: Lua

Этот модуль предоставляет перехватчики Lua для обработки запросов httpd.

Читать далее
Модуль Apache: ModSecurity®

Модуль mod_security2 Apache предоставляет брандмауэр веб-приложений ModSecurity для Apache.

Читать далее
Модуль Apache: утилита ModSecurity® SDBM

cPanel & WHM предоставляет утилиту ModSecurity SDBM для удаления просроченных записей из файла кэша /var/cpanel/secdatadir/ip.pag.

Читать далее
Модуль Apache: MPM ITK

Модуль mod_mpm_itk Apache заставляет процесс Apache переключаться на идентификатор пользователя (UID) и идентификатор группы (GID) владельца домена, прежде чем он ответит на запрос.

Читать далее
Пользовательские шаблоны

Файл настраиваемого шаблона изменяет способ создания cPanel и WHM записей виртуального хоста конфигурации Apache.

Читать далее
Введение в Apache

EasyApache 4 устанавливает и управляет веб-сервером Apache и всеми его компонентами.

Читать далее
Изменение виртуальных хостов Apache с помощью файлов включения

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