Etherpad lite

Aus Vosp.info
Version vom 13. September 2018, 16:17 Uhr von F (Diskussion | Beiträge) (mit apache ansprechen)
Wechseln zu:Navigation, Suche


minimal installation

apt install gzip git curl python libssl-dev pkg-config build-essential
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
git clone https://github.com/ether/etherpad-lite.git && cd etherpad-lite 

# zum testen, ansich nicht als root
bin/run.sh
# und dann im Browser http://127.0.0.1:9001/

npm ... extensions

npm init
npm i ep_list_pads
npm i ep_historicalsearch
npm i ep_fileupload
npm i ep_public_view

mit apache ansprechen

  • /etc/apache2/sites-available/pad.domain.tld.conf
<VirtualHost *:80>
        ServerName  pad.domain.tld
        ServerAlias www.pad.domain.tld
        ServerAdmin webmaster@localhost
        Redirect permanent / https://pad.domain.tld/
</VirtualHost>


<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName pad.domain.tld
        ServerAlias www.pad.domain.tld

        # SSL configuration
        SSLEngine on
        # If you hold wildcard certificates for your domain the next two lines are not necessary.
        SSLCertificateFile /etc/ssl/private/nc/SSLCertificateFile.crt
        SSLCertificateKeyFile /etc/ssl/private/nc/SSLCertificateKeyFile.key
        # nc bof
        SSLCertificateChainFile /etc/ssl/private/nc/SSLCertificateChainFile.cer
        SetEnv nokeepalive ssl-unclean-shutdown
        # nc eof
        
        ProxyVia On
        ProxyRequests Off
        ProxyPreserveHost on    

        # wenn zielserver https ist (etherpad-lite/settings.json ssl bereich!!!!) dann 
        SSLProxyEngine On

        <Location />
            AuthType Basic
            AuthName "Welcome to the domain.org Etherpad"
            AuthUserFile /etc/htpasswd/htpasswd_nc
            Require valid-user
            ProxyPass http://localhost:9001/ retry=0 timeout=30
            ProxyPassReverse http://localhost:9001/
        </Location>
        <Location /socket.io>
            # This is needed to handle the websocket transport through the proxy, since
            # etherpad does not use a specific sub-folder, such as /ws/ to handle this kind of traffic.
            # Taken from https://github.com/ether/etherpad-lite/issues/2318#issuecomment-63548542
            # Thanks to beaugunderson for the semantics
            RewriteEngine On
            RewriteCond %{QUERY_STRING} transport=websocket    [NC]
            RewriteRule /(.*) ws://localhost:9001/socket.io/$1 [P,L]
            ProxyPass http://localhost:9001/socket.io retry=0 timeout=30
            ProxyPassReverse http://localhost:9001/socket.io
        </Location>
        
        <Proxy *>
            Options FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Proxy>
    </VirtualHost>
</IfModule>


a2enmod proxy proxy_http
systemctl restart apache2

Konfiguration

mysql

create database dbname;
create user 'dbuser'@'localhost' identified by 'dbpasswd';
grant all on dbname.* to 'dbuser'@'localhost';


  • etherpad-lite/settings.json
  "dbType" : "mysql",
  "dbSettings" : {
                   "user"    : "dbuser",
                   "host"    : "localhost",
                   "port"    : 3306,
                   "password": "dbpasswd",
                   "database": "dbname",
                   "charset" : "utf8mb4"
                 },