xmppit:guide:installazione-server-ejabberd
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
xmppit:guide:installazione-server-ejabberd [2024/02/13 09:06] – [Sottodomini] rob | xmppit:guide:installazione-server-ejabberd [2024/06/16 17:01] (versione attuale) – del roughnecks | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
- | **// | ||
- | https:// | ||
- | e non è stata testata dai traduttori.// | ||
- | |||
- | **[[https:// | ||
- | |||
- | ===== Prerequisiti ===== | ||
- | |||
- | Porte richieste: 5000, 5222, 5269, 5280, 5281 | ||
- | |||
- | ===== Sottodomini ===== | ||
- | |||
- | Ejabberd presuppone che tu abbia già creato tutti i **sottodomini richiesti e opzionali** per il suo uso prima di eseguirlo. | ||
- | |||
- | A seconda dell' | ||
- | |||
- | * **esempio.org** - Il tuo hostname XMPP | ||
- | * **conference.esempio.org** - Per '' | ||
- | * **upload.esempio.org** - Per '' | ||
- | * **proxy.esempio.org** - Per '' | ||
- | * **pubsub.esempio.org** - Per '' | ||
- | |||
- | Il solo dominio **esempio.org** è richiesto per l'uso di base, di chat privata. Se **non** desideri usare un certo dominio, disabilita semplicemente il modulo associato e ejabberd non avrà problemi quando non riuscirà a trovare il suo certificato associato. Per esempio, se non vuoi il supporto [[https:// | ||
- | |||
- | < | ||
- | ## mod_pubsub: | ||
- | ## access_createnode: | ||
- | ## plugins: | ||
- | ## - flat | ||
- | ## - pep | ||
- | ## force_node_config: | ||
- | ## ## Avoid buggy clients to make their bookmarks public | ||
- | ## storage: | ||
- | ## access_model: | ||
- | </ | ||
- | |||
- | Questa guida presuppone che **tutti questi sottodomini** siano stati creati. | ||
- | |||
- | ===== Sottodomini Personalizzati ===== | ||
- | |||
- | Se vuoi personalizzare qualcuno di questi domini, modifica ''/ | ||
- | |||
- | < | ||
- | mod_muc: | ||
- | host: muc.esempio.org | ||
- | </ | ||
- | |||
- | ===== Installazione ===== | ||
- | |||
- | Per ottenere l' | ||
- | |||
- | curl -o / | ||
- | curl -o / | ||
- | |||
- | Quindi aggiorna i repo e installa il pacchetto '' | ||
- | |||
- | apt update | ||
- | apt install ejabberd | ||
- | |||
- | ===== Configurazione ===== | ||
- | |||
- | Il server ejabberd è configurato in ''/ | ||
- | |||
- | systemctl restart ejabberd | ||
- | |||
- | ===== Hostname ===== | ||
- | |||
- | L' **hostname XMPP** è specificato nella sezione '' | ||
- | |||
- | hosts: | ||
- | - esempio.org | ||
- | |||
- | |||
- | ===== Certificati ===== | ||
- | |||
- | A differenza di https:// | ||
- | |||
- | Un modo di organizzare i certificati per ejabberd è di averli conservati in ''/ | ||
- | |||
- | Prima di continuare, crea la relativa cartella: | ||
- | |||
- | mkdir -p / | ||
- | |||
- | Usando certbot, questo processo può essere facilmente automatizzato con questi comandi: | ||
- | |||
- | <code bash> | ||
- | DOMAIN=esempio.org | ||
- | |||
- | # Imposta qui i nomi dominio che vuoi | ||
- | declare -a subdomains=("" | ||
- | |||
- | for i in " | ||
- | | ||
- | mkdir -p / | ||
- | cp / | ||
- | cp / | ||
- | done | ||
- | </ | ||
- | |||
- | //Nota: proprio come con Prosody, si può scrivere questo script in un file e impostare un **server/ | ||
- | |||
- | Assicurati che tutti i certificati siano leggibili dall' | ||
- | |||
- | chown -R ejabberd: | ||
- | |||
- | Per abilitare l'uso di tutti questi certificati in ejabberd, è necessaria la seguente configurazione : | ||
- | |||
- | certfiles: | ||
- | - "/ | ||
- | |||
- | ===== Amministratore ===== | ||
- | |||
- | L' **utente amministratore** può essere specificato in '' | ||
- | |||
- | acl: | ||
- | admin: | ||
- | user: admin | ||
- | |||
- | Questo dovrebbe rendere '' | ||
- | |||
- | ===== Caricare i File ===== | ||
- | |||
- | Per assicurare la completa conformità agli standard XMPP, aggiungi la seguente configurazione a '' | ||
- | |||
- | |||
- | mod_http_upload: | ||
- | | ||
- | | ||
- | | ||
- | " | ||
- | " | ||
- | " | ||
- | |||
- | |||
- | Assicurati di creare e di render proprietario l' | ||
- | |||
- | chown -R ejabberd: | ||
- | |||
- | ===== Archivio Messaggi ===== | ||
- | |||
- | Il server ejabberd supporta l' | ||
- | |||
- | |||
- | mod_mam: | ||
- | assume_mam_usage: | ||
- | default: always</ | ||
- | |||
- | ===== Database ====== | ||
- | |||
- | ==== Perché usare un database? ==== | ||
- | |||
- | Possiamo trovare il seguente commento nella sezione ''' | ||
- | |||
- | < | ||
- | mod_mam: | ||
- | ## Mnesia is limited to 2GB, better to use an SQL backend | ||
- | ## For small servers SQLite is a good fit and is very easy | ||
- | ## to configure. Uncomment this when you have SQL configured: | ||
- | ## db_type: sql | ||
- | </ | ||
- | |||
- | Come questi commenti suggeriscono, | ||
- | |||
- | ===== Installare PostgreSQL ===== | ||
- | |||
- | PostgreSQL è reperibile nei repository Debian: | ||
- | |||
- | apt install postgresql | ||
- | |||
- | In aggiunta, dovrai installare i **relativi driver per Erlang,** (// | ||
- | |||
- | apt install erlang-p1-pgsql | ||
- | |||
- | Lancia il demone PostgreSQL per cominciare ad usarlo: | ||
- | |||
- | systemctl start postgresql | ||
- | |||
- | ===== Creare il Database ===== | ||
- | |||
- | Per creare il database, prima crea un utente PostgreSQL per ejabberd: | ||
- | |||
- | su -c " | ||
- | |||
- | Quindi, crea il database e rendi '' | ||
- | |||
- | su -c "psql -c ' | ||
- | |||
- | ===== Importare lo Schema del Database ===== | ||
- | |||
- | Ejabberd **non** crea lo schema del database in automatico; Deve essere importato nel database prima di usarlo. | ||
- | |||
- | < | ||
- | su -c "curl -s https:// | ||
- | </ | ||
- | |||
- | ===== Configurare ejabberd per usare PostgreSQL ===== | ||
- | |||
- | Infine, aggiungi la seguente configurazione a '' | ||
- | |||
- | < | ||
- | sql_type: pgsql | ||
- | sql_server: " | ||
- | sql_database: | ||
- | sql_username: | ||
- | sql_password: | ||
- | |||
- | default_db: sql | ||
- | </ | ||
- | |||
- | Quella linea alla fine imposta automaticamente che **ogni database del modulo** sia gestito da '' | ||
- | |||
- | ===== Chiamate Voce e Video ===== | ||
- | |||
- | Ejabberd supporta i protocolli **TURN** e **STUN** per permettere agli utenti internet dietro NAT di eseguire chiamate voce e video con altri utenti XMPP. **Questo è abilitato in automatico con l'uso di [[https:// | ||
- | |||
- | **Ad ogni modo,** se hai intenzione di usare ejabberd a fianco di **altre applicazioni** che richiedono TURN e STUN, come ad esempio Matrix, dovrai configurare il tuo server TURN esterno usando Coturn. | ||
- | |||
- | ====== Configurazione con Coturn e `mod_stun_disco` ====== | ||
- | |||
- | Innanzitutto, | ||
- | |||
- | Quindi, modifica '' | ||
- | |||
- | < | ||
- | mod_stun_disco: | ||
- | secret: & | ||
- | services: | ||
- | - | ||
- | host: turn.esempio.org | ||
- | type: stun | ||
- | - | ||
- | host: turn.esempio.org | ||
- | type: turn | ||
- | </ | ||
- | |||
- | ===== Usare ejabberd ===== | ||
- | |||
- | ==== Registrare l' | ||
- | |||
- | Per cominciare ad usare ejabberd, prima di tutto lancia il demone ejabberd: | ||
- | |||
- | systemctl restart ejabberd | ||
- | |||
- | Quindi, usando '' | ||
- | |||
- | su -c " | ||
- | |||
- | Questo andrà a creare l' | ||
- | |||
- | ==== Usare l' | ||
- | |||
- | Di base, ejabberd ha un' | ||
- | |||
- | Dopo aver eseguito l' | ||
- | |||
- | ==== Configurazioni Ulteriori ==== | ||
- | |||
- | Per uno sguardo più approfondito a tutti i moduli e opzioni, da' un occhio alla seguente documentazione ejabberd: | ||
- | * Ejabberd [[https:// | ||
- | * Ejabberd [[https:// | ||
- | * Ejabberd [[https:// | ||
- | |||
- | //E con questo, hai configurato con successo il tuo server XMPP ejabberd!// | ||
xmppit/guide/installazione-server-ejabberd.1707811598.txt.gz · Ultima modifica: da rob