about summary refs log tree commit diff stats
path: root/tools/conf/etc/nginx/sites-enabled/email.conf
blob: 5b34d7cb367b16f43aa8e92abc6d5291add68f14 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
server {
    listen 8080;
    server_name email.server.ank;

    access_log syslog:server=unix:/dev/log,facility=daemon,tag=nginx_email,nohostname main;
    error_log syslog:server=unix:/dev/log,facility=daemon,tag=nginx_email_err,nohostname debug;

    location /email {
        alias /srv/www/email;
        index index.php;
        autoindex off;
    }

    # Favicon
    location ~ ^/email/favicon.ico$ {
        root /srv/www/email/skins/classic/images;
        log_not_found off;
        access_log off;
        expires max;
    }

    # Robots file
    location ~ ^/email/robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # Deny Protected directories
    location ~ ^/email/(config|temp|logs)/ {
        deny all;
    }

    location ~ ^/email/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
        deny all;
    }

    location ~ ^/email/(bin|SQL)/ {
        deny all;
    }

    # Hide .md files
    location ~ ^/email/(.+\.md)$ {
        deny all;
    }

    # Hide all dot files
    location ~ ^/email/\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~  /email/.*\.php {
        alias /srv/www/email;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        try_files $uri /index.php =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
    }
}