From 98abd224efe913ec8f428c78e38819e4373fdc2e Mon Sep 17 00:00:00 2001 From: Simon Vandevelde Date: Sun, 2 Feb 2020 20:42:16 +0100 Subject: [PATCH] First version for the guide on setting up the basic debug server. --- Basic-Setup.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Basic-Setup.md diff --git a/Basic-Setup.md b/Basic-Setup.md new file mode 100644 index 0000000..dc78bec --- /dev/null +++ b/Basic-Setup.md @@ -0,0 +1,62 @@ +This guide details an initial setup of an EteSync server. +It is specifically written for Ubuntu, but you should be able to use it as a guide for different systems as well. +Making a separate user to run the application is also recommended. + +### Download EteSync server +First we install the [Python virtual environment](https://docs.python.org/3/tutorial/venv.html) package, clone the repo, set up the virtual environment and install the Python dependencies. + +``` +apt-get install python3-virtualenv + +cd ~ # To set up the server in your home dir +git clone https://github.com/etesync/server-skeleton.git +cd server-skeleton + +virtualenv -p python3 venv # If doesn't work, try: virtualenv3 venv +source venv/bin/activate + +pip3 install -r requirements.txt +``` + +### Configure the application + +To configure the application, you need a Django `.ini` file. +Luckily, the repo already contains a basic ini called `etesync-server.ini.example` which we can copy. + +``` +cp etesync-server.ini.example etesync-server.ini +``` + +Open the file, and set allowed hosts to `*`. (Note: this is just for testing purposes. **Set this to your domain name later**.) + +It should now look like this: + +``` +[global] +secret_file = secret.txt +debug = false + +[allowed_hosts] +allowed_host1 = * + +[database] +engine = django.db.backends.sqlite3 +name = db.sqlite3 +``` + +### Test the application + +After initialising the server, you can run it for the first time. + +``` +./manage.py migrate +./manage.py runserver 0.0.0.0:8000 +``` + +On the machine, you can now surf to `localhost:8000` and it should show a page saying "It works!" +If you're on a different machine than the one running the server, surf to it's local IP address followed by the portnumber, e.g. `192.168.x.x:8000`. + +If this works, congratulations! +You now have a functioning Django application. + +**Using this server in production is not recommended, so please continue in the wiki to set up a proper deployment.** \ No newline at end of file