Como criar e configurar o ambiente de desenvolvimento do estúdiolivre.org?

ATENÇÃO: essa página possui instruções antigas e que não são mais utilizadas. Para saber como configurar o ambiente do EL veja a página preparandoAmbienteDeDesenvolvimentoDoEL. Ela foi mantida pois contem as instruções que foram seguidas para instalar o ambiente no servidor onde fica o EL.





Resumo


É importante que mais pessoas desenvolvam o Estúdio Livre, seja com contribuições de temas ou de inovações no código.

Em linhas (bem) gerais, o estudiolivre.org é uma customização do CMS Tikiwiki. Por isso, para configurar um ambiente de desenvolvimento, basicamente, você vai precisar de:
  • Tikiwiki (sistema gerenciador de conteúdo -CMS)
  • servidor web Apache (versões 1.3, 2.0 ou 2.2)
  • banco de dados MySQL (preferencialmente versão 4.1)
  • php (preferencialmente versão 4.4.x)

Além disso, o desenvolvimento do software do Estúdio Livre é bastante dependente do Polvo, uma ferramenta para publicação do nosso código, pois assim é posível ter maior controle sobre as alterações feitas, bem como facilidade para aplicar correções e atualizações no código do Tikiwiki.

CVS


Caso não conheça CVS, existe um tutorial de uso de CVS que é uma boa introdução.

O acesso de escrita no CVS é restrito para desenvolvedores. Para conseguir uma conta de desenvolvimento, cadastre-se na incubadora da fapesp e procure os desenvolvedores na lista de desenvolvimento: é necessário informar o cadastro à equipe para poder se tornar desenvolvedor do EL.

A organização do CVS do estudiolivre pode ser encontrada aqui; é muito importante ler e entender essa documentação para facilitar a interação com os desenvolvedores do site.

Introdução: o Polvo


O estudiolivre.org utiliza o Polvo para ser instalado. O polvo é um programinha que pega conteúdo de pastas diferentes e mescla em outra. Quando rodar o polvo não se esqueça do sudo, porque rodar o polvo sem sudo pode destruir seu ambiente de trabalho.

Para desenvolver o estudiolivre.org da mesma forma como fazem os atuais desenvolvedores, ((http://culturadigital.estudiolivre.org/tiki-index.php?page=Polvo&highlight=polvo|instale o polvo)).

Instalação do sistema base


Instalação do tikiwiki

Baixe o código aqui: http://sourceforge.net/project/showfiles.php?group_id=64258&package_id=112134

Ecolha uma das versões 1.9.x. Assim que o download estiver terminado, faça (substitua 1.9.5 por sua versão):
$ tar jxvf tikiwiki-1.9.5.tar.bz2
(pode mudar, conforme for o tipo de compressão)

Mova para a instalação base. Mantenha esse diretório, pois ele será útil para restaurar um ambiente de desenvolvimento caso você tenha problemas:
$ mv tikiwiki-1.9.5 /var/www/estudiolivre_base
(onde '/var/www' é o seu diretório raiz do Apache)

Crie o diretório para publicação:
$ cp -a /var/www/estudiolivre_base /var/www/estudiolivre

Faça a instalação do Tikiwiki:
$ chmod 755 setup.sh
$ sudo ./setup.sh www-data www-data
$ sudo chmod 777 backups/ db dump/ img/wiki img/wiki_up/ img/trackers/ modules/cache/ temp temp/cache/ templates templates_c/ styles/ whelp/ lib/Galaxia/processes/

Crie o banco de dados


Para criar o banco basta fazer:

$ mysql -u root;
> create database estudiolivre
> GRANT ALL PRIVILEGES ON estudiolivre.* TO estudiolivre@localhost IDENTIFIED BY ''; // se quiser, coloque sua senha aqui
> FLUSH PRIVILEGES;


Finalize a instalação


Acesse:
$ rm tiki-install.php

Crie um ambiente de desenvolvimento

Crie a pasta onde ficará o ambiente de desenvolvimento (onde ficam todas os arquivos do CVS, como phps, templates, css, svgs, etc.):
$ mkdir ~/estudiolivre
Não entre nessa pasta e baixe o repositório do CVS (ele vai ser jogado na pasta estudiolivre):
$ cvs -d:ext:seuusuario@incubadora.fapesp.br:/cvsroot/arca co estudiolivre

Desenvolvendo com Eclipse


Há um excelente tutorial em eclipseDev

Apêndice



Atualização da versão do Tikiwiki (ex: 1.9.4 => 1.9.5)


(em construção)
  • Fazer uma instalação limpa do tikiwiki novo
  • Rodar o script de update tiki_1.8to1.9.sql. Isso pode ser feito:
    • por linha de comando:
$ cd /diretorioApache/pastaDoTiki
$ mysql -u usuario nomedabase < db/tiki_1.8to1.9.sql
    • por interface:
      • no navegador abra o link:
http://seuservidor/seudominiotiki/tiki-install.php
      • na sessão de upgrade da página escolha o tiki_1.8to1.9.sql e clique em update


Compilação dos programas básicos


Os seguintes programas são utilizados:
  1. http://www.apache.org
  2. http://www.mysql.com
  3. http://www.php.net
  4. http://www.tikiwiki.org

No Debian:
$ sudo apt-get install apache mysql-server php4


Observações sobre o PHP


A instalação do PHP requer algumas bibliotecas por padrão:
  • gd
  • jpeg
  • png

É possível instalar a biblioteca GD utilizando o apt
$ sudo apt-get install php4-gd

Se você for desenvolver utilizando FFMPEG, é necessário compilar o programa.


$ './configure' --prefix=/noe/php/bin-4.4.2-up-ffmpeg
'--with-gd=/usr' \
'--with-apxs2=/noe/http_servers/apache2/bin/bin/apxs' \
'--with-jpeg-dir=/usr/lib' \
'--with-png-dir=/usr/lib' \
'--with-freetype-dir=/usr/lib' \
'--with-xpm-dir=/usr/lib' \
'--with-mysql' \
'--with-mime-magic=/usr/share/misc/file/magic.mime' \
'--with-ffmpeg=yes' \

$ make
$ sudo make install

Instalação de programas extra para desenvolvimento de funcionalidades específicas


O EL utiliza algumas bibliotecas para funcionalidades específicas. Desta forma, você não precisa obrigatoriamente instalá-las para desenvolver código para o EL. São elas:

FFMPEG - usado para gerar vídeos curtos e redimensionados a partir de um vídeo enviado.

  • ogg
  • theora
  • vorbis
  • faad
  • mp4
  • flac
  • lame

Em um sistema debian, foi necessário instalar os seguintes programas:

$ sudo apt-get install libfaac-dev libfaac0 faac libfaad2-0 libfaad2-dev libmp4v2-0 libmp4v2-dev libtheora0 libtheora-dev libogg0 libogg-dev liboggflac3 liboggflac-dev libvorbis0a libvorbis-dev libxvidcore4 libxvidcore4-dev libdts-dev lame liblame-dev liblame0 libimlib2-dev libmad0-dev liblcms1-dev libmng1 libmng-dev libx264-dev libavcodec-dev

Em seguida, é preciso compilar o FFMPEG:

Baixe o código fonte do FFMPEG:
wget -c http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/ffmpeg-0.4.9-p20050226.tbz2
$ tar jxvf ffmpeg-0.4.9-p20050226.tbz2
$ ./configure --prefix=/usr/ --enable-ogg --enable-vorbis --enable-theora --enable-faad --enable-faac --enable-xvid --enable-a52 --enable-dts --enable-shared --enable-pthreads --enable-libogg --enable-gpl --disable-static --enable-mp3lame --cpu=pentium4 --enable-x264
$ make
$ sudo make install

(observações: talvez seja necessário remover a entrada --enable-vorbis --enable-theora)

Depois baixe o ffmpeg-php e instale ele junto com os binários do PHP.

$ wget http://ufpr.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2
$ tar -xjf ffmpeg-php-0.5.0.tbz2
$ mv ffmpeg-php-0.5.0.tbz2 ffmpeg
$ cp ffmpeg /path/to/php_sources/ext/
$ cd /path/to/php_sources/
$ autoconf

Agora reconfigure e instale o PHP usando as opções gravadas no config.status e adicione --with-ffmpeg=DIR se essa opção já não estiver lá.

Upload progress meeter


http://culturadigital.org.br/tiki-index.php?page=Instalacao+do+Upload+Progress+Meter+no+PHP
  1. cd /noe/php
  2. tar jxf php-4.4.2.tar.bz2
  3. mv php-4.4.2 source-4.4.2-upload
  4. wget http://pdoru.from.ro/upload-progress-meter/upload-progress-meter-v4.1.tgz
  5. tar zxf upload-progress-meter-v4.1.tgz
  6. cd source-4.4.2-upload
  7. patch -p1 < ../upload-progress-meter-v4.1/php-patch/patch.upload-progress-callback-v4.1-for-php4.3.10.txt

Módulo
  1. cd /noe/php/upload-progress-meter-v4.1/upload_progress_meter
  2. /noe/php/bin/bin/phpize
  3. ./configure --with-php-config=/noe/php/bin/bin/php-config
  4. make
  5. make install
  6. // nano 2006-12-06 acho que nao precisa da linha abaixo, fiz sem e rolou... // mv /noe/php/bin-4.4.2/lib/php/extensions/no-debug-non-zts-20020429/ /noe/php/bin-4.4.2/lib/extensions/

Configuracao

php.ini

extension=no-debug-non-zts-20020429/upload_progress_meter.so
upload_progress_tracking.store_method=file
upload_progress_tracking.file=1

Last modification: 11/12/2008 at 12:14, by: rodrigo