настройка apache + wsgi.py

7 years 3 months ago - 7 years 3 months ago #934 by LAD75
LAD75 created the topic: настройка apache + wsgi.py
приветствую.
подскажите, пожалуйста, как настроить связку apache + wsgi.py ? хотелось бы именно через apache, а не встроенным сервером (работает отлично).
запускается, но только главная страница. остальное не отображается (403 Forbidden), по ссылкам тоже не переходит.
искал решение самостоятельно, но не нашел или не понял как. не специалист в настройке, к сожалению. возможно, что решение на поверхности.

Ubuntu Linux 16.04.1
Питон 3
Остальное, как по мануала поставлено.

Из соседнего топика попробовал прописать другой static, но все равно пооучаю ошибку доступа:
"Forbidden
You don't have permission to access /opds/admin/ on this server"

Такое ощущение, что что-то со ссылками на каталоги.

настройка хоста:

WSGIPythonPath /opt/sopds-master/

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/домен/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/домен/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

#(opds begin
Alias /static/ /opt/sopds-master/static
<Directory /opt/sopds-master/static>
Require all granted
</Directory>

WSGIScriptAlias /opds/ /opt/sopds-master/sopds/wsgi.py
<Directory /opt/sopds-master/sopds/>
<Files wsgi.py>
Require all granted
</Files>
Options Indexes FollowSymLinks
</Directory>
#opds end)

</VirtualHost>
</IfModule>

Last Edit: 7 years 3 months ago by LAD75.

Please Войти or Create an account to join the conversation.

  • LAD75
  • LAD75's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
7 years 3 months ago #941 by LAD75
LAD75 replied the topic: настройка apache + wsgi.py
при попытке скачать через мунридер на телефоне, получаю ошибку:

Internal Server Error: /opds/download/15210/0/
Traceback (most recent call last):
File "/home/valera/.local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/home/valera/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
response = self._get_response(request)
File "/home/valera/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/valera/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/sopds-master/opds_catalog/dl.py", line 20, in Download
bookshelf.objects.get_or_create(user=request.user, book=book)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/query.py", line 473, in get_or_create
return self.get(**lookup), False
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/query.py", line 376, in get
clone = self.filter(*args, **kwargs)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/query.py", line 796, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/query.py", line 814, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1227, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1253, in _add_q
allow_joins=allow_joins, split_subq=split_subq,
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1158, in build_filter
self.check_related_objects(field, value, opts)
File "/home/valera/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1057, in check_related_objects
for v in value:
File "/home/valera/.local/lib/python3.5/site-packages/django/utils/functional.py", line 235, in inner
return func(self._wrapped, *args)
TypeError: 'AnonymousUser' object is not iterable

Please Войти or Create an account to join the conversation.

  • LAD75
  • LAD75's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
7 years 3 months ago #962 by jdf
jdf replied the topic: настройка apache + wsgi.py
Скажите а при отключении авторизации ошибка остается?
И по какой ссылке вы заходите на сервер? (пример: SITE.RU/opds )

У меня конструкция "Require all granted" не работает (хотя и апач 24)
а работает:
"Order deny,allow
Allow from al"l

Please Войти or Create an account to join the conversation.

  • jdf
  • jdf's Avatar
  • Offline
  • Новый участник
  • Новый участник
More
7 years 3 months ago - 7 years 3 months ago #963 by mitshel
mitshel replied the topic: настройка apache + wsgi.py
Скачайте последнюю версию из мастер ветки на Гитхабе или архив версии 0.39 сайта (внес исправления) - ошибка должна исчезнуть. Кроме того, чтобы Apache дал возможность sopds заниматься basic-авторизацией нужно использовать параметр в конфиг файле апача:
WSGIPassAuthorization On
Last Edit: 7 years 3 months ago by mitshel.

Please Войти or Create an account to join the conversation.

  • mitshel
  • mitshel's Avatar
  • Offline
  • Администратор
  • Администратор
More
Time to create page: 0.143 seconds