безопасно разместить проект django через apache, используя centos - PullRequest
0 голосов
/ 24 мая 2010

Ошибка может быть замечена в: http://djaffry.selfip.com:8080/

У меня был отличный проект, но у меня были все файлы в / var / www /, и с моим ограниченным пониманием это плохо, согласно сайту django:

"Если ваш фон написан на PHP, вы, вероятно, привыкли помещать код в корень документа веб-сервера (в такое место, как / var / www). С Django вы этого не делаете. Это не Хорошая идея поместить любой этот код Python в корень документа вашего веб-сервера, поскольку существует риск того, что люди смогут просматривать ваш код через Интернет. Это не очень хорошо для безопасности.

Поместите свой код в какой-то каталог за пределами корня документа, например /home/mycode."

.

Итак, я пошел на /home/tipu/stuff/ и казнил django-admin.py startproject twingle. Тогда я пошел в Apache и сделал

<VirtualHost *:8080>
    ServerName tweet_search_engine
    DocumentRoot /home/tipu/stuff/twingle/
</VirtualHost>

<Directory /home/tipu/stuff/twingle>
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  SetEnv DJANGO_SETTINGS_MODULE settings
  PythonOption django.root /home/tipu/stuff/twingle
  PythonDebug On
  PythonPath "['/home/tipu/stuff/', '/home/tipu/stuff/twingle/'] + sys.path"
</Directory>

Теперь я получаю 403 Запрещенную ошибку .. Есть идеи, что я делаю не так? Я новичок в Linux (CentOS) и django, так что я мог бы пропустить некоторые очень простые вещи.

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Это почти наверняка просто проблема с правами доступа. Пользователю Apache необходимы права для доступа ко всем каталогам на пути к вашему проекту - home, home / tipu, home / tipu / stuff, home / tipu / stuff / twingle и так далее. Вам необходимо выяснить, от какого пользователя работает Apache, и предоставить права на чтение этим каталогам.

Как полагает Игнасио, / srv, вероятно, является лучшим местом для этого, но те же проблемы с правами все еще имеют место.

0 голосов
/ 24 мая 2010

Ну, под /home это не то место, благодаря SELinux.Вместо этого поместите приложение под /srv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...