공부합시다!/Ansible
Ansible: nginx + wordpress
간서치
2023. 6. 14. 17:31
728x90
nginx + wordpress
1. code
---
- name: nginx & wordpress & php-fpm
hosts: nginx
tasks:
- name: package install
yum:
name:
- wget
- yum-utils
- epel-release
state: present
ignore_errors: yes
- name: nginx package install
yum:
name: nginx
state: present
ignore_errors: yes
- name: url download wordpress
get_url:
url: https://ko.wordpress.org/wordpress-5.8.6-ko_KR.tar.gz
dest: ./
- name: archive & unzip
unarchive:
src: wordpress-5.8.6-ko_KR.tar.gz
dest: ./
remote_src: yes
- name: copy wordpress file
copy:
src: ./wordpress/
dest: /usr/share/nginx/html/
remote_src: yes
- name: wp-config-sample.php -> wp-config.php
copy:
src: /usr/share/nginx/html/wp-config-sample.php
dest: /usr/share/nginx/html/wp-config.php
remote_src: yes
- name: php repository install
yum:
name: http://rpms.remirepo.net/enterprise/remi-release-7.rpm
state: present
ignore_errors: yes
- name: enable php7.4
shell: yum-config-manager --enable remi-php74
- name: php7.4 install
yum:
name:
- php
- php-cli
- php-curl
- php-opcache
- php-mcrypt
- php-common
- php-mysqlnd
- php-gd
- php-fpm
state: present
- name: www.conf fixed
lineinfile:
path: /etc/php-fpm.d/www.conf
regexp: "{{ item.src }}"
line: "{{ item.dest }}"
loop:
- { src: 'user = apache', dest: 'user = nginx' }
- { src: 'group = apache', dest: 'group = nginx' }
- { src: 'listen.owner = nobody', dest: 'listen.owner = nginx' }
- { src: 'listen.group = nobody', dest: 'listen.group = nginx' }
- { src: 'listen = 127.0.0.1:9000', dest: 'listen = /run/php-fpm/www.sock' }
- name: nginx.conf fixed
blockinfile:
path: /etc/nginx/nginx.conf
insertbefore: '^(\s+error_page+\s)404 /404.html;'
block: |
# babo
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- name: wp-config.php fixed
replace:
path: /usr/share/nginx/html/wp-config.php
regexp: "{{ item.src }}"
replace: "{{ item.dest }}"
loop:
- { src: 'database_name_here', dest: 'wordpress' }
- { src: 'username_here', dest: 'root' }
- { src: 'password_here', dest: 'It12345@' }
- { src: 'localhost', dest: '10.0.0.4' }
- name:
systemd:
name: "{{ item }}"
state: started
enabled: yes
loop:
- php-fpm
- nginx
- name:
firewalld:
port: 80/tcp
state: enabled
permanent: yes
immediate: yes
2. 작성코드
728x90