Django pode ser instalado em um ambiente compartilhado apenas se você usar FastCGI.
Nota: Você vai precisar do módulo Flup e Django instalado. Servidores dedicados podem usar estas instruções, mas os planos compartilhados e de revenda, já tem esses módulos instalados.
Em primeiro lugar, precisamos instalar o módulo Flup e Django. Podemos usar easy_install para fazer isso.
Execute os comandos:
easy_install flup easy_install django |
Você não possui easy_install no seu servidor?
1. Acesse http://pypi.python.org/pypi/setuptools# files e faça download do egg apropriado para sua versão do Python, ou seja, setuptools-0.6c11-py2.4.egg. NÃO renomeie o arquivo!
2. Execute-o como se fosse um script:
sh setuptools-0.6c11-py2.4.eg |
Setuptools será instalado utilizando a versão correspondente do Python (normalmente python2.4), e vai colocar o easy_install executável no local padrão para a instalação de scripts em Python.
Volte para o topo desta página e tente executar as duas linhas do easy_install, mais uma vez.
Nota: Esta próxima parte pode ser feito por qualquer usuário que tenha acesso SSH. Isto inclui planos ompartilhados revendas e servidores dedicados.
Criar um novo projeto do Django ou fazer upload de seu projeto existente (não será mostrado). Pode ser uma boa idéia criar um projeto fictício apenas para ter uma base para testar a sua instalação.
Para iniciar um novo projeto, execute os comandos seguintes:
django-admin.py startproject newproject cd newproject chmod +x manage.py ./manage.py startapp newapp |
Nota: Esta última parte pode ser feito por qualquer usuário que tenha acesso SSH. Isto inclui planos compartilhados revendas e servidores dedicados.
Crie o arquivo index.fcgi e coloque-o dentro do seu diretório www (public_html) ou no diretório de trabalho que você esteja usando. Altere as permissões do arquivo para 0755. Em seguida, edite o arquivo e insira o código seguinte:
#!/usr/bin/python import sys, os # Add a custom Python path. (optional) sys.path.insert(0, "/home/username") # Switch to the directory of your project. os.chdir("/home/username/newproject") # Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "newproject.settings" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false") |
O código acima funciona para qualquer pessoa que, literalmente, seguiu os comandos anteriores para instalar o Django e criar um novo projeto. Se você mudou o nome do projeto ou diretório, você vai precisar fazer as mesmas alterações para o código acima.
Finalmente, aqui estão as regras para seu arquivo .htaccess. (rewrite rules) que pertencem ao mesmo diretório do seu novo arquivo index.fcgi.
AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L] |
Nota: Se você tiver mais de uma instalação do Python, você pode precisar especificar para qual você está instalando o setuptools.
Veja como resolver o problema do SSH:
wget http://peak.telecommunity.com/dist/ez_setup.py /usr/bin/python ez_setup.py /usr/bin/easy_install django flup==1.0.2 |