Difference between revisions of "Vines"

From diaspora* project wiki
Jump to: navigation, search
(I have no contacts in my roster)
(#REDIRECT)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Work_in_progress}}
+
#REDIRECT [[Integration/Chat]]
{{Note|Report issues and suggestions to the Vines server at https://github.com/diaspora/vines/issues}}
+
{{Serious|This page moved to [[Integration/Chat]]}}
 
 
This wiki-page is about setting up [http://getvines.org Vines] on your Diaspora installation.
 
 
 
{{Quote|Vines is an XMPP chat server that connects you with large clusters of machines as easily as chatting with a friend.<br>
 
It's a new, simpler way to manage your servers in the cloud or the data center.| http://www.getvines.org/}}
 
 
 
= Installation/Update =
 
 
 
This feature is merged into the current development version of Diaspora. We do not recommend to try it out yet if you're running on the stable release version.
 
 
 
If you're running the development version of Diaspora and want to try out this feature, all you have to do is a regular [[Updating|update]].
 
 
 
= Configuration =
 
 
 
You'll find all required configuration parameters in <tt>diaspora.yml.example</tt>. If you'd like to activate the chat feature
 
you have to copy paste the chat section from <tt>diaspora.yml.example</tt> to your actual <tt>diaspora.yml</tt> configuration file and
 
activate the chat globally:
 
 
 
<syntaxhighlight lang="yaml">
 
  chat:
 
    enabled: true
 
</syntaxhighlight>
 
 
 
If you have already a working XMPP server and need only the front-end:
 
 
 
<syntaxhighlight lang="yaml">
 
  chat:
 
    enabled: true
 
    server:
 
      enabled: false
 
</syntaxhighlight>
 
 
 
It is also possible to configure the port and address of the client-to-server, server-to-server and the BOSH service.
 
You'll also find the required parameters in <tt>diaspora.yml.example</tt> with a small description.
 
 
 
== Certificates ==
 
 
 
{{Serious|For encrypted communication we need a cerificate and the related key.<br>}}
 
Put your files in the vines-cert folder, you can configure the path in diaspora.yml under the chat section.
 
 
 
The default path is <code>/path_to_diaspora_installation/config/vines/</code>.<br>
 
Also the domain name should be included in the file name e.g.:
 
 
 
* example.com.crt
 
* example.com.key
 
 
 
 
 
If you have no certificate and want to generate a self-signed you can do that with vines, too.
 
Just execute in you diaspora environment <code>bundle exec vines cert example.com</code> and you should be good to go ..
 
 
 
{{Note|If you use your server in a development mode, think about enabling acceptance of self-signed certificates in your diaspora.yml!}}
 
 
 
= Run it =
 
 
 
If you are finished configuring the chat server you can start Diaspora as normal:
 
 
 
<syntaxhighlight lang="bash">
 
./script/server
 
</syntaxhighlight>
 
 
 
Log into Diaspora and you should see the web client in the right corner.
 
You can also log into it with your favorite desktop client like Pidgin.
 
 
 
For that use your Diaspora ID and your Diaspora password.
 
 
 
= FAQ =
 
 
 
== I have no contacts in my roster ==
 
 
 
 
 
Please consider that you have to add chat privilege to your aspects!
 
 
 
You can toggle that privilege for every existing aspect:<br>
 
[[File:chat_privilege_bar.png|caption]]
 
 
 
Or you can do that while creating a new aspect:<br>
 
[[File:chat_privilege_popup.png|caption]]
 
 
 
 
 
(original post https://sechat.org/posts/359056)
 
 
 
== Invalid byte sequence in UTF-8 ==
 
 
 
Vines is not able to read the file due encoding problems. You can easily check your file encoding with:
 
<syntaxhighlight lang="bash">
 
$ file --mime-encoding /etc/ssl/certs/ca-certificates.crt
 
/etc/ssl/certs/ca-certificates.crt: us-ascii
 
</syntaxhighlight>
 
 
 
If it is not ascii or utf-8, Vines will skip the file. You can try converting it ([http://stackoverflow.com/questions/64860/best-way-to-convert-text-files-between-character-sets source]):
 
<syntaxhighlight lang="yaml">
 
$ iconv -f <YOUR_ENCODING> -t ascii /etc/ssl/certs/ca-certificates.crt > /etc/ssl/certs/ca-certificates.ascii.crt
 
</syntaxhighlight>
 
 
 
== You enabled the chat feature but haven't configured BOSH ==
 
 
 
<syntaxhighlight lang="bash">
 
*****************************************************************
 
You enabled the chat feature but haven't configured BOSH! That
 
could lead to mixed-content problems with the http clients. Please
 
think about editing your proxy configuration as described in:
 
 
 
diaspora.yml.example
 
*****************************************************************
 
</syntaxhighlight>
 
 
 
The internal xmpp server does not support https and<br />
 
even if we implement it, we would ran into certificate issues.<br />
 
The problem with mixed-content is described here: https://github.com/Zauberstuhl/diaspora/issues/6
 
 
 
The easiest way of avoiding certificate and mixed-content issues is to use a proxy (see apache and nginx section below)!
 
 
 
If you finished configuring your proxy settings you also have to adjust diaspora.yml!<br />
 
For my examples below, it would look like this:
 
 
 
<syntaxhighlight lang="yaml">
 
  chat:
 
    server:
 
      bosh:
 
        proxy: true
 
        bind: '/http-bind'
 
</syntaxhighlight>
 
 
 
=== Apache2 ===
 
 
 
<syntaxhighlight lang="apache">
 
RewriteEngine On
 
 
RewriteCond %{REQUEST_URI} ^/http-bind
 
RewriteRule ^/(http\-bind.*)$ balancer://chat%{REQUEST_URI} [P,QSA,L]
 
 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
 
RewriteRule ^/(.*)$ balancer://diaspora%{REQUEST_URI} [P,QSA,L]
 
 
<Proxy balancer://diaspora>
 
  BalancerMember http://127.0.0.1:3000
 
</Proxy>
 
 
<Proxy balancer://chat>
 
  BalancerMember http://0.0.0.0:5280
 
</Proxy>
 
</syntaxhighlight>
 
 
 
=== Nginx ===
 
 
 
This is <b>NOT</b> tested. Please let me know if there are any problems with the configuration settings!
 
<syntaxhighlight lang="bash">
 
upstream chat_cluster {
 
  server localhost:5280;
 
}
 
 
location /http-bind {
 
  proxy_set_header X-Real-IP $remote_addr;
 
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
  proxy_set_header Host $http_host;
 
  proxy_set_header X-Forwarded-Proto https;
 
  proxy_redirect off;
 
  client_max_body_size 4M;
 
  client_body_buffer_size 128K;
 
 
  proxy_pass http://chat_cluster;
 
}
 
</syntaxhighlight>
 
 
 
= Debugging =
 
 
 
On default Vines will log to <tt>log/vines.log</tt> and has a log level of <tt>info</tt> set.
 
Set the logging level to <tt>debug</tt>, <tt>info</tt>, <tt>warn</tt>, <tt>error</tt>, or <tt>fatal</tt>. The <tt>debug</tt> level logs all XML sent and received by the server.
 
 
 
<syntaxhighlight lang="yaml">
 
  chat:
 
    server:
 
      log:
 
        file: 'log/vines.log'
 
        level: 'debug'
 
</syntaxhighlight>
 
 
 
 
 
[[Category:Podmin]] [[Category:Installation]]
 

Latest revision as of 10:08, 17 June 2016

Redirect to:

»» Important
This page moved to Integration/Chat