Я настраиваю сервер Apache2 в Ubuntu для размещения веб-сайта Flask. Проблема, с которой я столкнулся, заключается в том, что Apache обслуживает мои файлы только на странице «Индекс /», а не обслуживает мой сайт. Я новичок в Apache и пробовал настроить свой сайт, следуя множеству онлайн-руководств и руководств. Я думаю, что он у меня в основном настроен, но где-то есть неправильная конфигурация, которую я не могу обнаружить.
site.wsgi:
#!/usr/bin/python3.6
import sys
sys.path.insert(0, "/var/www/site.org/")
import app as application
if __name__ == '__main__':
application.run()
site.conf:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
<VirtualHost *:80>
DocumentRoot /var/www/site.org
ServerAdmin user@email.com
ServerName site.org
ServerAlias www.site.org
ErrorLog /var/www/site.org/logs/error.log
CustomLog /var/www/site.org/logs/access.log combined
WSGIScriptAlias /site.org /var/www/site.org/site.wsgi
WSGIDaemonProcess site.org python-home=/var/www/site.org/env python-path=/var/www/site.org/app user=www-data group=www-data threads=5
Alias /static/ /var/www/site.org/app/static
<Directory /var/www/site.org>
WSGIProcessGroup site.org
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Require all granted
</Directory>
</VirtualHost>
Дерево каталогов:
site.org
├── app
│ ├── __init__.py
│ ├── models.py
│ ├── routes.py
│ ├── site.db
│ ├── static
│ └── templates
├── application.py
├── config.py
├── env
├── requirements.txt
└── site.wsgi
Я не эксперт по Apache, но, судя по предоставленной вами структуре папок, нет файла для загрузки, например, apache; index.html или index.php.
Внутри вашего виртуального хоста включите;
DirectoryIndex index.html index.php
Это сообщит Apache, какие файлы загружать и какой приоритет им отдать.
Вам также потребуется создать соответствующий файл index.html или .php.
См. Эту ссылку для информации: https://httpd.apache.org/docs/2.4/mod/mod_dir.html