Fix installation instructions in README

This commit is contained in:
Mark Haines 2014-11-04 15:08:00 +00:00
parent ae48e75ad7
commit 402d080990
2 changed files with 33 additions and 27 deletions

View file

@ -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 *

View file

@ -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