Skip to content

Instantly share code, notes, and snippets.

@mateusg
Forked from douglasmiranda/1ntro.markdown
Created December 24, 2011 19:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mateusg/1518164 to your computer and use it in GitHub Desktop.
Save mateusg/1518164 to your computer and use it in GitHub Desktop.
Django + git + apache mod_wsgi na Kinghost

#Django + git + apache mod_wsgi na Kinghost

Apenas um lembrete para mim. Mas é legal compartilhar e ter a condição de melhorar com os comentários da galera :)

##Início

Talvez você não queira ficar digitando a senha toda vez que usar o ssh, então adicione sua chave pública ao seu host:

No servidor:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/*

Na máquina local:

cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'

Crie o projeto Django no painel ou manualmente, juntamente com o virtualenv e tudo mais...

##Configurações no servidor

Antes de prosseguir basta fazer o básico que é instalar seu django, seus módulos desejados em seu ambiente virtual, e então configurar seus arquivos bash:

.bash_profile

.bashrc

Depois configure o git no seu server:

django-git-kinghost-server.sh

##Arquivo de configuração Apache.mod_wsgi/Django

my_project.wsgi

touch my_project.wsgi

##Configurações na máquina local

django-git-kinghost-local-machine.sh

##EXTRA:

Dependendo de como você vai trabalhar com os arquivos estáticos, você pode usar da maneira como no arquivo:

urls.py

PATH=$PATH:$HOME/bin:$HOME/CAMINHO PARA O SEU DJANGO/django/bin
#... outros conteúdos do .bashrc
export PYTHONPATH="/home/SEU_USUARIO/virtualenvs/ENV/lib/python2.4/site-packages OU OUTRA PASTA QUE CONTENHA SEU AMBIENTE"
cd your-local-repository/
git init
git remote add user@server/~/.git/my_project_repository.git
ssh user@server
cd ~/
mkdir .git
cd .git/
mkdir my_project_repository.git
cd my_project_repository.git
git --bare init
cd ~/apps_wsgi/my_project
git init
git remote add ~/.git/my_project_repository.git
import os
import sys
# Calculates the path based on location of WSGI script.
apache_configuration = os.path.realpath(os.path.dirname(__file__))
project = os.path.join(apache_configuration, 'my_project')
sys.path.append(apache_configuration)
sys.path.append(project)
sys.path.insert(0, "/home/SEU_USUARIO/virtualenv OU OUTRA PASTA QUE CONTENHA SEU AMBIENTE")
os.environ['PYTHON_EGG_CACHE'] = '/home/SEU_USUARIO/apps_wsgi/.python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = 'my_project.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
# outros imports
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
# outros urls
)
# isto resolve os arquivos estaticos
urlpatterns += staticfiles_urlpatterns()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment