diff --git a/docs/rolereference.rst b/docs/rolereference.rst index c73499057ce321a8e5db9b3f4d7f9035da4d87c4..42f68c3185b87f066d40230f4e657143f7dc97cf 100644 --- a/docs/rolereference.rst +++ b/docs/rolereference.rst @@ -855,6 +855,9 @@ The role implements the following: index page. * Deploys the HTTPS TLS private key and certificate (for default vhost). * Configures firewall to allow incoming connections to the web server. +* Installs and configures supervisor, virtualenv, and virtualenvwrapper as a + common base for Python apps. +* Installs and configures PHP FPM as a common base for PHP apps. Parameters diff --git a/roles/web_server/handlers/main.yml b/roles/web_server/handlers/main.yml index 766f63df51e6307cdacb8696c57e38a176c11821..0dcf4940c96701fb1eab95273fefff73c6ac5047 100644 --- a/roles/web_server/handlers/main.yml +++ b/roles/web_server/handlers/main.yml @@ -1,4 +1,7 @@ --- - name: Restart nginx - service: name=nginx state=restarted \ No newline at end of file + service: name=nginx state=restarted + +- name: Restart php5-fpm + service: name=php5-fpm state=restarted \ No newline at end of file diff --git a/roles/web_server/tasks/main.yml b/roles/web_server/tasks/main.yml index 7b383a6dbe195aa55163c5225230bcc73b36f420..e58cd3d62e02cd5118442be925d1b17ee53ab870 100644 --- a/roles/web_server/tasks/main.yml +++ b/roles/web_server/tasks/main.yml @@ -46,4 +46,35 @@ owner=root group=www-data mode=640 - name: Enable nginx service - service: name=nginx enabled=yes state=started \ No newline at end of file + service: name=nginx enabled=yes state=started + +- name: Install base packages for Python web applications + apt: name="{{ item }}" state=installed + with_items: + - supervisor + - virtualenv + - virtualenvwrapper + +- name: Install base packages for PHP web applications + apt: name="{{ item }}" state=installed + with_items: + - php5-fpm + +- name: Enable services used for running web applications + service: name="{{ item }}" enabled=yes state=started + with_items: + - php5-fpm + - supervisor + +- name: Read timezone on server + slurp: src=/etc/timezone + register: server_timezone + +- name: Configure timezone for PHP + template: src="php_timezone.ini.j2" dest="{{ item }}/30-timezone.ini" + owner=root group=root mode=644 + with_items: + - /etc/php5/cli/conf.d/ + - /etc/php5/fpm/conf.d/ + notify: + - Restart php5-fpm \ No newline at end of file diff --git a/roles/web_server/templates/php_timezone.ini.j2 b/roles/web_server/templates/php_timezone.ini.j2 new file mode 100644 index 0000000000000000000000000000000000000000..2fe8a58cca1e9d56f42d9287f568b1a57a2a62f0 --- /dev/null +++ b/roles/web_server/templates/php_timezone.ini.j2 @@ -0,0 +1 @@ +date.timezone = '{{ server_timezone.content | b64decode | trim }}' diff --git a/testsite/group_vars/all.yml b/testsite/group_vars/all.yml index 452fbfdd3f024a72333fd880e8276c038fa714d9..d075af6de1d7dc015a1315f70e7175a21c8b6d2d 100644 --- a/testsite/group_vars/all.yml +++ b/testsite/group_vars/all.yml @@ -26,6 +26,7 @@ common_packages: - emacs24-nox - screen - debconf-utils + - colordiff ca_certificates: - "{{ inventory_dir }}/tls/example_ca_chain.pem"