darexsu.lemp
Rola Ansible LEMP
- Rola:
- Playbooki (wersja scalania):
- Playbooki (wersja pełna):
Platformy
Platformy | Testowanie |
---|---|
Debian 11 | :heavy_check_mark: |
Debian 10 | :heavy_check_mark: |
Ubuntu 20.04 | :heavy_check_mark: |
Ubuntu 18.04 | :heavy_check_mark: |
Oracle Linux 8 | :heavy_check_mark: |
Rocky Linux 8 | :heavy_check_mark: |
Instalacja
ansible-galaxy install darexsu.lemp --force
Wymagania
role: Nginx, MariaDB, MySQL, PHP, FirewallD (zostanie zainstalowane automatycznie)
Zachowanie scalania
Zastąp lub scal słowniki (z "hash_behaviour=replace" w ansible.cfg):
# Zastąp # Scal
--- ---
vars: vars:
dict: merge:
a: "value" dict:
b: "value" a: "value"
b: "value"
# Jak działa scalanie?
Twoje zmienne [host_vars] --> domyślne zmienne [bieżąca rola] --> domyślne zmienne [rola dołączona]
dict: dict: dict:
a: "1" --> a: "1" --> a: "1"
b: "2" --> b: "2"
c: "3"
Instalacja i konfiguracja: LEMP z MariaDB (wersja scalania)
---
- hosts: all
become: true
vars:
merge:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
# Nginx -> instalacja
nginx_install:
enabled: true
# Nginx -> konfiguracja -> nginx.conf
nginx_conf:
enabled: true
# Nginx -> konfiguracja -> {virtualhost}.conf
nginx_virtualhost:
default_conf:
enabled: true
# MariaDB
mariadb:
enabled: true
mariadb_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
# PHP -> konfiguracja -> php.fpm
php_fpm:
www_conf:
enabled: true
# FirewallD
firewalld:
enabled: true
# FirewallD -> zasady
firewalld_rules:
service_http:
enabled: true
service_https:
enabled: true
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja i konfiguracja: LEMP z MySQL (wersja scalania)
---
- hosts: all
become: true
vars:
merge:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
# Nginx -> instalacja
nginx_install:
enabled: true
# Nginx -> konfiguracja -> nginx.conf
nginx_conf:
enabled: true
# Nginx -> konfiguracja -> {virtualhost}.conf
nginx_virtualhost:
default_conf:
enabled: true
# MySQL
mysql:
enabled: true
# MySQL -> instalacja
mysql_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
# PHP -> konfiguracja -> php.fpm
php_fpm:
www_conf:
enabled: true
# FirewallD
firewalld:
enabled: true
# FirewallD -> zasady
firewalld_rules:
service_http:
enabled: true
service_https:
enabled: true
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja: LEMP z MariaDB (wersja scalania)
---
- hosts: all
become: true
vars:
merge:
# LEMP
lemp:
enabled: true
# Nginx
nginx:
enabled: true
# Nginx -> instalacja
nginx_install:
enabled: true
# MariaDB
mariadb:
enabled: true
# MariaDB -> instalacja
mariadb_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja: LEMP z MySQL (wersja scalania)
---
- hosts: all
become: true
vars:
merge:
# LEMP
lemp:
enabled: true
# Nginx
nginx:
enabled: true
# Nginx -> instalacja
nginx_install:
enabled: true
# MySQL
mysql:
enabled: true
# MySQL -> instalacja
mysql_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja i konfiguracja: LEMP z MariaDB (wersja pełna)
---
- hosts: all
become: true
vars:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
repo: "nginx"
service:
enabled: true
state: "started"
# Nginx -> instalacja
nginx_install:
enabled: true
# Nginx -> konfiguracja -> nginx.conf
nginx_conf:
enabled: true
file: "nginx.conf"
src: "nginx_conf.j2"
backup: false
data:
user: "www-data"
worker_processes: "auto"
error_log: "/var/log/nginx/error.log notice"
pidfile: "/var/run/nginx.pid"
worker_connections: "1024"
multi_accept: "off"
mime_file_path: "/etc/nginx/mime.types"
access_log: "/var/log/nginx/access.log"
sendfile: "off"
tcp_nopush: "off"
tcp_nodelay: "on"
keepalive_timeout: "75s"
keepalive_requests: "1000"
# Nginx -> konfiguracja -> {virtualhost}.conf
nginx_virtualhost:
default_conf:
enabled: true
file: "default.conf"
state: "present"
src: "nginx_virtualhost.j2"
backup: false
data:
listen_port: "80"
listen_ipv6: false
server_name: "{{ lemp.domen }}"
root: "{{ lemp.project_dir }}"
index: "index.html index.htm index.php"
error_page: ""
access_log: false
error_log: false
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
# MariaDB
mariadb:
enabled: true
repo: "mariadb"
version: "10.5"
service:
state: "started"
enabled: true
# MariaDB -> instalacja
mariadb_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
# PHP -> konfiguracja -> php.fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: false
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja i konfiguracja: LEMP z MySQL (wersja pełna)
---
- hosts: all
become: true
vars:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
repo: "nginx"
service:
enabled: true
state: "started"
# Nginx -> instalacja
nginx_install:
enabled: true
# Nginx -> konfiguracja -> nginx.conf
nginx_conf:
enabled: true
file: "nginx.conf"
src: "nginx_conf.j2"
backup: false
data:
user: "www-data"
worker_processes: "auto"
error_log: "/var/log/nginx/error.log notice"
pidfile: "/var/run/nginx.pid"
worker_connections: "1024"
multi_accept: "off"
mime_file_path: "/etc/nginx/mime.types"
access_log: "/var/log/nginx/access.log"
sendfile: "off"
tcp_nopush: "off"
tcp_nodelay: "on"
keepalive_timeout: "75s"
keepalive_requests: "1000"
# Nginx -> konfiguracja -> {virtualhost}.conf
nginx_virtualhost:
default_conf:
enabled: true
file: "default.conf"
state: "present"
src: "nginx_virtualhost.j2"
backup: false
data:
listen_port: "80"
listen_ipv6: false
server_name: "{{ lemp.domen }}"
root: "{{ lemp.project_dir }}"
index: "index.html index.htm index.php"
error_page: ""
access_log: false
error_log: false
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
# MySQL
mysql:
enabled: true
repo: "mysql"
version: "8.0"
service:
state: "started"
enabled: true
# MySQL -> instalacja
mysql_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
# PHP -> konfiguracja -> php.fpm
php_fpm:
www_conf:
enabled: true
file: "www.conf"
state: "present"
src: "php_fpm.j2"
backup: false
data:
webserver_user: "www-data"
webserver_group: "www-data"
pm: "dynamic"
pm_max_children: "10"
pm_start_servers: "5"
pm_min_spare_servers: "5"
pm_max_spare_servers: "5"
pm_max_requests: "500"
tcp_ip_socket:
enabled: false
listen: "127.0.0.1:9000"
unix_socket:
enabled: true
file: "php{{ php.version }}-fpm.sock"
user: "www-data"
group: "www-data"
# FirewallD
firewalld:
enabled: true
service:
enabled: true
state: "started"
# FirewallD -> zasady
firewalld_rules:
service_http:
enabled: true
zone: "public"
state: "enabled"
service: "http"
permanent: true
immediate: true
service_https:
enabled: true
zone: "public"
state: "enabled"
service: "https"
permanent: true
immediate: true
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja: LEMP z MariaDB (wersja pełna)
---
- hosts: all
become: true
vars:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
repo: "nginx"
service:
enabled: true
state: "started"
# Nginx -> instalacja
nginx_install:
enabled: true
# MariaDB
mariadb:
enabled: true
repo: "mariadb"
version: "10.5"
service:
state: "started"
enabled: true
# MariaDB -> instalacja
mariadb_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Instalacja: LEMP z MySQL (wersja pełna)
---
- hosts: all
become: true
vars:
# LEMP
lemp:
enabled: true
domen: "example.site"
project_dir: "/usr/share/nginx/html/"
# Nginx
nginx:
enabled: true
repo: "nginx"
service:
enabled: true
state: "started"
# Nginx -> instalacja
nginx_install:
enabled: true
# MySQL
mysql:
enabled: true
repo: "mysql"
version: "8.0"
service:
state: "started"
enabled: true
# MySQL -> instalacja
mysql_install:
enabled: true
# PHP
php:
enabled: true
version: "7.4"
repo: "third_party"
service:
enabled: true
state: "started"
# PHP -> instalacja
php_install:
enabled: true
modules: [common, fpm]
tasks:
- name: rola darexsu lemp
include_role:
name: darexsu.lemp
Zainstaluj
ansible-galaxy install darexsu.lemp
Licencja
mit
Pobrania
355
Właściciel