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:
$ 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:
- http://www.apache.org
- http://www.mysql.com
- http://www.php.net
- 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:
É 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
- cd /noe/php
- tar jxf php-4.4.2.tar.bz2
- mv php-4.4.2 source-4.4.2-upload
- wget http://pdoru.from.ro/upload-progress-meter/upload-progress-meter-v4.1.tgz
- tar zxf upload-progress-meter-v4.1.tgz
- cd source-4.4.2-upload
- patch -p1 < ../upload-progress-meter-v4.1/php-patch/patch.upload-progress-callback-v4.1-for-php4.3.10.txt
Módulo
- cd /noe/php/upload-progress-meter-v4.1/upload_progress_meter
- /noe/php/bin/bin/phpize
- ./configure --with-php-config=/noe/php/bin/bin/php-config
- make
- make install
- // 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