2010-01-16 2 views
1

Возможно ли разработать многопользовательские сетевые приложения CRUD (с Django, Ruby on Rails и т. Д.) На сервере, на котором у вас нет доступа root?Использовать Django (или Ruby on Rails) на сервере без доступа root?

Наши машины в школе, на которых у меня есть обычная учетная запись, запустите веб-сервер, и я могу публиковать регулярные HTML-страницы и скрипты CGI. Насколько легко/сложно/невозможно установить Django с поддержкой базы данных в моем домашнем каталоге и получить простой пример? В качестве примера для начала я представляю, что пользователь может создать учетную запись, войти в систему и оставить сообщение.

У нас нет mysql и т. Д., Поэтому я должен установить его в своем домашнем каталоге, если это возможно.

Любые советы или помощь будут оценены.

ответ

3

Возможно установить и запустить Django без доступа root, хотя это далеко не просто.

Я сомневаюсь, что вы сможете запустить MySQL. Тем не менее, sqlite будет работать нормально, поскольку для этого требуется только доступ к файлу, который может легко жить в вашем домашнем каталоге. Предполагая, что вы используете Python 2.5+, включены библиотеки sqlite.

Поскольку вы можете запускать скрипты CGI, вы можете запустить Django через FastCGI. См. the FastCGI deployment documentation.

С точки зрения самого Django, это просто должно быть в вашем PYTHONPATH, и это может быть установлено в сценариях FCGI, которые соединяются с Apache.

+0

Я бы сказал, что если вы * не можете * запустить FastCGI, вы в значительной степени ввернуты. При запуске Python в обычном режиме CGI (т. Е. Mod_python или FastCGI) наблюдается значительное повышение производительности, и чем больше фрагмент кода, тем больше попадание. Перевод: запуск Django, как обычно, CGI теряет большое время. –

+0

Ух, не похоже, что я могу запустить FastCGI. В этом случае я, вероятно, просто использую Google Apps Engine. – Frank

0

Вы можете установить программное обеспечение Ruby, такое как Rails или Sinatra, без доступа root, и, как говорит Дэниел, вы можете использовать базы данных SQLite, если база данных MySQL недоступна.

Я думаю, что лучшим советом, однако, является либо поговорить с вашими администраторами, либо использовать внешнюю службу хостинга. Похоже, система, о которой вы говорите, предназначена для по существу статических веб-сайтов. Если вы ломаете веб-структуру и базу данных, то, по крайней мере, вы будете использовать больше, чем ваша справедливая доля ресурсов, и может нарушать ваши условия использования путем введения несанкционированного программного обеспечения.

Heroku предоставляет бесплатный хостинг для небольших сайтов Rails, и я считаю, что некоторые люди используют это как простой способ начать работу.

0

Как это школьная среда, вам действительно нужен полный сервер? Я имею в виду, не могли бы вы обойтись на dev-сервере (./manage runserver) и сэкономить массу проблем с настройкой? Я понятия не имею, что такое ваш сценарий, если вам просто нужно что-то во время входа в систему, я бы подумал, что все будет хорошо.

По существу, SQLite должно быть более чем достаточно, но оно имеет различные зависимости, которые могут быть больны (хотя, как и Django, а не невозможным).

Смежные вопросы