diff --git a/roles/php-fpm/handlers/main.yml b/roles/php-fpm/handlers/main.yml new file mode 100644 index 0000000..4651556 --- /dev/null +++ b/roles/php-fpm/handlers/main.yml @@ -0,0 +1,12 @@ +--- +# handlers/main.yml +# define handlers here + +#- name: restart +# service: name= state=restarted + +#- name: stop +# service: name= state=stopped + +- name: restart php + service: name=php5-fpm state=restarted \ No newline at end of file diff --git a/roles/php-fpm/tasks/main.yml b/roles/php-fpm/tasks/main.yml new file mode 100644 index 0000000..e3b8d59 --- /dev/null +++ b/roles/php-fpm/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/website/defaults/main.yml b/roles/website/defaults/main.yml new file mode 100644 index 0000000..5d4e165 --- /dev/null +++ b/roles/website/defaults/main.yml @@ -0,0 +1,5 @@ +--- +# defaults/main.yml +# define default variable values here + +server_port: 80 diff --git a/roles/website/meta/main.yml b/roles/website/meta/main.yml new file mode 100644 index 0000000..c695e3d --- /dev/null +++ b/roles/website/meta/main.yml @@ -0,0 +1,7 @@ +--- +# meta/main.yml +# define dependancies here + +dependencies: + - {role: nginx } + - {role: php-fpm} diff --git a/roles/website/tasks/main.yml b/roles/website/tasks/main.yml new file mode 100644 index 0000000..f319c09 --- /dev/null +++ b/roles/website/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/website/templates/nginx.conf.j2 b/roles/website/templates/nginx.conf.j2 new file mode 100644 index 0000000..100c4db --- /dev/null +++ b/roles/website/templates/nginx.conf.j2 @@ -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; + + } +} \ No newline at end of file diff --git a/xai-corp1.test.yml b/xai-corp1.test.yml index f29cfc9..55dfe9a 100644 --- a/xai-corp1.test.yml +++ b/xai-corp1.test.yml @@ -9,4 +9,10 @@ - openjdk-7-jdk roles: - - jenkins \ No newline at end of file + - 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/" + } \ No newline at end of file