Django e Python2.5 no dreamhost - Parte 2
dream-trading.co.mz/1xbet-promo-code-and-deposit-bonus Bom depois de Configurado o Python, como visto no post anterior é hora de colocar o django no ar. Ahh lembrando que o Django não é suportado oficialmente pela dreamhost por isso a instalação é um pouquinho...digamos...xarope ehhehe, mas é possivel sim!
Usei como base para esse post a instalação do Django que está no wiki do Dreamhost, mas tinha dado uns probleminhas e, garimpando aki e ali... cheguei no resultado que vou passar para voces!
Configurando o site no dreamhost
bom pra começar, crie um dominio no painel de controle da Dreamhost, no meu caso criei um subdominio, mas o processo é o mesmo!
Escolha “Manage Domains” e depois “Add New Domain / Sub-Domain”
Escolha oome para seu (sub)dominio, no meu caso coloquei django.mdpetry.net
Escolha “Extra web security” e “Fast CGI Support” e submeta o formulário
Depois crie uma base de dados e uma tabela para seu projeto (não vo ficar explicando isso, mas é bem fácil de fazer! :) )
Configurando o Django
Entre por ssh na sua conta, e no home seu usuário, crie uma pasta django e dentro dela a pasta django_projects, para adicionar os seus projetos.
dentro da pasta ~/django, baixe o source do django, através do svn utilizando o comando:
svn co http://code.djangoproject.com/svn/django/trunk/ django_src
Altere o seu .bash_profile, adicionando as linhas:
export PATH=$PATH:$HOME/django/django_src/django/bin
export PYTHONPATH=$PYTHONPATH:$HOME/django/django_src:$HOME/django/django_projects
e ative as mudanças digitando
source ~/.bash_profile
agora entre no diretório django_projects e crie um novo projeto:
django-admin.py startproject myproject
Como de costume, ele criou uma série de arquivos, crie as pastas para os templates e para as imagens (geralmente eu as crio dentro da pasta do projeto, mas tanto faz onde elas serão criadas)
no meu caso criei a pasta templates e media.
á no arquivo settings.py e altere as configurações:
de banco de dados:
DATABASE_ENGINE = 'mysql' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'django_db' # Or path to database file if using sqlite3.
DATABASE_USER = 'usuario' # Not used with sqlite3.
DATABASE_PASSWORD = 'senha' # Not used with sqlite3.
DATABASE_HOST = 'djangomysql.mdpetry.net' # Set to empty string for localhost. Not used with sqlite3.
de internacionalização:
TIME_ZONE = 'America/Sao_Paulo'
LANGUAGE_CODE = 'pt-br'
de templates:
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates".
# Always use forward slashes, even on Windows.
"/home/mdpetry/django/django_projects/myproject/templates"
)
mídia:
MEDIA_ROOT = '/home/mdpetry/django/django_projects/myproject/media'
MEDIA_URL = 'http://django.mdpetry.net/media/'
ADMIN_MEDIA_PREFIX = '/admin_media/'
insira a seguinte linha no .bash_profile
export DJANGO_SETTINGS_MODULE=myproject.settings
e ative novamente o arquivo.após isso, sincronize o BD e crie u musuário para acessar a area de adminsitração com as suas alterações na pasta do projeto, digite:
django-admin.py syncdb
instalando e configurando o FASTCGI e o mod_rewrite
vá até o subdominio criado e vaixe o script python
wget http://svn.saddi.com/py-lib/trunk/fcgi.py
e altere as permissões do arquivo chmod 755 fcgi.py
crie o arquivo dispatch.fcgi
#!/home/mdpetry/opt/bin/python
import sys
sys.path += ['/home/mdpetry/django/django_src']
sys.path += ['/home/mdpetry/django/django_projects']
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
WSGIServer(WSGIHandler()).run()
para o mod rewrite, crie o arquivo .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(admin_media/.*)$ - [L]
RewriteRule ^(dispatch\.fcgi/.*)$ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
reinicia o python para validar as mudanças:
pkill python
Configurações finais
altere as os links dos arquivos de midia para o projeto do django:
ln -s $HOME/django/django_src/django/contrib/admin/media $HOME/django.mdpetry.net/admin_media
adicione no arquivos settings.py do seu projeto a app de adminsitração:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
)
e no arquivos urls.py, deconmente a linahs da adminsitração tbem:
(r'^admin/', include('django.contrib.admin.urls')),
reinicie o python e na pasta do projeto instale o proejto com o manage.py
pkill python
python manage.py syncdb
e... ta pronto! se voce acessar http://django.DEUDOMINIO.com/admin, deverá aparecer a tela de login da interface de adminsitração do django!