setup php website with nginx role
This commit is contained in:
12
roles/php-fpm/handlers/main.yml
Normal file
12
roles/php-fpm/handlers/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
# handlers/main.yml
|
||||
# define handlers here
|
||||
|
||||
#- name: restart <service>
|
||||
# service: name=<service> state=restarted
|
||||
|
||||
#- name: stop <service>
|
||||
# service: name=<service> state=stopped
|
||||
|
||||
- name: restart php
|
||||
service: name=php5-fpm state=restarted
|
||||
30
roles/php-fpm/tasks/main.yml
Normal file
30
roles/php-fpm/tasks/main.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
# tasks/main.yml
|
||||
# define tasks here
|
||||
|
||||
# install packages
|
||||
- name: Ensure dependencies are installed.
|
||||
apt: pkg={{ item }} state=installed
|
||||
with_items:
|
||||
- php5-fpm
|
||||
|
||||
# phalcon
|
||||
- apt_repository: repo='ppa:phalcon/stable' state=present
|
||||
- apt: pkg=php5-phalcon state=installed update_cache=yes
|
||||
|
||||
|
||||
# config
|
||||
|
||||
- name: php.ini setup
|
||||
lineinfile: dest=/etc/php5/fpm/php.ini line='{{ item.line }}' regexp='{{ item.regexp }}'
|
||||
with_items:
|
||||
- { "line":"cgi.fix_pathinfo=0", "regexp":";?cgi.fix_pathinfo=" }
|
||||
notify:
|
||||
- restart php
|
||||
|
||||
- name: pool.d/www.conf setup
|
||||
lineinfile: dest=/etc/php5/fpm/pool.d/www.conf line='{{ item.line }}' regexp='{{ item.regexp }}'
|
||||
with_items:
|
||||
- { "line":"listen = /var/run/php5-fpm.sock", "regexp":";?listen =" }
|
||||
notify:
|
||||
- restart php
|
||||
5
roles/website/defaults/main.yml
Normal file
5
roles/website/defaults/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
# defaults/main.yml
|
||||
# define default variable values here
|
||||
|
||||
server_port: 80
|
||||
7
roles/website/meta/main.yml
Normal file
7
roles/website/meta/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# meta/main.yml
|
||||
# define dependancies here
|
||||
|
||||
dependencies:
|
||||
- {role: nginx }
|
||||
- {role: php-fpm}
|
||||
20
roles/website/tasks/main.yml
Normal file
20
roles/website/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
|
||||
#setup a named webserver on a host
|
||||
|
||||
- name: create symlink
|
||||
file: state=link src="{{ repo }}" dest="{{ server_root }}"
|
||||
|
||||
|
||||
- name: create nginx vhost
|
||||
template: src=nginx.conf.j2 dest=/etc/nginx/sites-available/{{ server_hostname }}.conf
|
||||
notify:
|
||||
- reload nginx
|
||||
|
||||
- name: activate nginx vhost
|
||||
file: state=link src=/etc/nginx/sites-available/{{ server_hostname }}.conf dest=/etc/nginx/sites-enabled/{{ server_hostname }}.conf
|
||||
notify:
|
||||
- reload nginx
|
||||
|
||||
- name: update host file
|
||||
lineinfile: dest=/etc/hosts line='127.0.0.1 {{ server_hostname }}' owner=root group=root mode=0644
|
||||
26
roles/website/templates/nginx.conf.j2
Normal file
26
roles/website/templates/nginx.conf.j2
Normal file
@@ -0,0 +1,26 @@
|
||||
server {
|
||||
listen {{ server_port }};
|
||||
server_name {{ server_hostname }};
|
||||
root {{ server_root }}/public;
|
||||
|
||||
access_log /var/log/nginx/{{ server_hostname }}_access.log;
|
||||
error_log /var/log/nginx/{{ server_hostname }}_error.log;
|
||||
|
||||
index index.php index.html
|
||||
|
||||
error_page 404 /404.html;
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
try_files $uri =404;
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -10,3 +10,9 @@
|
||||
|
||||
roles:
|
||||
- jenkins
|
||||
- {
|
||||
role: website,
|
||||
server_hostname: "htmlgames.xai-corp.net",
|
||||
server_root: "/var/www/{{ server_hostname }}",
|
||||
repo: "/home/richard/Documents/Aptana\ Studio\ 3/xai-corp\ workspace/htmlgames/"
|
||||
}
|
||||
Reference in New Issue
Block a user