Answer the question
In order to leave comments, you need to log in
Bash insert multiple lines in file after specific one?
It needs to be made as simple as possible.
1. We find a line in the file " include bx/conf/ssl.conf;"
, comment it
and add a few more lines under it .
We don’t grind, we don’t paste it on any of the lines, but we add it to this place.
so far so far.
sed -i "s/ include bx\/conf\/ssl.conf\x3B/\ #include bx\/conf\/ssl.conf\x3B/g" /tmp/333/111.conf
ssl_certificate /etc/letsencrypt/live/mfwo.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mfwo.ru/privkey.pem;
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Answer the question
In order to leave comments, you need to log in
sed -i '\| include bx/conf/ssl.conf| { s| include bx/conf/ssl.conf|#&|; a\
ssl_certificate /etc/letsencrypt/live/mfwo.ru/fullchain.pem;\
ssl_certificate_key /etc/letsencrypt/live/mfwo.ru/privkey.pem;\
ssl on;\
keepalive_timeout 70;\
keepalive_requests 150;\
ssl_session_cache shared:SSL:10m;\
ssl_session_timeout 10m;
}' /tmp/test.conf
Here is a skrikt who has ideas for optimization, I will say thank you.
#тут указываем совой домен
DOMAIN=mfwo.ru
[email protected]
#############################################################################################################
#ставим гит, если его нет
rpm -q git && echo "А гит уже стоит и мы его пропускаем" || yum install git
# в этой папке и будет лежать сам дистрибутивчик cetbot, он нам нужен будет потом для обновления ключиков.
cd /root
#проверяем не скачан ли он уже и качаем если нет.
test -d certbot && echo "Каталог уже есть, ниче не качаем" || git clone https://github.com/certbot/certbot
cd certbot
# Выставляем права на файл
chmod a+x ./certbot-auto || echo "проблема правами на файл" && echo "Права на файл поменяли успешно"
# проверяем верен ли путь до сайта, и не сгенерирован ли уже ключик, если все ок генерим!
test -d /home/bitrix/ext_www/$DOMAIN || echo "/home/bitrix/ext_www/$DOMAIN.ru -нет такой директории" && test -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem && echo "А файл уже есть, не не генерируем новый !" ||
./certbot-auto certonly --webroot --agree-tos --email $EMAIL -w /home/bitrix/ext_www/$DOMAIN -d $DOMAIN -d www.$DOMAIN || echo "А не угадали с каталогом, проверяем пути" &&
# коментит "include bx/conf/ssl.conf/ssl.conf;" и добавляет строки
# ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem;
# ssl on;
# keepalive_timeout 70;
# keepalive_requests 150;
# ssl_session_cache shared:SSL:10m;
# ssl_session_timeout 10m;
sed -i "s/ include bx\/conf\/ssl.conf\x3B/\ #include bx\/conf\/ssl.conf\x3B\n ssl_certificate \/etc\/letsencrypt\/live\/$DOMAIN\/fullchain\.pem\x3B\n ssl_certificate_key \/etc\/letsencrypt\/live\/$DOMAIN\/privkey\.pem\x3B\n ssl on\x3B\n keepalive_timeout 70\x3B\n keepalive_requests 150\x3B\n ssl_session_cache shared:SSL:10m\x3B\n ssl_session_timeout 10m\x3B/g" /etc/nginx/bx/site_avaliable/bx_ext_ssl_$DOMAIN.conf && echo "замена в конфигах прошал без ошибок"
# перед рестартом проверяем валидность конфигов, если ок рестартуем.
service nginx configtest && echo "Nginx валидно завершил проверку конфигов" && service nginx restart
#certbot-auto renew
#првоеряем нет ли записи в кроне и добавляем ее
echo "Записываем Автообновление сертификатов крон"
crontab -l | grep -q "\* \*/12 \* \* \* cd /root/certbot/ \&\& \./certbot-auto renew >> /dev/null 2>\&1 " && echo "А в кроне уже запись есть, ничего не добавляем" || echo "* */12 * * * cd /root/certbot/ && ./certbot-auto renew >> /dev/null 2>&1 " >> /var/spool/cron/root
echo "не забывайте про редиректы которые могут вести на http!!!!!!!!"
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question