UUGRN:Services/draw.uugrn.org: Unterschied zwischen den Versionen

Aus UUGRN
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= ETHERDRAW =
+
{{Navigationsleiste Services}}
 +
<pre>
 +
        __  ____  ______ __________  ____  _________ _
 +
ASCII  / / / / / / / __ `/ ___/ __ \ / __ \/ ___/ __ `/
 +
DRAW _/ /_/ / /_/ / /_/ / /  / / / // /_/ / /  / /_/ /
 +
PAD (_)__,_/\__,_/\__, /_/  /_/ /_(_)____/_/  \__, /
 +
        ADMIN:  /____/ sh+admin[at]uugrn.org /____/
  
Etherdraw ist im Grunde exakt die selbe Software wie Etherpad Lite.
+
OS: Debian  Version: 10 (Buster)  Architecture: amd64
Sie läuft neben dem Etherpad auf der selben VM (pad.uugrn.org).
+
CPU: 1x Intel Xeon Processor (Skylake, IBRS)
 +
SPEED: 2294Mhz  Memory: 1983MB
  
Etherdraw läuft ebenfalls unter dem User "etherpad".
+
Welcome to {ascii,draw,pad}.uugrn.org
 +
</pre>
  
'''Unterschiede:'''
+
== ETHERDRAW SERVER ==
* Etherdraw liegt in /data/draw
 
* Etherdraw nutzt die postgresql Tabelle "etherdraw"
 
* Etherdraw reverse proxy ist in /etc/nginx/sites-enabled/etherdraw konfiguriert.
 
  
Der Rest ist gleich zum Etherpad: https://wiki.uugrn.org/UUGRN:Services/pad.uugrn.org
+
Etherdraw - wie Etherpad, nur zeichnen...
 +
 
 +
* Host: '''[https://draw.uugrn.org draw.uugrn.org]'''
 +
 
 +
'''ADMIN:''' sdk (sh+uugrn@uugrn.org)
 +
 
 +
== INSTALL LOG ==
 +
 
 +
OS: Debian Buster (10)
 +
 
 +
Installierte Software
 +
* etherdraw
 +
* nginx (als reverse proxy)
 +
* posgresql
 +
 
 +
Etherdraw läuft unter dem User "etherpad".
 +
Das Home directory des users ist /data/etherpad-lite.
 +
 
 +
(ja, das stimmt wirklich so - ich habe den Etherpad-Benutzer wiederverwendet)
 +
 
 +
=== User anlegen ===
 +
 
 +
Schon erledigt (siehe pad.uugrn.org)
 +
 
 +
=== Datenbank anlegen ===
 +
 
 +
War schon installiert (siehe pad.uugrn.org)
 +
 
 +
<pre>
 +
$ sudo -su postgresql
 +
$ psql
 +
CREATE DATABASE etherdraw OWNER etherpad;
 +
^D
 +
</pre>
 +
 
 +
=== Etherdraw installieren ===
 +
 
 +
<pre>
 +
$ cd /data
 +
$ git clone https://github.com/JohnMcLear/draw.git
 +
$ chown -R etherpad:etherpad draw
 +
</pre>
 +
 
 +
In der Datei settings.json die Datenbankverbindung hinterlegen:
 +
<pre>
 +
  "dbType" : "postgres",
 +
  "dbSettings" : {
 +
      "user"    : "etherdraw",
 +
      "host"    : "/var/run/postgresql",
 +
      "password": "*******",
 +
      "database": "etherpad",
 +
      "charset" : "utf8mb4"
 +
  },
 +
</pre>
 +
 
 +
=== SystemD Service installieren ===
 +
 
 +
<pre>
 +
$ cat /etc/systemd/system/etherdraw.service
 +
[Unit]
 +
Description=etherdraw (real-time collaborative drawing)
 +
After=syslog.target network.target
 +
 
 +
[Service]
 +
Type=simple
 +
User=etherpad
 +
Group=etherpad
 +
Environment=NODE_ENV=production
 +
ExecStart=/bin/sh /data/draw/bin/run.sh
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
 
 +
$ systemctl enable etherdraw
 +
$ service etherdraw start
 +
</pre>
 +
 
 +
=== NGINX Reverse Proxy installieren ===
 +
 
 +
War schon installiert (siehe pad.uugrn.org)
 +
 
 +
<pre>
 +
$ cat /etc/nginx/sites-enabled/etherdraw
 +
server {
 +
 
 +
        listen      443 ssl;
 +
        server_name  draw.uugrn.org;
 +
 
 +
        access_log  /var/log/nginx/draw.uugrn.org.access.log;
 +
        error_log  /var/log/nginx/draw.uugrn.org.error.log;
 +
 
 +
        ssl_certificate /etc/letsencrypt/live/draw.uugrn.org/fullchain.pem;
 +
        ssl_certificate_key /etc/letsencrypt/live/draw.uugrn.org/privkey.pem;
 +
 
 +
        include /etc/letsencrypt/options-ssl-nginx.conf;
 +
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
 +
 
 +
        location / {
 +
            proxy_pass            http://localhost:9002/;
 +
            proxy_set_header      Host $host;
 +
            proxy_pass_header Server;
 +
            proxy_buffering off;
 +
            proxy_set_header X-Real-IP $remote_addr;
 +
            proxy_set_header X-Forwarded-For $remote_addr;
 +
            proxy_set_header X-Forwarded-Proto $scheme;
 +
            proxy_set_header Host $host;
 +
            proxy_http_version 1.1;
 +
            proxy_set_header Upgrade $http_upgrade;
 +
            proxy_set_header Connection $connection_upgrade;
 +
        }
 +
}
 +
 
 +
# we're in the http context here
 +
map $http_upgrade $connection_upgrade {
 +
  default upgrade;
 +
  ''      close;
 +
}
 +
 
 +
server {
 +
    listen      80;
 +
    server_name draw.uugrn.org;
 +
    rewrite    ^(.*)  https://$server_name$1 permanent;
 +
}
 +
</pre>
 +
 
 +
=== Letsencrypt einrichten ===
 +
 
 +
War schon installiert (siehe pad.uugrn.org)
 +
 
 +
<pre>
 +
$ certbot -d draw.uugrn.org
 +
<run through wizard>
 +
service nginx reload
 +
</pre>

Aktuelle Version vom 1. Juni 2020, 13:57 Uhr

Öffentliche →   • IRC ChatDrawing PadAscii PadText PadVorstand Infoshare  Für Mitglieder →   • Shell AccountUsenet Zugang  Infrastruktur →   • DNS   <edit>

        __  ____  ______ __________   ____  _________ _
ASCII  / / / / / / / __ `/ ___/ __ \ / __ \/ ___/ __ `/
DRAW _/ /_/ / /_/ / /_/ / /  / / / // /_/ / /  / /_/ /
PAD (_)__,_/\__,_/\__, /_/  /_/ /_(_)____/_/   \__, /
         ADMIN:  /____/ sh+admin[at]uugrn.org /____/

 OS: Debian  Version: 10 (Buster)  Architecture: amd64
 CPU: 1x Intel Xeon Processor (Skylake, IBRS)
 SPEED: 2294Mhz  Memory: 1983MB

Welcome to {ascii,draw,pad}.uugrn.org

ETHERDRAW SERVER[Bearbeiten]

Etherdraw - wie Etherpad, nur zeichnen...

ADMIN: sdk (sh+uugrn@uugrn.org)

INSTALL LOG[Bearbeiten]

OS: Debian Buster (10)

Installierte Software

  • etherdraw
  • nginx (als reverse proxy)
  • posgresql

Etherdraw läuft unter dem User "etherpad". Das Home directory des users ist /data/etherpad-lite.

(ja, das stimmt wirklich so - ich habe den Etherpad-Benutzer wiederverwendet)

User anlegen[Bearbeiten]

Schon erledigt (siehe pad.uugrn.org)

Datenbank anlegen[Bearbeiten]

War schon installiert (siehe pad.uugrn.org)

$ sudo -su postgresql
$ psql
CREATE DATABASE etherdraw OWNER etherpad;
^D

Etherdraw installieren[Bearbeiten]

$ cd /data
$ git clone https://github.com/JohnMcLear/draw.git
$ chown -R etherpad:etherpad draw

In der Datei settings.json die Datenbankverbindung hinterlegen:

   "dbType" : "postgres",
   "dbSettings" : {
       "user"    : "etherdraw",
       "host"    : "/var/run/postgresql",
       "password": "*******",
       "database": "etherpad",
       "charset" : "utf8mb4"
   },

SystemD Service installieren[Bearbeiten]

$ cat /etc/systemd/system/etherdraw.service
[Unit]
Description=etherdraw (real-time collaborative drawing)
After=syslog.target network.target

[Service]
Type=simple
User=etherpad
Group=etherpad
Environment=NODE_ENV=production
ExecStart=/bin/sh /data/draw/bin/run.sh

[Install]
WantedBy=multi-user.target

$ systemctl enable etherdraw
$ service etherdraw start

NGINX Reverse Proxy installieren[Bearbeiten]

War schon installiert (siehe pad.uugrn.org)

$ cat /etc/nginx/sites-enabled/etherdraw
server {

        listen       443 ssl;
        server_name  draw.uugrn.org;

        access_log  /var/log/nginx/draw.uugrn.org.access.log;
        error_log   /var/log/nginx/draw.uugrn.org.error.log;

        ssl_certificate /etc/letsencrypt/live/draw.uugrn.org/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/draw.uugrn.org/privkey.pem;

        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

        location / {
            proxy_pass             http://localhost:9002/;
            proxy_set_header       Host $host;
            proxy_pass_header Server;
            proxy_buffering off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
}

# we're in the http context here
map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
    listen      80;
    server_name draw.uugrn.org;
    rewrite     ^(.*)   https://$server_name$1 permanent;
}

Letsencrypt einrichten[Bearbeiten]

War schon installiert (siehe pad.uugrn.org)

$ certbot -d draw.uugrn.org
<run through wizard>
service nginx reload