summaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorHorus2016-03-03 18:19:53 +0100
committerHorus2016-03-03 18:19:53 +0100
commitdd78bf4d1684f9d12db807dc4e1f05721777f484 (patch)
treec8b737ab262a76ab519a525e0ff3c0030ffdf8c1 /resources
parent1e6a26da090dd3ed4bc470e04e94260def18fa9b (diff)
downloadgospeladlershof.de-dd78bf4d1684f9d12db807dc4e1f05721777f484.tar.gz
Fügt die nginx.conf und den crontab hinzu.
Diffstat (limited to 'resources')
-rw-r--r--resources/crontab1
-rw-r--r--resources/gospeladlershof.conf26
-rw-r--r--resources/probentermine.lua97
-rw-r--r--resources/www.gospeladlershof.conf87
4 files changed, 211 insertions, 0 deletions
diff --git a/resources/crontab b/resources/crontab
new file mode 100644
index 0000000..388f756
--- /dev/null
+++ b/resources/crontab
@@ -0,0 +1 @@
+02 20 * * 1 cd /home/horus/sites/gospeladlershof.de && make -s 2>&1 | mail -s 'Hugo: gospeladlershof.de' status@iamfabulous.de
diff --git a/resources/gospeladlershof.conf b/resources/gospeladlershof.conf
new file mode 100644
index 0000000..5ca0cf7
--- /dev/null
+++ b/resources/gospeladlershof.conf
@@ -0,0 +1,26 @@
+server {
+ listen 80;
+ listen 443 ssl spdy;
+
+ #listen [::]:80;
+ #listen [::]:443 ssl spdy;
+
+ server_name gospeladlershof.de;
+
+ access_log /var/log/nginx/gospeladlershof.de/redirect.access.log verbose;
+ error_log /var/log/nginx/gospeladlershof.de/redirect.error.log;
+
+ include /etc/nginx/conf.d/nginx_conf/block_crawler;
+ include /etc/nginx/conf.d/nginx_conf/block_facebook;
+ include /etc/nginx/conf.d/nginx_conf/ssl_conf;
+ include /etc/nginx/conf.d/nginx_conf/robots.conf;
+
+ ssl_certificate /var/lib/acme/live/gospeladlershof.de/fullchain;
+ ssl_certificate_key /var/lib/acme/live/gospeladlershof.de/privkey;
+
+ include snippets/letsencrypt.conf;
+
+ location / {
+ return 302 $scheme://www.gospeladlershof.de$request_uri;
+ }
+}
diff --git a/resources/probentermine.lua b/resources/probentermine.lua
new file mode 100644
index 0000000..9f33a65
--- /dev/null
+++ b/resources/probentermine.lua
@@ -0,0 +1,97 @@
+function print_response(konzert, proben, status_code)
+ ngx.status = status_code
+ local cjson = require "cjson"
+ konzert, err = cjson.encode(konzert)
+ proben, err = cjson.encode(proben)
+ if not konzert and not proben then
+ status_code = 500
+ konzert = err
+ proben = err
+ end
+
+ local now = ngx.localtime()
+
+ if status_code > 399 then
+ -- nginx error
+ ngx.print("{\"success\": false, \"error\": \"" .. konzert .. "\", \"build\": \"" .. now .. "\"}")
+ else
+ -- success
+ ngx.print("{\"success\": true , \"konzert\": " .. konzert .. ", \"proben\": " .. proben .. ", \"build\":\"" .. now .. "\"}")
+ end
+
+ ngx.exit(status_code)
+end
+
+function success_msg(msg)
+ print_response(msg, 200)
+end
+
+function connect()
+ local mysql = require "resty.mysql"
+ local db, err = mysql:new()
+ if not db then
+ print_response("failed to instantiate mysql: " .. err, 500)
+ end
+ db:set_timeout(1000) -- 1 sec
+
+ local ok, err, errno, sqlstate = db:connect{
+ -- put your config here
+ host = "",
+ port = 3306,
+ database = "",
+ user = "",
+ password = "",
+ max_packet_size = 1024*1024
+ }
+
+ if not ok then
+ print_response("failed to connect: " .. err .. ": " .. errno .. " " .. sqlstate, nil, 500 )
+ end
+
+ local res, err, errcode, sqlstate = db:query("SET names utf8;")
+ if err or not res then
+ print_response("failed to set names: " .. err , nil, 500 )
+ end
+
+ return db
+end
+
+function probentermine(db)
+ local sql = 'select termin, uhrzeit from proben where date(STR_TO_DATE(termin, "%d.%m.%Y")) > (SELECT CURDATE() );'
+ res, err, errno, sqlstate = db:query(sql)
+ if not res or err then
+ return nil, err
+ end
+
+ return res, nil
+end
+
+function konzerttermin(db)
+ local sql = 'select termin,uhrzeit,beschreibung,anfahrt from konzert order by id desc limit 1;';
+ res, err, errno, sqlstate = db:query(sql)
+ if not res or err then
+ return nil, err
+ end
+
+ return res, nil
+end
+
+function close(db)
+ local ok, err = db:close()
+ if not ok then
+ return err
+ end
+
+ return nil
+end
+
+local cjson = require "cjson"
+
+local db = connect()
+
+local konzert = konzerttermin(db)
+local termine = probentermine(db)
+
+close(db)
+
+print_response(konzert, termine, 200)
diff --git a/resources/www.gospeladlershof.conf b/resources/www.gospeladlershof.conf
new file mode 100644
index 0000000..9643cbb
--- /dev/null
+++ b/resources/www.gospeladlershof.conf
@@ -0,0 +1,87 @@
+server {
+ listen 80;
+ listen 443 ssl;
+ include snippets/letsencrypt.conf;
+ server_name www.gospeladlershof.de;
+ root /var/www/gospeladlershof.de/gospeladlershof.de;
+
+ access_log /var/log/nginx/gospeladlershof.de/www.access.log verbose;
+ error_log /var/log/nginx/gospeladlershof.de/www.error.log;
+
+ index index.html;
+
+ include /etc/nginx/conf.d/nginx_conf/ssl_conf;
+ ssl_certificate /var/lib/acme/live/www.gospeladlershof.de/fullchain;
+ ssl_certificate_key /var/lib/acme/live/www.gospeladlershof.de/privkey;
+ #include conf.d/nginx_conf/robots.conf;
+
+ error_page 404 /404.html;
+
+ location ~* \.(jpe?g|png|gif|css|js|swf|txt|ico|woff2?|ttf|svg)$ {
+ # expires 365d;
+ expires 10m;
+ }
+
+
+ location = /termine.json {
+ root /var/www/gospeladlershof.de/intern/json;
+ }
+ location = /termine.lua{
+ charset_types 'application/json';
+ charset UTF-8;
+ default_type application/json;
+ content_by_lua_file '/etc/nginx/scripts/probentermine.lua';
+ }
+
+ location ~ ^/api/v1/{
+ rewrite ^/api/v1/([a-zA-Z]+)/? /intern/api/$1.php last;
+ }
+
+ location /intern/api {
+ root /var/www/gospeladlershof.de;
+ location ~ \.php$ {
+ include snippets/fastcgi-php.conf;
+ fastcgi_read_timeout 300;
+ fastcgi_pass unix:/var/run/php5-fpm.sock;
+ }
+ }
+
+ # pagespeed
+
+ pagespeed on;
+ include /etc/nginx/conf.d/nginx_conf/pagespeed.conf;
+
+ pagespeed EnableFilters remove_comments;
+ pagespeed EnableFilters collapse_whitespace;
+ pagespeed EnableFilters rewrite_css;
+ pagespeed XHeaderValue "Very fast";
+ pagespeed EnableFilters responsive_images,resize_images;
+ pagespeed EnableFilters move_css_above_scripts;
+ pagespeed EnableFilters defer_javascript;
+ pagespeed EnableFilters convert_meta_tags;
+ pagespeed EnableFilters elide_attributes;
+ pagespeed EnableFilters extend_cache;
+ pagespeed EnableFilters inline_import_to_link;
+ pagespeed EnableFilters inline_css;
+ pagespeed EnableFilters inline_google_font_css;
+ pagespeed FetchHttps enable;
+ pagespeed EnableFilters inline_javascript;
+
+ pagespeed EnableFilters inline_preview_images;
+ pagespeed EnableFilters resize_mobile_images;
+ pagespeed EnableFilters insert_image_dimensions;
+ pagespeed EnableFilters lazyload_images;
+ pagespeed EnableFilters local_storage_cache;
+ pagespeed EnableFilters responsive_images_zoom;
+ pagespeed EnableFilters move_css_above_scripts;
+ pagespeed EnableFilters move_css_to_head;
+ pagespeed EnableFilters rewrite_images;
+ pagespeed EnableFilters insert_dns_prefetch;
+ pagespeed EnableFilters prioritize_critical_css;
+ pagespeed EnableFilters rewrite_style_attributes_with_url;
+ pagespeed EnableFilters sprite_images;
+
+ include conf.d/nginx_conf/restrict.conf;
+
+}
+