Files
pyShelf/.github/SUPPORT.md
2019-12-19 13:44:48 -05:00

3.5 KiB
Vendored

Getting Help With pyShelf

If you have issues during initial setup please make sure you have a working Web Server (the pyShelf team recommends NGINX, and that you have correctly setup your webserver to forward cgi requests to uWSGI. Additionaly uWSGI must be setup to serve the application. A sample NGINX config (pyshelf_nginx.conf), and (uwsgi.ini) are included in the project root.

Ensure your Webserver has appropriate access to your install directory!

pyshelf_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
    # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
    server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
  • Set the server port, this must match the socket decleration in your uwsgi config uwsgi.ini by default.
# configuration of the server
server {
    # the port your site will be served on
    listen      8000;
    # the domain name it will serve for
    server_name 127.0.0.1; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste
  • Set listen to the port you want to serve the frontend on
  • Set server_name to the ip address, or FQDN of your server
    # Django media
    location /media  {
        alias /home/raelon/Projects/pyShelf/frontend/interface/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /home/raelon/Projects/pyShelf/frontend/interface/static; # your Django project's static files - amend as required
    }

    location /books {
        internal;
        alias   /home/raelon/Projects/pyShelf/books;
        # Absolute location of your ebook files
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /home/raelon/Projects/pyShelf/uwsgi_params; # the uwsgi_params file you installed
    }
}
  • Adjust all the alias /home/raelon/Project/pyShelf entries to match your install directory ensure you do not change the /frontend/interface/media or /frontend/interface/static portions
  • Adjust alias /home/raelon/Projects/pyShelf/books to match the location of your books

uwsgi.ini

[uwsgi]
# chdir = {Full path to pyShelf/frontend}
chdir=/home/raelon/Projects/pyShelf/src
module=frontend.wsgi
master=True
pidfile=/tmp/pyShelf.pid
vacuum=True
socket=127.0.0.1:8001
  • Set chdir=/home/raelon/Projects/pyshelf leaving /src intact to match your install directory
  • Set socket=127.0.0.1:8001 to match the entry as defined above in upstream django{

Now you may restart your webserver to apply the changes, and then either run uwsgi -i uwsgi.ini fron the project root, or restart your uwsgi service.

Import your books

  • Run ./importBooks in your project root

Access pyShelf's frontend

  • Browse to http://localhost:8000 substitute ip:port as defined in your webserver and you should be greeted by the pyShelf frontend.

Still Stuck?

Please contact us using any of the options below for support. Please be prepared with your nginx error logs.

Via Email

Live Support Options