Add owncloud and prevent nginx from dotdeb
parent
8fb3829860
commit
26c93c9315
|
@ -110,3 +110,10 @@ nginx_ssl_pairs: []
|
|||
nginx_dh: null
|
||||
nginx_dh_path: '{{ nginx_ssl_dir }}/dhparam.pem'
|
||||
nginx_dh_length: 2048
|
||||
|
||||
# Extra
|
||||
|
||||
# Note:
|
||||
# - On Debian, if you use Owncloud from Upstream repository, you must set this var to "/var/www/owncloud"
|
||||
# - TODO: force this var in vars/FreeBSD.yml
|
||||
nginx_owncloud_root: '/usr/share/owncloud'
|
||||
|
|
|
@ -41,6 +41,7 @@ Templates
|
|||
- `_dokuwiki`
|
||||
- `_redirect`: should not be called explicitly
|
||||
- `_nagios3`: access to Nagios3 (be careful: you need to install [fcgiwrap](https://packages.debian.org/jessie/fcgiwrap))
|
||||
- `_owncloud`: access to Owncloud (note: you must set `nginx_apt_package` to //nginx-extras//)
|
||||
- `_phalcon`: Phalcon PHP Framework
|
||||
- `_php`: PHP base template. Can work with many frameworks/tools
|
||||
- `_php_index`: Same as above. But you can only run index.php
|
||||
|
|
|
@ -50,11 +50,13 @@ server {
|
|||
index {{ item.index | default('index.html index.htm') }};
|
||||
{% endblock %}
|
||||
|
||||
{% block template_more %}
|
||||
{% if item.more is defined and item.more is iterable %}
|
||||
{% for line in item.more %}
|
||||
{{ line }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% if item.htpasswd is defined %}
|
||||
{{ htpasswd(item.htpasswd, 1) }}
|
||||
|
@ -81,6 +83,19 @@ server {
|
|||
{% block template_custom_location %}
|
||||
{% endblock %}
|
||||
|
||||
{% if __location is iterable and __location | length > 0 %}
|
||||
# --> Custom locations
|
||||
{% for location, opts in __location.iteritems() %}
|
||||
location {{ location }} {
|
||||
{% for opt in opts %}
|
||||
{% if opt.htpasswd is defined %}{{ htpasswd(opt.htpasswd, 2) }}{% else %}
|
||||
{{ opt }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
{% endfor %} # <-- Custom locations
|
||||
{% endif %}
|
||||
|
||||
{% block template_local_content %}
|
||||
{% if item.manage_local_content is not defined or item.manage_local_content %}
|
||||
location ~ /\.ht {
|
||||
|
@ -100,19 +115,6 @@ server {
|
|||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% if __location is iterable and __location | length > 0 %}
|
||||
# --> Custom locations
|
||||
{% for location, opts in __location.iteritems() %}
|
||||
location {{ location }} {
|
||||
{% for opt in opts %}
|
||||
{% if opt.htpasswd is defined %}{{ htpasswd(opt.htpasswd, 2) }}{% else %}
|
||||
{{ opt }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
{% endfor %} # <-- Custom locations
|
||||
{% endif %}
|
||||
|
||||
{% if item.use_access_log is defined %}
|
||||
{% if item.use_access_log %}
|
||||
access_log {{ nginx_log_dir }}/{{ __main_name }}_access.log combined;
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
{% extends "_php.j2" %}
|
||||
|
||||
{% block root %}
|
||||
root {{ nginx_owncloud_root }};
|
||||
{% endblock %}
|
||||
|
||||
{% block template_index %}
|
||||
index index.php;
|
||||
{% endblock %}
|
||||
|
||||
{% block more %}
|
||||
error_page 403 /core/templates/403.php;
|
||||
error_page 404 /core/templates/404.php;
|
||||
gzip off;
|
||||
client_max_body_size 10G;
|
||||
fastcgi_buffers 64 4K;
|
||||
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
|
||||
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
|
||||
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
|
||||
{% endblock %}
|
||||
|
||||
{% block template_headers %}
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Robots-Tag none;
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-Download-Options noopen;
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
{% endblock %}
|
||||
|
||||
{% block template_upstream_location %}
|
||||
location ~ /remote.php {
|
||||
dav_methods PUT DELETE MKCOL COPY MOVE;
|
||||
dav_ext_methods PROPFIND OPTIONS;
|
||||
fastcgi_pass {{ php_upstream }};
|
||||
fastcgi_param HOME /var/www/owncloud;
|
||||
fastcgi_param HTTP_HOME /var/www/owncloud;
|
||||
fastcgi_param PATH /usr/local/bin:/usr/bin:/bin;
|
||||
fastcgi_param modHeadersAvailable true;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
{% if nginx_version.stdout | version_compare('1.6.1', 'lt') %}
|
||||
include fastcgi_params;
|
||||
{% else %}
|
||||
include fastcgi.conf;
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass {{ php_upstream }};
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param HOME /var/www/owncloud;
|
||||
fastcgi_param HTTP_HOME /var/www/owncloud;
|
||||
fastcgi_param PATH /usr/local/bin:/usr/bin:/bin;
|
||||
fastcgi_param modHeadersAvailable true;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
{% if nginx_version.stdout | version_compare('1.6.1', 'lt') %}
|
||||
include fastcgi_params;
|
||||
{% else %}
|
||||
include fastcgi.conf;
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
location ~* \.(?:css|js)$ {
|
||||
try_files $uri /index.php$uri$is_args$args;
|
||||
add_header Cache-Control "public, max-age=7200";
|
||||
expires 2h;
|
||||
access_log off;
|
||||
}
|
||||
{% endblock %}
|
|
@ -1,10 +1,11 @@
|
|||
---
|
||||
|
||||
- name: APT | Install web apps
|
||||
apt: pkg={{ item }} state=present
|
||||
apt: pkg={{ item }} state=present install_recommends=no
|
||||
with_items:
|
||||
- nagios3
|
||||
- backuppc
|
||||
- nagios3
|
||||
- owncloud
|
||||
|
||||
- name: SERVICE | Ensure backuppc is started
|
||||
service: name=backuppc state=started
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
apt_key: url='http://www.dotdeb.org/dotdeb.gpg' state=present
|
||||
- name: APT_REPOSITORY | Install dotdeb (PHP 7)
|
||||
apt_repository: repo='deb http://packages.dotdeb.org {{ ansible_distribution_release }} all' state=present
|
||||
- name: LINEFILEFILE | Dotdeb priority (prevent install nginx from dotdeb)
|
||||
copy: >
|
||||
content="Package: *\nPin: release o=packages.dotdeb.org\nPin-Priority: 100"
|
||||
dest=/etc/apt/preferences
|
||||
when: ansible_distribution_release == 'jessie'
|
||||
|
||||
- name: APT | Install needed packages
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
int_ansible_ssl_dir: '/etc/ansible-ssl'
|
||||
# Role vars
|
||||
nginx_worker_processes: 1 # Ansible+FreeBSD can't detect CPU number
|
||||
nginx_apt_package: 'nginx-extras'
|
||||
nginx_backports: true
|
||||
nginx_php5: true
|
||||
nginx_php7: true
|
||||
|
@ -189,6 +190,8 @@
|
|||
template: '_base'
|
||||
ssl_name: 'test-ssl.local'
|
||||
redirect_https: true
|
||||
- name: 'owncloud.local'
|
||||
template: '_owncloud'
|
||||
nginx_dh_length: 1024
|
||||
roles:
|
||||
- ../../
|
||||
|
|
|
@ -28,9 +28,10 @@ nginx_dirs:
|
|||
- "{{ nginx_helper_dir }}"
|
||||
|
||||
nginx_templates_no_dir:
|
||||
- '_proxy'
|
||||
- '_nagios3'
|
||||
- '_backuppc'
|
||||
- '_nagios3'
|
||||
- '_owncloud'
|
||||
- '_proxy'
|
||||
|
||||
nginx_upstream_php5: 'php5'
|
||||
nginx_upstream_php7: 'php7'
|
||||
|
|
Loading…
Reference in New Issue