forked from MirrorHub/synapse
Fix installation instructions in README
This commit is contained in:
parent
ae48e75ad7
commit
402d080990
2 changed files with 33 additions and 27 deletions
|
@ -1,3 +1,4 @@
|
||||||
recursive-include docs *
|
recursive-include docs *
|
||||||
recursive-include tests *.py
|
recursive-include tests *.py
|
||||||
recursive-include synapse/persistence/schema *.sql
|
recursive-include synapse/storage/schema *.sql
|
||||||
|
recursive-include webclient *
|
||||||
|
|
57
README.rst
57
README.rst
|
@ -122,12 +122,12 @@ Thanks for trying Matrix!
|
||||||
|
|
||||||
[2] End-to-end encryption is currently in development
|
[2] End-to-end encryption is currently in development
|
||||||
|
|
||||||
|
|
||||||
Homeserver Installation
|
Homeserver Installation
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
First, the dependencies need to be installed. Start by installing
|
Synapse is written in python but some of the libraries is uses are written in
|
||||||
'python2.7-dev' and the various tools of the compiler toolchain.
|
C. So before we can install synapse itself we need a working C compiler and the
|
||||||
|
header files for python C extensions.
|
||||||
|
|
||||||
Installing prerequisites on Ubuntu::
|
Installing prerequisites on Ubuntu::
|
||||||
|
|
||||||
|
@ -137,30 +137,35 @@ Installing prerequisites on Mac OS X::
|
||||||
|
|
||||||
$ xcode-select --install
|
$ xcode-select --install
|
||||||
|
|
||||||
|
Synapse uses NaCl (http://nacl.cr.yp.to/) for encryption and digital
|
||||||
|
signatures. Unfortunately PyNACL currently has a few issues
|
||||||
|
(https://github.com/pyca/pynacl/issues/53) and
|
||||||
|
(https://github.com/pyca/pynacl/issues/79) that mean it may not install
|
||||||
|
correctly. To fix try re-installing from PyPI or directly from (https://github.com/pyca/pynacl)::
|
||||||
|
|
||||||
|
$ # Install from PyPI
|
||||||
|
$ pip install --user --upgrade --force pynacl
|
||||||
|
$ # Install from github
|
||||||
|
$ pip install --user https://github.com/pyca/pynacl/tarball/master
|
||||||
|
|
||||||
|
On OSX, if you encounter ``clang: error: unknown argument: '-mno-fused-madd'``
|
||||||
|
you will need to ``export CFLAGS=-Qunused-arguments``.
|
||||||
|
|
||||||
|
To install the synapse homeserver run::
|
||||||
|
|
||||||
|
$ pip install --user --process-dependency-links https://github.com/matrix-org/synapse/tarball/master
|
||||||
|
|
||||||
|
This installs synapse, along with the libraries it uses, into
|
||||||
|
``$HOME/.local/lib/``.
|
||||||
|
|
||||||
|
Homeserver Development
|
||||||
|
======================
|
||||||
|
|
||||||
The homeserver has a number of external dependencies, that are easiest
|
The homeserver has a number of external dependencies, that are easiest
|
||||||
to install by making setup.py do so, in --user mode::
|
to install by making setup.py do so, in --user mode::
|
||||||
|
|
||||||
$ python setup.py develop --user
|
$ python setup.py develop --user
|
||||||
|
|
||||||
You'll need a version of setuptools new enough to know about git, so you
|
|
||||||
may need to also run::
|
|
||||||
|
|
||||||
$ sudo apt-get install python-pip
|
|
||||||
$ sudo pip install --upgrade setuptools
|
|
||||||
|
|
||||||
If you don't have access to github, then you may need to install ``syutil``
|
|
||||||
manually by checking it out and running ``python setup.py develop --user`` on
|
|
||||||
it too.
|
|
||||||
|
|
||||||
If you get errors about ``sodium.h`` being missing, you may also need to
|
|
||||||
manually install a newer PyNaCl via pip as setuptools installs an old one. Or
|
|
||||||
you can check PyNaCl out of git directly (https://github.com/pyca/pynacl) and
|
|
||||||
installing it. Installing PyNaCl using pip may also work (remember to remove
|
|
||||||
any other versions installed by setuputils in, for example, ~/.local/lib).
|
|
||||||
|
|
||||||
On OSX, if you encounter ``clang: error: unknown argument: '-mno-fused-madd'``
|
|
||||||
you will need to ``export CFLAGS=-Qunused-arguments``.
|
|
||||||
|
|
||||||
This will run a process of downloading and installing into your
|
This will run a process of downloading and installing into your
|
||||||
user's .local/lib directory all of the required dependencies that are
|
user's .local/lib directory all of the required dependencies that are
|
||||||
missing.
|
missing.
|
||||||
|
@ -204,11 +209,11 @@ IDs:
|
||||||
For the first form, simply pass the required hostname (of the machine) as the
|
For the first form, simply pass the required hostname (of the machine) as the
|
||||||
--host parameter::
|
--host parameter::
|
||||||
|
|
||||||
$ python synapse/app/homeserver.py \
|
$ python -m synapse.app.homeserver \
|
||||||
--server-name machine.my.domain.name \
|
--server-name machine.my.domain.name \
|
||||||
--config-path homeserver.config \
|
--config-path homeserver.config \
|
||||||
--generate-config
|
--generate-config
|
||||||
$ python synapse/app/homeserver.py --config-path homeserver.config
|
$ python -m synapse.app.homeserver --config-path homeserver.config
|
||||||
|
|
||||||
Alternatively, you can run synapse via synctl - running ``synctl start`` to
|
Alternatively, you can run synapse via synctl - running ``synctl start`` to
|
||||||
generate a homeserver.yaml config file, where you can then edit server-name to
|
generate a homeserver.yaml config file, where you can then edit server-name to
|
||||||
|
@ -226,12 +231,12 @@ record would then look something like::
|
||||||
At this point, you should then run the homeserver with the hostname of this
|
At this point, you should then run the homeserver with the hostname of this
|
||||||
SRV record, as that is the name other machines will expect it to have::
|
SRV record, as that is the name other machines will expect it to have::
|
||||||
|
|
||||||
$ python synapse/app/homeserver.py \
|
$ python -m synapse.app.homeserver \
|
||||||
--server-name YOURDOMAIN \
|
--server-name YOURDOMAIN \
|
||||||
--bind-port 8448 \
|
--bind-port 8448 \
|
||||||
--config-path homeserver.config \
|
--config-path homeserver.config \
|
||||||
--generate-config
|
--generate-config
|
||||||
$ python synapse/app/homeserver.py --config-path homeserver.config
|
$ python -m synapse.app.homeserver --config-path homeserver.config
|
||||||
|
|
||||||
|
|
||||||
You may additionally want to pass one or more "-v" options, in order to
|
You may additionally want to pass one or more "-v" options, in order to
|
||||||
|
|
Loading…
Reference in a new issue