Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Diese Anleitung gilt als Ergänzung zu Daniel 'dictvm' Heitmann's Blog Artikel unter: http://blog.dictvm.org/prosody-auf-dem-uberspace/
- Daniel hat die einzelnen Schritte zur späteren Prosody Installation ausführlicher erklärt.
- Login über die Konsole:
- ssh uberspace-username@host.uberspace.de
- Zunächst installiert ihr euch die aktuelle OpenSSL Version local im Uberspace-Account (dauert ca. 3-5 Minuten):
- toast arm https://www.openssl.org/source/openssl-1.0.1g.tar.gz
- Testen, welche Version von Lua von deinem Uberspace-Account verwendet wird:
- lua -v
- Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
- 5.1.4 passt! Denn Lua 5.2 wird aktuell noch nicht von Prosody unterstützt.
- nano ~/.bash_profile
- Falls bei euch Lua 5.2 angezeigt wurde, dann löscht den Lua 5.2 Eintrag aus eurer .bash_profile.
- Die Datei sollte so angepasst werden (wobei USERNAME durch euren Uberspace-Usernamen zu ersetzen ist):
- # .bash_profile
- # Get the aliases and functions
- if [ -f ~/.bashrc ]; then
- . ~/.bashrc
- fi
- # User specific environment and startup programs
- PATH=$PATH:$HOME/bin
- export PATH
- # added for Prosody and Luarocks
- export LUA_PATH='/home/uberspace-username/.luarocks/share/lua/5.1/?.lua;/home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua;./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/home/uberspace-username/.luarocks/share/lua/5.1/?.lua;/home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua;./?.lua;/usr/lib64/lua/5.1/?.lua;/usr/lib64/lua/5.1/?/init.lua;/home/uberspace-username/.luarocks/share/lua/5.1/?.lua;/home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua;./?.lua'
- export LUA_CPATH='/home/uberspace-username/.luarocks/lib/lua/5.1/?.so;/usr/lib/lua/5.1/?.so;/home/uberspace-username/.luarocks/lib/lua/5.1/?.so;./?.so;/usr/lib64/lua/5.1/?.so;/usr/lib64/lua/5.1/loadall.so;/home/uberspace-username/.luarocks/lib/lua/5.1/?.so'
- SPEICHERN NICHT VERGESSEN ;-)
- ANSCHLIESSEND AUSLOGGEN UND WIEDER NEU EINLOGGEN!!
- exit
- ssh uberspace-username@host.uberspace.de
- luarocks list
- Installed rocks:
- ----------------
- Hier sollte zunächst nichts angezeigt werden. Weiter geht's mit der Installation:
- luarocks install luasocket --local
- luarocks install luaexpat --local
- luarocks install luafilesystem --local
- luarocks install luasec --local OPENSSL_DIR=~/.toast/armed/usr/local/
- luarocks list
- Installed rocks:
- ----------------
- luaexpat
- 1.3.0-1 (installed) - /home/prosody/.luarocks/lib/luarocks/rocks
- luafilesystem
- 1.6.2-2 (installed) - /home/prosody/.luarocks/lib/luarocks/rocks
- luasec
- 0.5-2 (installed) - /home/prosody/.luarocks/lib/luarocks/rocks
- luasocket
- 3.0rc1-1 (installed) - /home/prosody/.luarocks/lib/luarocks/rocks
- Jetzt kann es mit der eigentlichen Prosody Installation weitergehen!
- toast arm https://prosody.im/downloads/source/prosody-0.9.4.tar.gz
- mkdir -p ~/var/prosody/data
- mkdir -p ~/var/prosody/ssl
- cd ~/var/prosody/ssl/
- openssl dhparam -out dh-4096.pem 4096
- openssl genrsa -out prosody_domain.com_private-key.pem 4096
- openssl req -new -key prosody_domain.com_private-key.pem -out prosody_domain.com_cert.csr
- Wichtig für uns ist nur “CommonName”; hier muss der Domainname stehen, z.B. “domain.com“.
- Anschließend:
- nano prosody_domain.com_cert.csr
- Inhalt kopieren und z.B. bei CaCert.org (kostenlos) ein Zertifikat beantragen.
- Code von CaCert anschließend in folgende Datei abspeichern mittels:
- nano prosody_domain.com_cacert.pem
- Zertifikatsanfrage wieder entfernen
- rm prosody_domain.com_cert.csr
- cd ~/var/prosody/
- Dort die Datei "prosody.pid" erstellen.
- cd
- nano ~/var/prosody/data/prosody.cfg.lua
- FOLGENDES REINKOPIEREN UND UBERSPACE-USERNAME, DOMAIN, SOWIE PORTS ANPASSEN:
- pidfile = "/home/uberspace-username/var/prosody/prosody.pid";
- admins = { "admin@domain.com" }
- modules_enabled = {
- "roster";
- "saslauth";
- "tls";
- "dialback";
- "disco";
- "private";
- "vcard";
- "privacy";
- "version";
- "uptime";
- "time";
- "ping";
- "posix";
- "pep";
- "register";
- "admin_adhoc";
- "motd";
- "welcome";
- };
- daemonize = false; -- IMPORTANT for daemontools! DO NOT EDIT!
- data_path = "/home/uberspace-username/var/prosody/data";
- log = { "*console" } -- IMPORTANT for daemontools! DO NOT EDIT!
- allow_registration = false;
- s2s_ports = { XXXXX } -- Server to Server - freien TCP Port bei hallo@uberspace.de anfragen & eintragen!
- c2s_ports = { XXXXX } -- Client to Server - freien TCP Port bei hallo@uberspace.de anfragen & eintragen!
- c2s_require_encryption = true
- s2s_require_encryption = true
- authentication = "internal_hashed" -- do not save passphrases in cleartext!
- VirtualHost "domain.com" -- anpassen!
- enabled = true
- ssl = {
- key = "/home/uberspace-username/var/prosody/ssl/prosody_domain.com_private-key.pem";
- certificate = "/home/uberspace-username/var/prosody/ssl/prosody_domain.com_cacert.pem";
- -- Allow perfect forward secrecy.
- dhparam = "/home/uberspace-username/var/prosody/ssl/dh-4096.pem";
- -- Best ciphers for perfect forward secrecy.
- ciphers = "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED:!AES128:!CAMELLIA128";
- options = { "no_ticket", "no_compression", "no_sslv2", "no_sslv3", "cipher_server_preference" }
- }
- SPEICHERN NICHT VERGESSEN ;-)
- rm ~/.toast/armed/etc/prosody/prosody.cfg.lua
- ln -s ~/var/prosody/data/prosody.cfg.lua ~/.toast/armed/etc/prosody/prosody.cfg.lua
- Falls noch nicht eingerichtet:
- uberspace-setup-svscan
- Anschließend daemontools für Prosody aktivieren
- uberspace-setup-service prosody ~/.toast/armed/bin/prosody
- Testen ob Prosody läuft:
- prosodyctl status
- Prosody is running with PID 5446
- Testen ob Prosody auch die über Luarocks installierten Module erkennt
- prosodyctl about
- Prosody unknown
- # Prosody directories
- Data directory: /home/uberspace-username/.toast/armed/var/lib/prosody
- Plugin directory: /home/uberspace-username/.toast/pkg/prosody/v0.9.4/1/root/lib/prosody/modules/
- Config directory: /home/uberspace-username/.toast/armed/etc/prosody
- Source directory: /home/uberspace-username/.toast/pkg/prosody/v0.9.4/1/root/lib/prosody
- # Lua environment
- Lua version: Lua 5.1
- Lua module search paths:
- /home/uberspace-username/.toast/pkg/prosody/v0.9.4/1/root/lib/prosody/?.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua
- /usr/share/lua/5.1/?.lua
- /usr/share/lua/5.1/?/init.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua
- /usr/lib64/lua/5.1/?.lua
- /usr/lib64/lua/5.1/?/init.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?.lua
- /home/uberspace-username/.luarocks/share/lua/5.1/?/init.lua
- Lua C module search paths:
- /home/uberspace-username/.toast/pkg/prosody/v0.9.4/1/root/lib/prosody/?.so
- /home/uberspace-username/.luarocks/lib/lua/5.1/?.so
- /usr/lib/lua/5.1/?.so
- /home/uberspace-username/.luarocks/lib/lua/5.1/?.so
- /usr/lib64/lua/5.1/?.so
- /usr/lib64/lua/5.1/loadall.so
- /home/uberspace-username/.luarocks/lib/lua/5.1/?.so
- LuaRocks: Installed (2.1.2)
- # Lua module versions
- lfs: LuaFileSystem 1.6.2
- lxp: LuaExpat 1.3.0
- pposix: 0.3.6
- socket: LuaSocket 3.0-rc1
- ssl: 0.5.PR
- WICHTIG IST VOR ALLEM DER LETZTE EINTRAG: ssl 0.5.PR
- Sollte hier nicht mindestens 0.5 (damit ist LuaSec gemeint) stehen, hast du wahrscheinlich deine .bash_profile nicht richtig editiert oder dich anschließend nicht ausgeloggt und wieder neu angemeldet.
- Account erstellen:
- prosodyctl adduser admin@domain.com
- Nun kannst du dich z.B. mit der Software Pidgin anmelden. Beachtet hierbei, dass du bei Pidgin deinen C2S Port richtig eingeben musst.
- Zu guter Letzt: Teste deinen Prosody XMPP-Server bei https://xmpp.net/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement