Skip to content

iron-udjin/testtask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

testtask

Test task (two wordpress instances)

ТЗ:

Загрузить Тествое задание которое находится ниже на ресурс github.com

 Создать конфигурацию в docker-compose.yml для следующих сервисов:
  - nginx
  - certbot
  - php-fpm
  - phpmyadmin
  - mysql/mariadb


Произвести конфигурацию nginx для двух доменов, example-one.com и example-two.com которые будут отдавать два чистых сайта на Wordpress с редиректом на https и условными сертификатами от letsencrypt


Будет плюсом если вы добавите файл с правилами iptables закрывающие php-fpm phpmyadmin mysql от Мира.

Доменные имена заменены на реальные: test1.iron.org.ua и test2.iron.org.ua

При запуске контейнеромв, init скрипт проверяет установлены ли вордпрессы. Если нет - устанавливает и настраивает.

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

Генерация SSL сертификатов:

docker-compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ -d test1.iron.org.ua
docker-compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ -d test2.iron.org.ua

Контейнер certbot при запуске проверяет сертификаты и при необходимости делает renew, после чего останавливается.

Сервисы настроены так, что не выставляют открытые порты наружу (nginx - исключение). Если же порт мускуля торчит наружу, то закрываем вот так:

iptables -I DOCKER-USER -i enp0s5 -d 172.27.0.3 -p tcp --dport 3306 -j DROP

Регультат:

https://test1.iron.org.ua/

https://test2.iron.org.ua/

About

Test task (two wordpress instances)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages