Установка 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.
Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂
Правка файла httpd.conf
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
LoadModule rewrite_module modules/mod_rewrite.so - Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module «C:/php/php5apache2_2.dll» - Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir «C:/php» - Найдите и раскомментируйте строку:
ServerName www.example.com:80
Отредактируйте ее следующим образом установив изначальное имя сервера:
ServerName localhost:80 - Найдите строку:
DocumentRoot «c:/Apache2/htdocs»
Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
DocumentRoot «C:/apache» - Найдите данный блок:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
И замените его на нижеследующий:
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all - Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
<Directory «c:/Apache2/htdocs»>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory> - Найдите блок:
<IfModule dir_module>
DirectoryIndex index. html
</IfModule>
Замените его на:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</IfModule> - Найдите строку:
ErrorLog «logs/error.log»
Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
ErrorLog «C:/apache/error.log» - Найдите строку:
CustomLog «logs/access.log» common
Замените на:
CustomLog «C:/apache/access.log» common - Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml - Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps - И, наконец, найдите и раскомментируйте строки:
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»
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.
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.
# Файл журнала доступа к хосту.
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)».
Чтобы использовать режим:
- Установите Apache-MPM-ITK или Apache MPM-Prefork, Модуль PHP. Подробнее см. в статье Установка веб-сервера.
- Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP как модуль apache.
- Выберите режим при создании или изменении 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;
- самый медленный режим работы.
Чтобы использовать режим:
- Установите Apache-MPM-ITK или Apache MPM-Prefork. Подробнее см. в статье Установка веб-сервера.
- Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме CGI.
- Выберите режим при создании или изменении 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».
Чтобы использовать режим:
- Установите Apache MPM-Prefork и Модуль PHP. Подробнее см. в статье Установка веб-сервера.
- Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Apache).
- Выберите режим при создании или изменении 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;
- самый быстрый режим работы.
Чтобы использовать режим:
- Установите Nginx, PHP-FPM FastCGI. Подробнее см. в статье Установка веб-сервера.
- Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Nginx + PHP-FPM).
- Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.
- Чтобы изменить версию 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 указаны необходимые драйвера для работы с БД и эти драйвера установлены в системе.
Для установки драйверов выполните следующее:
Загрузите необходимые драйвера, руководствуясь данной таблицей:
Поместите драйвер в папку extension_dir PHP.
Пропишите соответствующее расширение в файле php.ini (например: extension=php_mysqli.dll).
Перезагрузите веб-сервер. За детальной информацией обратитесь к разделу Таблица совместимости.
Для предотвращения неавторизованного доступа к файлам системы при использовании веб-сервера 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
Установите Apache 2.4, если вы еще этого не сделали.
Проверить установку:
Сообщения, похожие на следующий экран, подтверждающие успешную установку:
1 2
Версия сервера: Apache / 2.4.40 (Unix) Сервер построен: 16 октября 2020 г., 14:48:21
Переходите к следующему разделу.
Даже если Apache 2.4 по умолчанию поставляется с CentOS, см. Следующий раздел, чтобы настроить его.
Включить перезапись и .htaccess для CentOS
Откройте файл
/etc/httpd/conf/httpd.conf
для редактирования:1
vim / etc / httpd / conf / httpd. conf`
Найдите блок, который начинается с:
1
<Каталог "/ var / www / html">
Измените значение
AllowOverride
наВсе
.Например,
1 2 3 4 5 6
Параметры Индексы FollowSymLinks MultiViews AllowOverride All Заказать разрешить, запретить Разрешить от всех Предыдущие значения для
Порядок
могут работать не во всех случаях. Для получения дополнительной информации см. Документацию Apache (2.4).Сохраните файл и выйдите из текстового редактора.
Чтобы применить настройки Apache, перезапустите Apache.
1
перезапуск службы apache2
Отказ включить эти параметры обычно приводит к тому, что стили не отображаются на вашей витрине или в панели администратора.
Включить перезапись и .htaccess для Ubuntu
Откройте файл
/ etc / apache2 / sites-available / default
для редактирования:1
vim / etc / apache2 / сайты-доступные / по умолчанию
Найдите блок, который начинается с:
Измените значение
AllowOverride
наВсе
.Например:
1 2 3 4 5 6
<Каталог "/ var / www / html"> Параметры Индексы FollowSymLinks MultiViews AllowOverride All Заказать разрешить, запретить Разрешить от всех
Сохраните файл и выйдите из текстового редактора.
Настройте Apache для использования модуля
mod_rewrite
:1
cd / etc / apache2 / с поддержкой модов
1
лн -с../mods-available/rewrite.load
Перезапустите 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
), но вот три
другие подходы:
- Создайте символическую ссылку на статические файлы администратора из вашего
корень документа (для этого может потребоваться
+ FollowSymLinks
в вашем Apache конфигурация). - Используйте директиву
Псевдоним
, как показано выше, для псевдонима соответствующего URL-адрес (вероятно,STATIC_URL
+admin /
) на фактическое местоположение файлы администратора. - Скопируйте статические файлы администратора, чтобы они жили в вашем 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 и ожидается сбой во время второй привязки.
Используйте -
, чтобы явно указать 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
.
Если вы не уверены, нужно ли настраивать автоматическое продление:
Ознакомьтесь с инструкциями для своей системы по адресу https://certbot.eff.org/instructions. Они расскажут, как настроить запланированное задание, если это необходимо.
(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.
или сервер.
.
Название | Описание |
---|---|
| Скорость количества обслуживаемых байтов в байтах в секунду. |
| Скорость количества клиентских запросов в запросах в секунду. |
| Текущее количество занятых сотрудников. |
| Текущее количество простаивающих работников. |
| Текущее количество рабочих, закрывающих TCP-соединение после обслуживания ответа. |
| Текущее количество работников, выполняющих поиск в DNS. |
| Текущее количество рабочих, грациозно заканчивающих отделку. |
| Текущее количество простаивающих рабочих, готовых к очистке. |
| Текущее количество рабочих, поддерживающих соединение keep-alive. |
| Текущее количество рабочих, ведущих журнал. |
| Текущее количество рабочих запросов на чтение (заголовки или тело). |
| Текущее количество работников, которые начинают работу. |
| Общее количество доступных рабочих. Рабочие, которые не нужны для обработки запросов, могут не быть запущены. |
| Текущее количество работников, которые пишут. |
Данные инвентаризации
Данные инвентаризации захватывают номера версий из запущенного Apache и из всех загруженных модулей Apache и добавляют эти номера версий в пространство имен config / apache
. Дополнительные сведения о данных инвентаризации см. В разделе Общие сведения о данных.
Помимо стандартных атрибутов, собираемых агентом инфраструктуры, интеграция собирает данные инвентаризации, связанные с типом события ApacheSample
:
Имя | Описание |
---|---|
| Версия сервера Apache. Пример: |
Устранение неполадок
Проблема с доступом к конечной точке 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
AllcPanelWHMEA4KnowledgeManage2WebmailAPIAllcPanelWHMEA4KnowledgeManage2WebmailAPI
- cPanel и документация WHM
- EasyApache4
- 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.