Em servidores compartilhados normalmente não é possível ter a versão do Python ou mesmo do Django de acordo com as necessidades do projeto. Porém, tendo um acesso SSH, é possível instalar, no diretório home, a versão requerida para rodar o projeto.
Como exemplo, será demonstrado como instalar uma versão do Python e do Django diferente da oferecida pelo serviço de hospedagem compartilhada do Dreamhost. No momento da escrita do post as versões do Python e do Django oferecidas são, respectivamente, 2.5.2 e 1.2.1. Serão instaladas as versões atuais que são 2.7.2 para o Python e 1.3.1 para o Django.
Além disso, será configurado o pip,
virtualenv e
virtualenvwrapper
para facilitar manter diversos projetos e criar ambientes virtuais para atender
as necessidades de cada projeto.
Antes de iniciar tenha certeza que seu usuário tenha acesso SSH. É desejável ter algum conhecimento sobre Linux para facilitar o entendimento das etapas descritas.
Configuração inicial do ambiente
Sua conta deve estar configurada como descrito:
Primeiro, crie os diretórios necessários:
cd ~
# Criação dos diretórios raiz (e log/setup)
mkdir -pv soft run www log log/setup backup data
# Criação dos subdiretórios dentro de run (nosso FHS)
for subdir in bin etc include lib man share
do
mkdir -pv run/${subdir}
done
# link simbólicos para manter os manuais em um local comum
ln -sv ../man run/share/man
# link simbólico dentro de log para os logs do apache
ln -sv ../logs log/vhosts
Em seguida, edite o arquivo ~/.bashrc
para configurar o ambiente, adicione as
seguintes linhas:
# Variável para facilitar as instalações
export RUN=$HOME/run
# Adiciona o run/bin ao PATH do sistema
PATH=$RUN/bin:$PATH
# Define os caminhos para bibliotecas
export LD_LIBRARY_PATH=$RUN/lib:$LD_LIBRARY_PATH
export LD_RUN_PATH=$RUN/lib:$LD_RUN_PATH
Após editar o .bashrc
execute o comando abaixo para assegurar ele seja
carregado na sessão atual.
. ~/.bashrc
Para maiores informações e outras configurações visite Unix account setup. Para instalar o Python, somente as configurações descritas são suficientes.
Instalação do Python 2.7.2
O Python precisa ser baixado e compilado, para isso basta executar os comandos:
# Diretório para baixar e compilar o Python
cd ~/soft
# Download do Python 2.7.2
wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz
# Extrai o conteúdo do pacote
tar -zxvf Python-2.7.2.tgz
# Acessa o diretório com o conteúdo extraido
cd Python-2.7.2
# Configura a instalação, repare no prefixo informado
./configure --prefix=$RUN
# Compilação do Python
make
# Instalação do Python
make install
# Se tudo ocorreu bem, teremos o python 2.7.2 instalado
python --version
Instalação do setuptools e do pip
Para gerenciar os pacotes, será utilizado o pip. Porém para facilitar a instalação do pip será intalado o setuptools que oferece o comando easy_install. Para instalar o setuptools execute os comandos:
# Diretório para baixar e compilar o Python
cd ~/soft
# Download do setuptools para o Python 2.7.x
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
# Instalação do setuptools, repare no prefixo informado
sh setuptools-0.6c11-py2.7.egg --prefix=$RUN
Uma vez instalado o setuptools, pode-se instalar o pip executando o seguinte comando:
easy_install pip
Agora que tem o pip instalado, será mais fácil de instalar os outros pacotes.
Instalação do virtualenv e virtualenvwrapper
Para instalar o virtualenv e virtualenvwrapper, basta executar o seguinte comando:
pip install virtualenvwrapper
Como o virtualenv é uma dependência do virtualenvwrapper, ele será automaticamente instalado, pois o pip se encarrega de resolver as dependencias dos pacotes que serão instalados.
Para configurar o virtualenvwrapper, adicione as seguintes linhas no ~/.bashrc:
export WORKON_HOME=~/.virtualenvs
source virtualenvwrapper.sh
Essa configuração informa que os ambientes virtuais serão instalados no
diretório ~/.virtualenvs
.
Para que esse configuração tenha efeito imediado execute o comando:
. ~/.bashrc
Caso o comando anterior não seja executado, somente na próxima vez que iniciar uma sessão SSH, as configurações entrarão em vigor.
Instalação do Django
Finalmente, para instalação do Django, já que temos o pip instalado, basta executar o comando:
pip install django
Com isso teremos o Django disponível no sistema. Eu tenho a preferência de instalar o Django sempre que criar um virtualenv, pois dessa forma cada projeto pode permanescer com sua versão requerida do Django.
Maiores informações
Para maiores informações consulte as referências: