Felix Costa
"As falhas são o combustÃvel do sucesso"
"As falhas são o combustÃvel do sucesso"
ago 16th
Estava sentado na frente do computador quando sem mais nem menos olhei para a prateleira bem em minha frente e reparei em um livro em especial.
O livro se chama C completo e total. Comprei este livro em 1997. Isso mesmo, faz 11 anos que tenho este livro aqui na prateleira e então resolvi folhear algumas páginas.
Confesso que quando comprei este livro tinha 17 anos, estava iniciando a trabalhar com TI mas não tinha a mínima idéia se o livro era didádico para programadores iniciantes ou voltado para programadores mais experientes.
Ná época confesso que não entendia nada do que estava escrito, tipos dados? Estruturas de Dados? Matrizes e Matrizes esparças? listas, pilha, queue, hash, etc.???
O fato é que sem sombra de dúvida, este é um livro que não me arrependo nem um pouco por ter adquirido.
Toda a parte estrutural da linguagem C é muito bem explicada pelo autor e seu conteúdo, o único porém, é que além das funções definidas no padrão ANSI, o autor também explica algumas bilbiotecas não padrão e que rodava somente em turbo C como a bilioteca conio.h. Nada de GCC e glib…
Mas as características estruturais da linguagem são muito bem explicadas e exemplificadas.
Na minha opinião fale a pena.
Editora: Makron Books
Ano: 1997
Edição: 3
Número de páginas: 827
Boa leitura
jul 3rd
Na primeira parte deste post foi feita a instalação do apache e do mod_python veja aqui (Post Anterior).Agora vamos dar seqüencia no processo de instalação do ambiente que tem como foco a preparação do servidor para utilização do subversion e do trac para gerenciar projetos que estou desenvolvendo em trac.
Este server também será preparado para a instalação futura do framework django para o desenvolvimento de uma novo projeto.
Vale lembrar que todos os pacotes foram descompactados em /usr/src e instalados como root:
Instalação do Swig
./configure -with-python=/usr/bin/python
make
make install
Instalação do Subversion
./configure –with-apxs=/usr/local/apache2/bin/apxs –with-apr=/usr/local/apr/ –with-apr-util=/usr/local/apr/ –without-neon
make
make install
Obs.: realizando a instalação sem a opção -without-neon compilará o neon que é uma biblioteca para acessa a servidores remotos pelo protocolo webdav. No meu setup aqui apresentou falhas na construção dos módulos python. Não perdi nenhuma funcionalidade desativando o neon. Caso tenha algum problema volto para corrigir.
Para começar a utilizar o subversion, precisamos configurar o servidor subversion utilizado para prover o serviço. Temos o svnserve e o apache via dav para prover tal serviço e segue a configuração para cada método. Mas antes vamos iniciar um repositório.
Criar novo repositório svnadmin create /caminho/para/repositorio
Iniciar servidor subversion
Para utilizar o svnserve como server temos duas formas de configurar:
Iniciando como Daemon
# svnserve -d
Iniciando pelo Inetd
# vi /etc/inetd
e adicione as linha
svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i
svnowner é um usuário criado para executar o svnserve, em meu server utilizo o usuário svn
Reinicie o serviço inetd.
Rodando o svnserver por padrão o serviço escutará na porta 3690 tcp caso tenha acesso externo ao servidor libera esta porta no firewall.
Agora já temos um servidor configurado com apache, mod_python e subversion.
Em um próximo post vamos configurar o apache para prover acesso ao repositório subversion e a população inicial de um repositório e checkout e commit de uma cópia de trabalho.
Referências:
Mod_Python – www.modpython.org
Subversion – subversion.tigris.org
Trac – trac.edgewall.org/
jun 26th
Esta semana precisei compilar o apache a partir dos fontes. Foi uma experiência interessante, já que sempre utilizei a versão empacotada no meu server debian etch.
Decidi aceitar o desafio mais por uma questão didática, acho a experiência de compilar pacotes grandes e com variadas dependências essencial para conhecer profundamente determinado software.
O ambiente foi montado sobre um servidor Debian Etch e não utilizei as versões empacotadas dos respectivos softwares instalados. Antes de mais nada quero salientar que não tenho nada contra os pacotes deb muito pelo contrário. O debian possui excelentes ferramentas para gerenciamento de pacotes. Tive apenas a necessidade de utilizar versões mais atuais do apache e do subversion para poder utilizar o Trac e trabalhar em meus projetos em python
Softwares necessários
Apache 2.2.9
http://www.apache.org/dist/httpd/httpd-2.2.9.tar.gz
HTTP Server propriamente dito em sua última versão
Mod_Python 3.3.1
http://www.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
Módulo do apache que permite utilizemos a linguagem python para desenvolver para web.
APR 1.3.2
http://www.apache.org/dist/apr/apr-1.3.2.tar.gz
Biblioteca utilizado tanto pelo apache como pelo subversion que provê uma API que assegura que o código desenvolvido tenha o mesmo comportamento em plataformas específicas.
APR-Util 1.3.2
http://www.apache.org/dist/apr/apr-util-1.3.2.tar.gz
Mais bibliotecas utilizadas pelo APR
Subversion 1.4.6
http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
Sistema de controle de versões.
SWIG 1.3.35
http://ufpr.dl.sourceforge.net/sourceforge/swig/swig-1.3.35.tar.gz
Ferramenta de desenvolvimento que conecta programas escritos em c/c++ com uma enorme variedade de linguagens de alto nível.
Instalando
Para facilitar vou citar apenas o processo de compilação dos softwares. O processo de descompactação está bem explicado em outros tutoriais pela internet e os pacotes foram descompactado em /usr/src e a instalação será feita como root.
Instalação das bibliotecas apr e apr-util
O Pacote apr e apr-util serão instalados em /usr/local/apr
Para compilar o apr
# ./configure
# make
# install
Entre nos diretórios dos fontes do apr-util e execute:
#./configure -with-apr=/usr/local/apr/
# make
# make install
Instalação do Apache
Os pacotes foram instalados com os comandos abaixo. As opções utilizadas em ./configure serão detalhadas em outro artigo. A instalação padrão será no diretório /usr/local/apache2
# ./configure –enable-rewrite=shared –enable-speling=shared –enable-so –enable-dav –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-proxy –enable-proxy-connect –enable-proxy-ftp –enable-proxy-http –enable-ssl –enable-http –enable-info –enable-dav –enable-suexec –enable-cgi –enable-dav-fs –enable-dav-lock –enable-vhost-alias # make
# make install
Instalação Mod_Python# ./configure –with-apxs=/usr/local/apache2/bin/apxs -with-python=/usr/bin/python
# make
# make install
Acesse o arquivo de configuração do apache em:
# /usr/local/apache2/conf/httpd.conf
Descomente a linha ServerName e adicione o nome do seu servidor, ex.
ServerName server.exemplo.com.br
Vamos iniciar o apache com o comando:
# /usr/local/apache2/bin/apachectl start
Agora já temos um servidor http instalado e configurado com os módulos dav e mod_python.
Voltaremos a configuração do servidor em um próximo post, contendo a instalação do subversion e o trac.
Referências:
Apache – www.apache.org
Mod_Python – www.modpython.org
Subversion – subversion.tigris.org
Trac – trac.edgewall.org/