Ошибка при запуске apache2ctl изящных Let’s Encrypt на AWS Lightsail Bitnami

Будучи постоянным техническим специалистом в семье, я помогаю с запуском нового веб-сайта семейного бизнеса. Мой опыт крайне ограничен, когда дело доходит до кодирования и веб-разработки (в старшей школе я сделал базовый веб-сайт на html/css). Пожалуйста, потерпите меня

Пока у меня работает домен, хостинг и DNS. Хост — AWS Lightsail с Wordpress, работающим на Ubuntu 16.04 и Bitnami. Теперь я пытаюсь настроить SSL, так как мы хотим, чтобы на веб-сайте была оплата кредитной картой. После пары дней исследований я пошел по пути Let's Encrypt и пытаюсь получить сертификат на сервере. Остановите меня, если я уже совершил какую-то критическую ошибку.

В любом случае, я использую инструкции из: https://certbot.eff.org/#ubuntuxenial-apache

и я добился некоторого прогресса, пока. См. полную вставку из шпатлевки: https://pastebin.com/dhLs7c3A

root@ip-172-26-2-150:/home/bitnami# sudo certbot --apache -d profq.com.au -d www.profq.com.au

Подводя итог, я запустил строку: «root@ip-172-26-2-150:/home/bitnami# sudo certbot --apache -d profq.com.au -d www.profq.com.au»

и проблема начинается со строки:

«Ошибка при запуске apache2ctl Graceful. httpd не запущен, попытка запуска действия «Graceful» не удалась».

Любая помощь или совет очень ценятся. Спасибо


person Lance    schedule 23.02.2018    source источник
comment
Есть сообщения об ошибках типа could not bind to address [::]:80 - уже запущен (другой) сервер?   -  person Stefan M    schedule 23.02.2018
comment
Извините, но я не уверен, что полностью понял вопрос. Если вы об этом спрашиваете, это единственный активный экземпляр Lightsail. Моя интуиция подсказывает мне, что на сервере необходимо изменить некоторые начальные настройки или разрешения.   -  person Lance    schedule 23.02.2018
comment
Лог-файл почти уверен в этом: Address already in use: AH00072: make_sock: could not bind to address [::]:80, а затем no listening sockets available, shutting down. Вы можете использовать netstat, чтобы узнать, что блокирует запуск apache.   -  person Stefan M    schedule 23.02.2018
comment
Спасибо. Я запустил netstat и получил некоторые результаты. К сожалению, я не знаю, что ищу pastebin.com/gngJJcEf   -  person Lance    schedule 23.02.2018


Ответы (2)


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

Судя по всему, эта проблема связана не напрямую с экземпляром Lightsail или работающим сервером Apache, а со стеком Bitnami поверх него. Ниже приведены шаги по установке сертификата letsencrypt, взятые отсюда.

Необходимое условие Первое, что вам нужно сделать, это убедиться, что все пакеты обновлены на вашем сервере. Вы можете сделать это с помощью команды ниже.

sudo apt update
sudo apt upgrade

<сильный>1. УСТАНОВИТЕ CERTBOT

Сначала создайте каталог, в который вы хотите установить клиент Certbot, и перейдите в этот каталог.

sudo mkdir /opt/bitnami/letsencrypt
cd /opt/bitnami/letsencrypt

Теперь установите клиент Certbot из официального дистрибутива certbot. Вы также должны убедиться, что скрипт имеет привилегию выполнения.

sudo wget https://dl.eff.org/certbot-auto
sudo chmod a+x ./certbot-auto

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

sudo ./certbot-auto

<сильный>2. СОЗДАТЬ СЕРТИФИКАТ

После установки клиента Certbot вы можете приступить к созданию сертификата для своего домена.

sudo ./certbot-auto certonly --webroot -w /opt/bitnami/apache2/htdocs/{example} -d www.example.com -d example.com

^{пример} выше является необязательным, только если вы не храните файл в самой папке htdocs. www.example.com и example.com должны быть вашим доменным именем.

Я столкнулся с проблемой после запуска этой команды, так как у меня не было записи CNAME, установленной для www. версия моего сайта. Произошла следующая ошибка: Проблема DNS: NXDOMAIN ищет A для www.example.com Чтобы исправить это, перейдите на страницу Lightsail, откройте вкладку Netowkring и выберите зону DNS для своего сайта. Нажмите на Add record под DNS-записями, выберите CNAME, в поддомене введите просто www, а в поле maps введите свой домен без www. префикс. После этого запуск вышеуказанной команды должен пройти без проблем.

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

certbot certonly --webroot -w /opt/bitnami/apache2/htdocs/example -d www.example.com -d example.com -w /opt/bitnami/apache2/htdocs/other -d www.other.net -d example.net

<сильный>3. Связать SSL-сертификат Let's Encrypt с Apache

Вы можете просто скопировать свой SSL-сертификат в эти места и перезапустить Apache, чтобы активировать новый файл. Но при таком подходе вам придется снова копировать файлы при обновлении сертификата.

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

Вы можете использовать приведенные ниже команды для создания символической ссылки.

sudo ln -s /etc/letsencrypt/live/[DOMAIN]/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo ln -s /etc/letsencrypt/live/[DOMAIN]/privkey.pem /opt/bitnami/apache2/conf/server.key

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

mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/serverkey.old
mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/servercrt.old

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

sudo /opt/bitnami/ctlscript.sh restart apache

Вот и все. После этого переход на https://example.com должен работать, и вы должны увидеть ваш сертификат.

Уведомление. Сертификат действителен только в течение 3 месяцев, поэтому вам необходимо обновлять его каждые 3 месяца вручную или запускать для этого задание cron. Чтобы обновить его, когда придет время, выполните следующие команды:

sudo apt update
sudo apt upgrade
cd /opt/bitnami/letsencrypt
sudo ./certbot-auto renew
sudo /opt/bitnami/ctlscript.sh restart apache
person Ivica Pesovski    schedule 06.01.2019

Вы просто пробовали инструмент Bitnami, звучит похоже на то, что вы описали, это звучит как wordpress на световом парусе.

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

sudo /opt/bitnami/bncert-tool

Возможно, вам придется запустить sudo su для запуска от имени пользователя root.

Это должно легко решить проблему.

person Benloper    schedule 16.06.2020