From 61a1a6d85811be02a7ba703bc59648dd99569c32 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 10 Feb 2016 01:27:31 +0100 Subject: [PATCH 01/16] In public server postinstall, set htwtxt binary bind capability. --- jessie_postinstall.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 02e4e23..939d6a4 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -221,6 +221,8 @@ if [ "$1" = "server" ]; then su - plom -c 'git clone '\ 'https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' su - plom -c 'go get htwtxt' + path=`su - plom -c 'echo $GOPATH/bin/htwtxt'` + setcap 'cap_net_bind_service=+ep' $path su - plom -c 'mkdir ~/htwtxt' fi -- 2.30.2 From a6ee79ea22470391a56463aa6f077cd690429574 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 10 Feb 2016 01:29:10 +0100 Subject: [PATCH 02/16] postinstall script: Only call dhclient in thinkpad. --- jessie_postinstall.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 939d6a4..06d95f2 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -97,7 +97,9 @@ if [ "$1" = "thinkpad" ] || [ "$2" = "public" ]; then echo 'APT::Default-Release "stable";' \ >> /etc/apt/apt.conf.d/99defaultrelease fi -dhclient eth0 +if [ "$1" = "thinkpad" ]; then + dhclient eth0 +fi apt-get update apt-get -y dist-upgrade -- 2.30.2 From fb568df9a1034b8fc59b9bf995c2cbc907d6c3c9 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 10 Feb 2016 02:21:59 +0100 Subject: [PATCH 03/16] In twtxt postinstall config, also install GNU screen. --- jessie_postinstall.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 06d95f2..da07144 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -219,6 +219,7 @@ if [ "$1" = "server" ]; then elif [ "$2" = "public" ]; then # Set up twtxt environment. + apt-get -y install screen apt-get -y -t jessie-backports install golang su - plom -c 'git clone '\ 'https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' -- 2.30.2 From de237aa731553175631965ddec021efa2c64bd35 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 01:18:39 +0200 Subject: [PATCH 04/16] More lenient directory creation. --- jessie_postinstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index da07144..76a75f6 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -226,7 +226,7 @@ if [ "$1" = "server" ]; then su - plom -c 'go get htwtxt' path=`su - plom -c 'echo $GOPATH/bin/htwtxt'` setcap 'cap_net_bind_service=+ep' $path - su - plom -c 'mkdir ~/htwtxt' + su - plom -c 'mkdir -p ~/htwtxt' fi elif [ "$1" = "thinkpad" ]; then -- 2.30.2 From f8073e8d4fcdf26a45f989333a3f7a7114b1e131 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 01:26:02 +0200 Subject: [PATCH 05/16] Change vimrc_add defaults. --- dotfiles/root/vimrc_add | 0 dotfiles/user/server/minimal/vimrc_add | 0 dotfiles/{ => user/thinkpad}/minimal/vimrc_add | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dotfiles/root/vimrc_add create mode 100644 dotfiles/user/server/minimal/vimrc_add rename dotfiles/{ => user/thinkpad}/minimal/vimrc_add (100%) diff --git a/dotfiles/root/vimrc_add b/dotfiles/root/vimrc_add new file mode 100644 index 0000000..e69de29 diff --git a/dotfiles/user/server/minimal/vimrc_add b/dotfiles/user/server/minimal/vimrc_add new file mode 100644 index 0000000..e69de29 diff --git a/dotfiles/minimal/vimrc_add b/dotfiles/user/thinkpad/minimal/vimrc_add similarity index 100% rename from dotfiles/minimal/vimrc_add rename to dotfiles/user/thinkpad/minimal/vimrc_add -- 2.30.2 From 87eecf3419b99154b80081c7cfd6e074200c3712 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 01:29:44 +0200 Subject: [PATCH 06/16] Extend mailfilters. --- dotfiles/user/server/minimal/mailfilter | 7 +++++++ dotfiles/user/server/personal/minimal/procmailrc | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/dotfiles/user/server/minimal/mailfilter b/dotfiles/user/server/minimal/mailfilter index ce117f7..b8f3e1c 100644 --- a/dotfiles/user/server/minimal/mailfilter +++ b/dotfiles/user/server/minimal/mailfilter @@ -1,6 +1,13 @@ DEFAULT="$HOME/mail/new_inbox/" logfile "$HOME/.mailfilter.log" +if ( /^To: .*heller@talon\.one.*/:D || /^Subject: .*Talon*/:D ) +{ + DIR="$HOME/mail/talonone/" + `mkdir -p $DIR/{cur,new,tmp}` + to $DIR +} + if ( /^Subject: Postfix SMTP server: errors from /:D && \ /^From: Mail Delivery System /:D && \ /^To: Postmaster /:D ) diff --git a/dotfiles/user/server/personal/minimal/procmailrc b/dotfiles/user/server/personal/minimal/procmailrc index e62fa57..91bcd36 100644 --- a/dotfiles/user/server/personal/minimal/procmailrc +++ b/dotfiles/user/server/personal/minimal/procmailrc @@ -59,6 +59,10 @@ serverlogs/ * ^Subject: ***SPAM*** spam-suspect/ +:0 +* ^Subject: .*talon.* +talonone/ + :0 * ^From: Twitter twitter/ -- 2.30.2 From 4cc4a52d1c18edb81e1f7efc6c070f8aaadb58f3 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 01:30:22 +0200 Subject: [PATCH 07/16] Extend weechatrc. --- dotfiles/user/server/personal/minimal/weechatrc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dotfiles/user/server/personal/minimal/weechatrc b/dotfiles/user/server/personal/minimal/weechatrc index 8bf996e..850262f 100644 --- a/dotfiles/user/server/personal/minimal/weechatrc +++ b/dotfiles/user/server/personal/minimal/weechatrc @@ -6,5 +6,8 @@ /server add localhost localhost /connect localhost /server del freenode -/server add freenode irc.freenode.net -nicks=plomlompom,plomlomp0m,ploml0mp0m,pl0ml0mp0m -realname="Christian Heller" -autojoin=#nodrama.de,#twitter.de,#freie-gesellschaft,#dumme-gesellschaft,#zerozero +/server add freenode irc.freenode.net -nicks=plomlompom,plomlomp0m,ploml0mp0m,pl0ml0mp0m -realname="Christian Heller" -autojoin=#nodrama.de,#twitter.de,#freie-gesellschaft,#dumme-gesellschaft,#zerozero,#zrolaps,#twtxt +/server add rizon irc.rizon.net -nicks=AlfredEdel,AlfredEde1,A1fredEdel,A1fredEde1 -autojoin=#8chan-deutsch,#mememagic -username=foo +/server add quakenet irc.quakenet.org -nicks=plomlompom,plomlomp0m,ploml0mp0m,pl0ml0mp0m -realname="Christian Heller" -autojoin=#rgrd /connect freenode +/connect rizon -- 2.30.2 From 0618514bef4ecff4a69bf5312dd7a75073be0859 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 02:10:03 +0200 Subject: [PATCH 08/16] Set up htwtxt restart reminder. --- bin/simplemail_out.sh | 9 +++++++++ bin/start_htwtxt.sh | 8 ++++++++ jessie_postinstall.sh | 3 +++ mails/htwtxt_restart | 5 +++++ systemfiles/htwtxt_restart_reminder.service | 12 ++++++++++++ 5 files changed, 37 insertions(+) create mode 100755 bin/simplemail_out.sh create mode 100755 bin/start_htwtxt.sh create mode 100644 mails/htwtxt_restart create mode 100644 systemfiles/htwtxt_restart_reminder.service diff --git a/bin/simplemail_out.sh b/bin/simplemail_out.sh new file mode 100755 index 0000000..8340944 --- /dev/null +++ b/bin/simplemail_out.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# +# This mails to plom@plomlompom.com the message in the file named by the first +# parameter, decoded with the first line as subject and everything below the +# second line as the message body. + +subject=`head -1 $1` +body=`tail -n +3 $1` +echo "$body" | mutt -s "$subject" plom@plomlompom.com diff --git a/bin/start_htwtxt.sh b/bin/start_htwtxt.sh new file mode 100755 index 0000000..14b6a7e --- /dev/null +++ b/bin/start_htwtxt.sh @@ -0,0 +1,8 @@ +#!/bin/sh +htwtxt \ + --contact 'see http://www.plomlompom.de/' \ + --mailport 587 \ + --mailserver smtp.gmail.com \ + --mailuser christian.heller@gmail.com \ + --port 80 \ + --signup diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 76a75f6..5305c14 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -227,6 +227,9 @@ if [ "$1" = "server" ]; then path=`su - plom -c 'echo $GOPATH/bin/htwtxt'` setcap 'cap_net_bind_service=+ep' $path su - plom -c 'mkdir -p ~/htwtxt' + cp config/systemfiles/htwtxt_restart_reminder.service \ + /etc/systemd/system/htwtxt_restart_reminder.service + systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service fi elif [ "$1" = "thinkpad" ]; then diff --git a/mails/htwtxt_restart b/mails/htwtxt_restart new file mode 100644 index 0000000..8247df9 --- /dev/null +++ b/mails/htwtxt_restart @@ -0,0 +1,5 @@ +[SYSADMIN] [HTWTXT] Restart reminder + +The virtual server hosting the htwtxt server was restarted, so the htwtxt server +itself needs to be restarted too, via (in screen) its +~/config/bin/start_htwtxt.sh. diff --git a/systemfiles/htwtxt_restart_reminder.service b/systemfiles/htwtxt_restart_reminder.service new file mode 100644 index 0000000..e8e240d --- /dev/null +++ b/systemfiles/htwtxt_restart_reminder.service @@ -0,0 +1,12 @@ +# /etc/systemd/system/weechat.service + +[Unit] +Description=htwtxt restart reminder + +[Service] +Type=forking +User=plom +ExecStart=/bin/sh -c '~/config/bin/simplemail_out.sh ~/config/mail/htwtxt_restart' + +[Install] +WantedBy=multi-user.target -- 2.30.2 From b89aedf199fa7fd1be4a17e074266bd92760acbb Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 02:18:48 +0200 Subject: [PATCH 09/16] Use $GOPATH/bin/ as path for htwtxt executable. --- bin/start_htwtxt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/start_htwtxt.sh b/bin/start_htwtxt.sh index 14b6a7e..f3543a3 100755 --- a/bin/start_htwtxt.sh +++ b/bin/start_htwtxt.sh @@ -1,5 +1,5 @@ #!/bin/sh -htwtxt \ +$GOPATH/bin/htwtxt \ --contact 'see http://www.plomlompom.de/' \ --mailport 587 \ --mailserver smtp.gmail.com \ -- 2.30.2 From 958cff9c9e9e7136165803050bcfbd091a3717a7 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 30 Mar 2016 02:22:21 +0200 Subject: [PATCH 10/16] Fix fatal typo in config file. --- systemfiles/htwtxt_restart_reminder.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemfiles/htwtxt_restart_reminder.service b/systemfiles/htwtxt_restart_reminder.service index e8e240d..a1e0ad8 100644 --- a/systemfiles/htwtxt_restart_reminder.service +++ b/systemfiles/htwtxt_restart_reminder.service @@ -6,7 +6,7 @@ Description=htwtxt restart reminder [Service] Type=forking User=plom -ExecStart=/bin/sh -c '~/config/bin/simplemail_out.sh ~/config/mail/htwtxt_restart' +ExecStart=/bin/sh -c '~/config/bin/simplemail_out.sh ~/config/mails/htwtxt_restart' [Install] WantedBy=multi-user.target -- 2.30.2 From 1c2241ac775479aa624de08fded54dc2c9b44f87 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Thu, 31 Mar 2016 00:33:07 +0200 Subject: [PATCH 11/16] Add plomlombot to public server. --- jessie_postinstall.sh | 9 +++++++++ systemfiles/plomlombot.service | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 systemfiles/plomlombot.service diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 5305c14..654e7ac 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -218,6 +218,7 @@ if [ "$1" = "server" ]; then config/bin/simplemail.sh config/mails/server_postinstall_finished elif [ "$2" = "public" ]; then + # Set up twtxt environment. apt-get -y install screen apt-get -y -t jessie-backports install golang @@ -230,6 +231,14 @@ if [ "$1" = "server" ]; then cp config/systemfiles/htwtxt_restart_reminder.service \ /etc/systemd/system/htwtxt_restart_reminder.service systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service + + # Set up plomlombot. + apt-get -y python3 python3-venv python3-pip + su - plom -c 'cd && git clone http://github.com/plomlompom/plomlombot-irc' + su - plom -c 'mkdir -p ~/plomlombot_db' + cp config/systemfiles/plomlombot.service \ + /etc/systemd/system/plomlombot.service + systemctl enable /etc/systemd/system/plomlombot.service fi elif [ "$1" = "thinkpad" ]; then diff --git a/systemfiles/plomlombot.service b/systemfiles/plomlombot.service new file mode 100644 index 0000000..c9028bd --- /dev/null +++ b/systemfiles/plomlombot.service @@ -0,0 +1,12 @@ +# /etc/systemd/system/weechat.service + +[Unit] +Description=plomlombot screen + +[Service] +Type=forking +User=plom +ExecStart=/bin/sh -c 'screen -d -m ~/plomlombot-irc/run.sh "#zrolaps"' + +[Install] +WantedBy=multi-user.target -- 2.30.2 From 0832ddd36fa7fc82bad8cae49e3ab474dbfd277c Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Thu, 31 Mar 2016 01:06:02 +0200 Subject: [PATCH 12/16] Fix plomlombot server scripting. --- bin/plomlombot.sh | 3 +++ jessie_postinstall.sh | 2 +- systemfiles/plomlombot.service | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100755 bin/plomlombot.sh diff --git a/bin/plomlombot.sh b/bin/plomlombot.sh new file mode 100755 index 0000000..3ee9073 --- /dev/null +++ b/bin/plomlombot.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd ~/plomlombot-irc +./run.sh "#zrolaps" diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 654e7ac..dfe3643 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -233,7 +233,7 @@ if [ "$1" = "server" ]; then systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service # Set up plomlombot. - apt-get -y python3 python3-venv python3-pip + apt-get -y install python3 python3-venv python3-pip su - plom -c 'cd && git clone http://github.com/plomlompom/plomlombot-irc' su - plom -c 'mkdir -p ~/plomlombot_db' cp config/systemfiles/plomlombot.service \ diff --git a/systemfiles/plomlombot.service b/systemfiles/plomlombot.service index c9028bd..cc666c9 100644 --- a/systemfiles/plomlombot.service +++ b/systemfiles/plomlombot.service @@ -6,7 +6,7 @@ Description=plomlombot screen [Service] Type=forking User=plom -ExecStart=/bin/sh -c 'screen -d -m ~/plomlombot-irc/run.sh "#zrolaps"' +ExecStart=/bin/sh -c 'screen -d -m ~/config/bin/plomlombot.sh' [Install] WantedBy=multi-user.target -- 2.30.2 From dd94bf54d0b5408d9ea6f20ace44768f3734dc6f Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Thu, 31 Mar 2016 01:48:59 +0200 Subject: [PATCH 13/16] Fix encoding issues in plomlombot startup script. --- systemfiles/plomlombot.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemfiles/plomlombot.service b/systemfiles/plomlombot.service index cc666c9..5f4b0eb 100644 --- a/systemfiles/plomlombot.service +++ b/systemfiles/plomlombot.service @@ -1,4 +1,4 @@ -# /etc/systemd/system/weechat.service +# /etc/systemd/system/plomlombot.service [Unit] Description=plomlombot screen @@ -6,7 +6,7 @@ Description=plomlombot screen [Service] Type=forking User=plom -ExecStart=/bin/sh -c 'screen -d -m ~/config/bin/plomlombot.sh' +ExecStart=/bin/sh -c 'LC_ALL=en_US.UTF8 screen -d -m ~/config/bin/plomlombot.sh' [Install] WantedBy=multi-user.target -- 2.30.2 From 46c2911ac60e09492b90b1aaa5be456a2aff6b44 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Tue, 12 Apr 2016 00:44:17 +0200 Subject: [PATCH 14/16] Add htwtxt nginx proxy prototype. --- bin/start_htwtxt.sh | 2 +- dotfiles/user/thinkpad/minimal/xinitrc | 3 ++ jessie_postinstall.sh | 7 +++-- systemfiles/nginx.conf | 42 ++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 systemfiles/nginx.conf diff --git a/bin/start_htwtxt.sh b/bin/start_htwtxt.sh index f3543a3..e5ee45a 100755 --- a/bin/start_htwtxt.sh +++ b/bin/start_htwtxt.sh @@ -4,5 +4,5 @@ $GOPATH/bin/htwtxt \ --mailport 587 \ --mailserver smtp.gmail.com \ --mailuser christian.heller@gmail.com \ - --port 80 \ + --port 8000 \ --signup diff --git a/dotfiles/user/thinkpad/minimal/xinitrc b/dotfiles/user/thinkpad/minimal/xinitrc index 79065aa..5aca941 100644 --- a/dotfiles/user/thinkpad/minimal/xinitrc +++ b/dotfiles/user/thinkpad/minimal/xinitrc @@ -13,5 +13,8 @@ redshift -rl 53:13 & # Enforce QWERTZ. setxkbmap de +# Set up compose key. +xmodmap ~/.Xmodmap + # Launch window manager. i3 diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index dfe3643..000f8e4 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -219,18 +219,19 @@ if [ "$1" = "server" ]; then elif [ "$2" = "public" ]; then - # Set up twtxt environment. - apt-get -y install screen + # Set up htwtxt environment. + apt-get -y install screen nginx apt-get -y -t jessie-backports install golang su - plom -c 'git clone '\ 'https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' su - plom -c 'go get htwtxt' path=`su - plom -c 'echo $GOPATH/bin/htwtxt'` - setcap 'cap_net_bind_service=+ep' $path + #setcap 'cap_net_bind_service=+ep' $path su - plom -c 'mkdir -p ~/htwtxt' cp config/systemfiles/htwtxt_restart_reminder.service \ /etc/systemd/system/htwtxt_restart_reminder.service systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service + cp config/systemfiles/nginx.conf /etc/nginx/nginx.conf # Set up plomlombot. apt-get -y install python3 python3-venv python3-pip diff --git a/systemfiles/nginx.conf b/systemfiles/nginx.conf new file mode 100644 index 0000000..5b9b028 --- /dev/null +++ b/systemfiles/nginx.conf @@ -0,0 +1,42 @@ +# system integration +user www-data; +pid /run/nginx.pid; + +# is expected even if empty +events { +} + +http { + # define content-type headers + types { + text/html html htm shtml; + text/css css; + text/xml xml; + text/plain txt; + text/plain sh; + application/xhtml+xml xhtml; + } + default_type application/octet_stream; + charset utf-8; + + # logging + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + # file server + server { + location / { + autoindex on; + root /data/www; + } + } + + # htwtxt + server { + listen 8080; + #server_name htwtxt.plomlompom.com; + location / { + proxy_pass http://127.0.0.1:8000; + } + } +} -- 2.30.2 From 84a077763b6d9663a5d82835a484e1b55a199ee5 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Tue, 12 Apr 2016 01:29:17 +0200 Subject: [PATCH 15/16] Improve nginx and IRC logs integration. --- jessie_postinstall.sh | 5 +++-- systemfiles/nginx.conf | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 000f8e4..821b4b3 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -222,8 +222,7 @@ if [ "$1" = "server" ]; then # Set up htwtxt environment. apt-get -y install screen nginx apt-get -y -t jessie-backports install golang - su - plom -c 'git clone '\ -'https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' + su - plom -c 'git clone https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' su - plom -c 'go get htwtxt' path=`su - plom -c 'echo $GOPATH/bin/htwtxt'` #setcap 'cap_net_bind_service=+ep' $path @@ -240,6 +239,8 @@ if [ "$1" = "server" ]; then cp config/systemfiles/plomlombot.service \ /etc/systemd/system/plomlombot.service systemctl enable /etc/systemd/system/plomlombot.service + mkdir /var/www/irclogs_zrolaps/ + touch /var/www/password_irclogs_zrolaps fi elif [ "$1" = "thinkpad" ]; then diff --git a/systemfiles/nginx.conf b/systemfiles/nginx.conf index 5b9b028..98626de 100644 --- a/systemfiles/nginx.conf +++ b/systemfiles/nginx.conf @@ -23,18 +23,19 @@ http { access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; - # file server + # IRC logs server server { location / { + auth_basic "IRC logs"; + auth_basic_user_file /var/www/password_irclogs_zrolaps; autoindex on; - root /data/www; + root /var/www/irclogs_zrolaps/; } } # htwtxt server { - listen 8080; - #server_name htwtxt.plomlompom.com; + server_name htwtxt.plomlompom.com; location / { proxy_pass http://127.0.0.1:8000; } -- 2.30.2 From 85f1e1508089bbaa01b9a5240f802dd2ac817544 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sun, 17 Apr 2016 22:55:03 +0200 Subject: [PATCH 16/16] Set up nodrama bot and letsencrypt infrastructure. --- bin/broiler_in.sh | 3 +++ bin/install_certs.sh | 6 ++++++ bin/plomlombot.sh | 2 +- bin/renew_certs.sh | 3 +++ jessie_postinstall.sh | 19 +++++++++++++++---- systemfiles/nginx.conf | 17 +++++++++++++++-- systemfiles/plomlombot.service | 2 +- 7 files changed, 44 insertions(+), 8 deletions(-) create mode 100755 bin/broiler_in.sh create mode 100755 bin/install_certs.sh create mode 100755 bin/renew_certs.sh diff --git a/bin/broiler_in.sh b/bin/broiler_in.sh new file mode 100755 index 0000000..5b16ddd --- /dev/null +++ b/bin/broiler_in.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd ~/plomlombot-irc +./run.sh -r 604800 -n broiler_in "#nodrama.de" diff --git a/bin/install_certs.sh b/bin/install_certs.sh new file mode 100755 index 0000000..ea04482 --- /dev/null +++ b/bin/install_certs.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e +set -x + +~/letsencrypt-auto certonly --webroot -w /var/www/html -d dump.plomlompom.com diff --git a/bin/plomlombot.sh b/bin/plomlombot.sh index 3ee9073..01d0a7b 100755 --- a/bin/plomlombot.sh +++ b/bin/plomlombot.sh @@ -1,3 +1,3 @@ #!/bin/sh cd ~/plomlombot-irc -./run.sh "#zrolaps" +./run.sh -r 604800 "#zrolaps" diff --git a/bin/renew_certs.sh b/bin/renew_certs.sh new file mode 100755 index 0000000..a1a2b96 --- /dev/null +++ b/bin/renew_certs.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +~/letsencrypt/letsencrypt-auto renew --webroot -w /var/www/html/ diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh index 821b4b3..e4ea6c7 100755 --- a/jessie_postinstall.sh +++ b/jessie_postinstall.sh @@ -219,8 +219,8 @@ if [ "$1" = "server" ]; then elif [ "$2" = "public" ]; then - # Set up htwtxt environment. - apt-get -y install screen nginx + # Set up htwtxt and environment. + apt-get -y install screen apt-get -y -t jessie-backports install golang su - plom -c 'git clone https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt' su - plom -c 'go get htwtxt' @@ -230,7 +230,13 @@ if [ "$1" = "server" ]; then cp config/systemfiles/htwtxt_restart_reminder.service \ /etc/systemd/system/htwtxt_restart_reminder.service systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service + + # Set up nginx and letsencrypt. + apt-get -y install nginx cp config/systemfiles/nginx.conf /etc/nginx/nginx.conf + cd ~ + git clone https://github.com/letsencrypt/letsencrypt + echo '0 18 * * 0 ~/config/bin/renew_certs.sh' | crontab - # Set up plomlombot. apt-get -y install python3 python3-venv python3-pip @@ -239,8 +245,13 @@ if [ "$1" = "server" ]; then cp config/systemfiles/plomlombot.service \ /etc/systemd/system/plomlombot.service systemctl enable /etc/systemd/system/plomlombot.service - mkdir /var/www/irclogs_zrolaps/ + + # Set up plomlombot logging infrastructure. + mkdir -p /var/www/html/irclogs/ + ln -s /home/plom/plomlombot_db/6f322d574618816aa2d6d1ceb4fd2551/3c0248e76a1de3a6ee5bf3421f7379b0/logs/ /var/www/html/irclogs/zrolaps/ touch /var/www/password_irclogs_zrolaps + ln -s /home/plom/plomlombot_db/6f322d574618816aa2d6d1ceb4fd2551/657eea42f86866f2954d39f92a6c71ff/logs/ /var/www/html/irclogs/nodrama.de/ + touch /var/www/password_irclogs_nodrama_de fi elif [ "$1" = "thinkpad" ]; then @@ -299,4 +310,4 @@ passwd plom rm jessie_postinstall.sh # Finalize everything with a reboot. -reboot +echo 'You may reboot now with the "reboot" command unless there's more to do.' diff --git a/systemfiles/nginx.conf b/systemfiles/nginx.conf index 98626de..ac07114 100644 --- a/systemfiles/nginx.conf +++ b/systemfiles/nginx.conf @@ -25,11 +25,24 @@ http { # IRC logs server server { + listen 443 ssl; + server_name dump.plomlompom.com; + ssl_certificate /etc/letsencrypt/live/dump.plomlompom.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dump.plomlompom.com/privkey.pem; location / { - auth_basic "IRC logs"; + root /var/www/html/; + } + location /irclogs/zrolaps/ { + auth_basic "#zrolaps logs"; auth_basic_user_file /var/www/password_irclogs_zrolaps; autoindex on; - root /var/www/irclogs_zrolaps/; + root /var/www/html/irclogs/zrolaps/; + } + location /irclogs/zrolaps/ { + auth_basic "#nodrama.de logs"; + auth_basic_user_file /var/www/password_irclogs_nodrama_de; + autoindex on; + root /var/www/html/irclogs/nodrama.de/; } } diff --git a/systemfiles/plomlombot.service b/systemfiles/plomlombot.service index 5f4b0eb..8c464a2 100644 --- a/systemfiles/plomlombot.service +++ b/systemfiles/plomlombot.service @@ -6,7 +6,7 @@ Description=plomlombot screen [Service] Type=forking User=plom -ExecStart=/bin/sh -c 'LC_ALL=en_US.UTF8 screen -d -m ~/config/bin/plomlombot.sh' +ExecStart=/bin/sh -c 'LC_ALL=en_US.UTF8 screen -d -m ~/config/bin/plomlombot.sh && screen -d -m ~/config/bin/broiler_in.sh' [Install] WantedBy=multi-user.target -- 2.30.2