• XSS.stack #1 – первый литературный журнал от юзеров форума

Развернуть вебсервер + ссл в 1 клик, реально?

kosok11

RAT
Пользователь
Регистрация
12.03.2019
Сообщения
795
Решения
1
Реакции
793
Гарант сделки
6
Депозит
0.0022
Так, товарищи вебмастера, делитесь опытом, пытался кто-то собрать докер контейнер, чтобы в 1 клик развернуть на серваке вебсервер и поднять ссл для нового домена?
Если кто пытался, как успехи, есть чем поделиться? )

Чего я хочу добиться, в двух словах:
на рабочем серваке изменяю конфиг (указываю новые ip сервера и домен)
собираю докер образ
запускаю контейнер из этого образа на свежем серваке
вуаля - в интернет торчит мой сайтец на свежем домене, а на нем висит let's encrypt
и самое главное это все работает

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

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


Всех обнял
 
Собирался писать скрипт под это дело, тк ручками заебываешься порой, но так и пялил ручками рутину
На docker/bash/ansible мне кажется велосипед уже изобретён, но я не искал
Интересно будет посмотреть кто как катается
А что мрачного в инсталле веб сервера/php-fpm/certbot/python3-certbot-nginx/apache2, копировании своего конфига вместо дефолтного, вызове certbot?
 
А что мрачного в инсталле веб сервера/php-fpm/certbot/python3-certbot-nginx/apache2, копировании своего конфига вместо дефолтного, вызове certbot?
Не, можно конечно и башами обойтись, я понимаю, но для башей надо четко критерии по дистрибутиву и версии, чтобы наверняка все работало. А хочется так чтобы "дай мне любой сервер, хоть на винде": клац-клац и все работает, тут только докек лаунчить
 
Не, можно конечно и башами обойтись, я понимаю, но для башей надо четко критерии по дистрибутиву и версии, чтобы наверняка все работало. А хочется так чтобы "дай мне любой сервер, хоть на винде": клац-клац и все работает, тут только докек лаунчить
Кроссплатформенности, в общем
 
Посмотри в сторону Caddy как вариант, умеет выпускать Lest Encrypt SSL на лету и проксировать запросы на бекенд как тот же nginx, когда то юзал, настраивалось довольно просто.
 
Решил для себя рутину по настройке веб апач таким башем:
Bash:
#!/bin/bash

# Переменная с доменом
DOMAIN="somedomain.com" #заменить на свой

# Обновление пакетов и установка необходимых пакетов (добавить/убрать при желании):
sudo apt update
sudo apt install -y apache2 php libapache2-mod-php php-mysql php-curl curl unzip
sudo apt install -y certbot python3-certbot-apache

# Создание директории для сайта:
sudo mkdir /var/www/"$DOMAIN"
sudo chown -R $USER:$USER /var/www/"$DOMAIN"
sudo chmod -R 755 /var/www/"$DOMAIN"

# Создание тестового index.html:
sudo bash -c "cat > /var/www/${DOMAIN}/index.html" << EOF
<html>
    <head>
        <title>Welcome to $DOMAIN!</title>
    </head>
    <body>
        <h1>Success! The $DOMAIN virtual host is working!</h1>
    </body>
</html>
EOF

# Создание конфигурационного файла для Apache:
sudo bash -c "cat > /etc/apache2/sites-available/${DOMAIN}.conf" << EOF
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName "$DOMAIN"
    ServerAlias www.$DOMAIN
    DocumentRoot /var/www/$DOMAIN
    ErrorLog \${APACHE_LOG_DIR}/error.log
    CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName "$DOMAIN"
    ServerAlias www.$DOMAIN
    DocumentRoot /var/www/$DOMAIN
    ErrorLog \${APACHE_LOG_DIR}/error.log
    CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF

# Активация виртуального хоста и отключение дефолтного:
sudo a2ensite ${DOMAIN}.conf
sudo a2dissite 000-default.conf

# Установка SSL-сертификата Let's Encrypt с помощью Certbot:
sudo certbot --apache -d $DOMAIN --register-unsafely-without-email

# Перезапуск Apache:
sudo systemctl restart apache2

# Проверка обновления сертификата Let's Encrypt:
sudo certbot renew --dry-run

echo "Скрипт выполнен успешно!"
Создаёшь на новом сервере скрипт, вписываешь нужный домен в переменную, даешь права на выполнение скрипта и запускаешь, он в процессе установки пару вопросов задаст и при создании SSL Let's Encrypt запросит соглашение с их договором.
По окончании работы имеется рабочий домен с тестовым index.html и рабочим SSL.
Работает на большинстве UNIX впс, что мне попадались, редко когда сталкивался с проблемами.
PS перед запуском скрипта - домен должен быть припаркован и пинговаться, иначе сертификат не выпустится
 
он в процессе установки пару вопросов задаст и при создании SSL Let's Encrypt запросит соглашение с их договором
sudo certbot --apache -d $DOMAIN --register-unsafely-without-email --non-interactive --agree-tos

так не будет ничего запрашивать
 
sudo certbot --apache -d $DOMAIN --register-unsafely-without-email --non-interactive --agree-tos

так не будет ничего запрашивать
Согласен, но честно - лень дописывать было, в целом главная задача - не вводить руками все команды, была реализована, а допиливать можно как и куда угодно)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ребят , вы реально в наше время апачь используете ? Он же запросы очень тяжело обрабатывает ...
не соглашусь с вами, при грамотной настройке в полне нормально работает
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх