quinta-feira, 2 de dezembro de 2010

dspace - centos installation


== Prerequisites ==
CentOS-5.5
wget

== Installing JDK ==

Downloading packages. Download from the site http://www.oracle.com/technetwork/java/javase/downloads/index.html, execute the .bin and create the environment variables bellow.

Environment variables (yum didn't do this automaticaly in my instalation)
vim /root/.bash_profile
export JAVA_HOME=/usr/src/jdk1.6.0_22/
export PATH=$PATH:$JAVA_HOME/bin

Also run the following lines
export JAVA_HOME=/usr/src/jdk1.6.0_22/
export PATH=$PATH:$JAVA_HOME/bin


== Installing apache maven ==

Download the packages from "http://maven.apache.org/download.html".
My decompression was done in /usr/src/apache-maven-3.0.1. THIS DIRECTORY CAN TO CHANGE depending the version that you are using, pay attention to the paths bellow, you may have to change them.
Download and decompress the packages:
wget http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.1-bin.tar.gz
tar -xzvf apache-maven-3.0.1-bin.tar.gz

Environment variables:
vim /root/.bash_profile
export PATH=$PATH:/usr/src/apache-maven-3.0.1/bin

Also run the following lines:
export PATH=$PATH:/usr/src/apache-maven-3.0.1/bin

Test your configuration
mvn --version


== Installing apache-ant ==

Installation directory
cd /usr/src

You can to download the package from "http://ant.apache.org/bindownload.cgi", however pay attention to the paths names, you may have to change them. I'm downloading the version 1.8.1
Download and decompress the packages in /usr/src:
wget http://mirror.pop-sc.rnp.br/apache//ant/binaries/apache-ant-1.8.1-bin.tar.gz
tar -xzvf apache-ant-1.8.1-bin.tar.gz

Environment variables:
vim /root/.bash_profile
export ANT_HOME=/usr/src/apache-ant-1.8.1/
export PATH=$PATH:$ANT_HOME/bin/

Also run the following lines:
export ANT_HOME=/usr/src/apache-ant-1.8.1/
export PATH=$PATH:$ANT_HOME/bin/

Check if the installation is correct running the following commando, its return must be what's in quotes:
ant -version
"Apache Ant version 1.8.1 compiled on April 30 2010"


== Installing the postgres data base==

Downloading the packages
yum install postgresql84-server postgresql84-libs postgresql84

Starting initial configuration of postgres:
su - postgres
initdb -E utf-8 /var/lib/pgsql/data
exit

Enabling TCP/IP connections by JDBC, just comment the line that has "listen_addresses"
vi /var/lib/pgsql/data/postgresql.conf
.
.
.
#listen_addresses = 'localhost'
.
.
.


Allowing local connections in postgres, add the line "host dspace...":
vi /var/lib/pgsql/data/pg_hba.conf
.
.
.
host dspace dspace 127.0.0.1 255.255.255.255 md5
.
.
.

Restart the service to commit the settings:
/etc/init.d/postgresql restart

Configuring postgres to startup automaticaly:
chkconfig postgresql on

== Installing tomcat ==

Installing the repository that has tomcat for yum:
cd /etc/yum.repos.d/
wget http://www.jpackage.org/jpackage50.repo

Downloading the packages:
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps --skip-broken

Answer "yes" to the questions about GPG keys:
Importing GPG key 0xC431416D "JPackage Project (JPP Official Keys) " from http://www.jpackage.org/jpackage.asc
Is this ok [y/N]: y

Environment variables:
vim /root/.bash_profile
export TOMCAT_USER=tomcat

Also run the following lines:
export TOMCAT_USER=tomcat

Add the attribute URIEncoding into the server.xml file:
vi /etc/tomcat6/server.xml
.
.
.
<connector port="8080" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443" uriencoding="UTF-8">
.
.
.

Remove the tomcat repository. If you want to keep it, jump this line.
rm -f /etc/yum.repos.d/jpackage50.repo

Configuring tomcat to startup automaticaly:
chkconfig tomcat6 on


== Installing perl ==

Downloading the packages
yum install perl

== Installing dspace ==

Download the sources from "http://sourceforge.net/projects/dspace/"
The files were decompressed in "/usr/src/".

Create a database for dspace
createuser -U postgres -d -A -P dspace ; createdb -U dspace -E UNICODE dspace

Execute the package installation command:
cd /usr/src/dspace-1.6.2/dspace
mvn package

Building the packages:
cd /usr/src/dspace-1.6.2/dspace/target/dspace-1.6.2-build.dir/
ant fresh_install

After the execution of the "ant" command, the "dspace" installation will be create in the root directory "/dspace".
Deploy the installation to tomcat:
cp -R /dspace/webapps/* /var/lib/tomcat6/webapps

Create an administrator user for the dspace. Bear in mind: it will ask an e-mail, this e-mail will be your login.
/dspace/bin/create-administrator

Restart the tomcat service
/etc/init.d/tomcat6 restart

Test the dspace installation:
http://YOUR_SERVER_ADDRESS:8080/jspui/

== Possibles errors ==

"Unable to locate the Javac Compiler in: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar"
Do not use only the package "*openjdk*" from yum, it isn't complete. Install the JDK like I teach in "Installing JDK".

"WARNING: error instantiating 'org.apache.juli.ClassLoaderLogManager' referenced by java.util.logging.manager, class not found java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager not found"
If you installed the JDK like I teached in "Installing JDK", complete the installation (only if necessary) with "yum" command. Some packages may be missing.
yum install java-1.6.0-openjdk.x86_64

"org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."
This happens because the postgres connection. Check if the service is running or if the login and password are correct, as well the IP, selinux rules, firewall rules, etc...

"The program package-cleanup is found in the yum-utils package"
Resolve the dependencies:
yum install yum-utils


SORRY MY ENGLISH, I'M LEARNING YET!

dspace - instalação no centos


== Pré-requisitos ==
CentOS-5.5
wget

== Instalando JDK ==

Baixando pacotes. Baixe do site: http://www.oracle.com/technetwork/java/javase/downloads/index.html, execute o .bin e crie as variaveis de ambiente abaixo

Configurando variáveis de ambiente (o yum não fez automático na minha instalação)
vim /root/.bash_profile
export JAVA_HOME=/usr/src/jdk1.6.0_22/
export PATH=$PATH:$JAVA_HOME/bin

Execute também as linhas abaixo
export JAVA_HOME=/usr/src/jdk1.6.0_22/
export PATH=$PATH:$JAVA_HOME/bin

== Instalando apache maven ==

Baixar pacotes de "http://maven.apache.org/download.html".
A descompactação foi realizada no diretório /usr/src/apache-maven-3.0.1. ESSE DIRETÓRIO PODE MUDAR de acordo com a versão que baixar, fique atento nos caminhos que irei informar abaixo, você pode ter que mudá-los.
Baixando e descompacte os pacotes:
wget http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.1-bin.tar.gz
tar -xzvf apache-maven-3.0.1-bin.tar.gz

Configurando variáveis de ambiente:
vim /root/.bash_profile
export PATH=$PATH:/usr/src/apache-maven-3.0.1/bin

Execute também a linha abaixo
export PATH=$PATH:/usr/src/apache-maven-3.0.1/bin

Teste a configuração com o comando abaixo
mvn --version

== Instalando apache-ant ==

Diretorio de instalação
cd /usr/src

Você pode baixar o pacote que quiser em "http://ant.apache.org/bindownload.cgi", porém preste atenção nos nomes dos caminhos que podem mudar de acordo com a versão que baixar. Abaixo adotaremos 1 versão.
Baixe e descompacte o pacote em /usr/src:
wget http://mirror.pop-sc.rnp.br/apache//ant/binaries/apache-ant-1.8.1-bin.tar.gz
tar -xzvf apache-ant-1.8.1-bin.tar.gz

Colocando pasta bin do apache-ant no path do centos e definindo variável de ambiente com o home do apache ant
vim /root/.bash_profile
export ANT_HOME=/usr/src/apache-ant-1.8.1/
export PATH=$PATH:$ANT_HOME/bin/

Execute também
export ANT_HOME=/usr/src/apache-ant-1.8.1/
export PATH=$PATH:$ANT_HOME/bin/

Verifique se a instalação está correta executando o comando abaixo, o retorno deve ser os que está entre aspas:
ant -version
"Apache Ant version 1.8.1 compiled on April 30 2010"


== Instalando banco de dados postgres ==

Baixando pacotes
yum install postgresql84-server postgresql84-libs postgresql84

Configuração inicial do postgres
su - postgres
initdb -E utf-8 /var/lib/pgsql/data
exit

Habilitando conexões TCP/IP pelo JDBC, comente a linha que contém a declaração "listen_addresses"
vi /var/lib/pgsql/data/postgresql.conf
.
.
.
#listen_addresses = 'localhost'
.
.
.

Permitindo conexões locais no postgres, adicione a linha "host dspace..."
vi /var/lib/pgsql/data/pg_hba.conf
.
.
.
host dspace dspace 127.0.0.1 255.255.255.255 md5
.
.
.

Reinicie o serviço para efetivar as configurações
/etc/init.d/postgresql restart

Forçando postgres a iniciar automaticamente
chkconfig postgresql on

== Instalando tomcat ==

Instalando repositório que possui o tomcat para yum
cd /etc/yum.repos.d/
wget http://www.jpackage.org/jpackage50.repo

Baixando pacotes
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps --skip-broken

Responda "yes" às perguntas sobre chaves:
Importing GPG key 0xC431416D "JPackage Project (JPP Official Keys) " from http://www.jpackage.org/jpackage.asc
Is this ok [y/N]: y

Crie uma variável de ambiente com o usuário tomcat para que o dspace possa utilizá-lo
vim /root/.bash_profile
export TOMCAT_USER=tomcat

Execute também
export TOMCAT_USER=tomcat

Adicione o atributo URIEncoding no arquivo server.xml
vi /etc/tomcat6/server.xml
.
.
.
<connector port="8080" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443" uriencoding="UTF-8">
.
.
.

Remova o repositório utilizado para baixar o tomcat. Caso deseja mante-lo, pule essa linha.
rm -f /etc/yum.repos.d/jpackage50.repo

Forçando tomcat a iniciar automaticamente
chkconfig tomcat6 on


== Instalando perl ==

Baixando pacotes
yum install perl

== Instalando dspace ==

Baixe os fontes em "http://sourceforge.net/projects/dspace/"
Os arquivos foram descompactados em "/usr/src/"

Crie um banco de dados dspace
createuser -U postgres -d -A -P dspace ; createdb -U dspace -E UNICODE dspace

Executar comando de instalação dos pacotes
cd /usr/src/dspace-1.6.2/dspace
mvn package

Construindo pacotes
cd /usr/src/dspace-1.6.2/dspace/target/dspace-1.6.2-build.dir/
ant fresh_install

Após a execução do comando "ant", a instalação do "dspace" será criada no diretório raiz "/dspace".
Distribua essa instalação para o tomcat:
cp -R /dspace/webapps/* /var/lib/tomcat6/webapps

Criando usuário administrador, será pedido um e-mail, esse e-mail será seu login.
/dspace/bin/create-administrator

Reinicie o serviço tomcat
/etc/init.d/tomcat6 restart

Teste o funcionamento do dspace:
http://ENDERECO_DO_SEU_SERVIDOR:8080/jspui/

== Possíveis erros ==

"Unable to locate the Javac Compiler in: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar"
Não utilize somente o pacote "*openjdk*" do yum, pois ele não é completo. Instale o JDK da maneira que ensino no tópico "Instalando jdk".

"WARNING: error instantiating 'org.apache.juli.ClassLoaderLogManager' referenced by java.util.logging.manager, class not found java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager not found"
Caso tenha instalado o JDK da maneira que ensino em "Instalando jdk" e mesmo assim esteja recebendo a mensagem acima, complemente a instalação com o comando "yum" para baixar alguns pacotes que ainda podem estar faltando.
yum install java-1.6.0-openjdk.x86_64

"org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."
Esse problema é relativo à conexão com o postgres. Verifique se o serviço está funcionando ou se o login e senha estão corretos, bem como endereço IP, selinux, firewall, entre outros.

"The program package-cleanup is found in the yum-utils package"
Resolva a dependência:
yum install yum-utils

quarta-feira, 1 de dezembro de 2010

asterisk - instalação no centos

Passo a passo retirado de "http://www.asterisk.org/downloads/yum"
Baixe a máquina virtual que utilizei para fazer esse tutorial clicando aqui: asterisk-vm.
Essa máquina já está com uma configuração básica que fiz seguindo o tutorial do link http://phplinuxandthelike.wordpress.com/2007/09/04/basic-asterisk-configuration/
Para utiliza-la, inicie a máquina e configure os sip-phones com os logins e senhas contidos em /etc/asterisk/sip.conf.


== Instalação do asterisk ==

- adicione no arquivo "/etc/yum.repos.d/centos-asterisk.repo" as seguinte linhas:

[asterisk-tested]
name=CentOS-$releasever - Asterisk - Tested
baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current]
name=CentOS-$releasever - Asterisk - Current
baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

- adicione no arquivo "/etc/yum.repos.d/centos-digium.repo" as seguinte linhas:

[digium-tested]
name=CentOS-$releasever - Digium - Tested
baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current]
name=CentOS-$releasever - Digium - Current
baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium


- Atualize o yum

yum update


- Instale o asterisk e suas dependencias

yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi


- Teste a instalação do asterisk

asterisk -vvvgci

domingo, 28 de novembro de 2010

The Gift of The Magi (lego)- english post


From O Henry's book.


This animation is a result from an english work. Its objective was to read the O Henry's book "The Gift of the Magi" and to choose one among the 5 stories to make an apresentation. So, I decided to make an animation where the members of the group did the voiceovers.

I'm learning to animate in Blender yet, so, sorry about some mistakes in the movie.
And sorry our english, we are learning yet!

Portuguese subtitles: http://www.youtube.com/watch?v=tlDsZXBkzXI



English subtitles: http://www.youtube.com/watch?v=BLYc2EFoR1M

quarta-feira, 24 de novembro de 2010

The Gift of The Magi (lego)


Do Livro de O Henry.

Essa animação foi resultado de um trabalho de inglês cujo assunto era ler o livro "The Gift of the Magi" de O Henry e escolher dentre as 5 estórias contidas no livro uma para fazer apresentação. Decidi então, fazer uma animação para contar a estória onde os integrantes do grupo faziam as dublagens.

Ainda estou aprendendo a animar no Blender, então, me desculpem por alguns erros existentes no filme.
E desculpem o nosso inglês, estamos aprendendo ainda!


Legendas em português: http://www.youtube.com/watch?v=tlDsZXBkzXI



Legendas em inglês: http://www.youtube.com/watch?v=BLYc2EFoR1M

diff - como exibir somente as linhas alteradas

Precisei do comando diff para comparar o arquivo origem.txt e destino.txt. Porém, precisava que o comando só me retornasse as linhas novas do arquivo origem.txt (linhas que existem em origem.txt e não existem em destino.txt). Pesquisando na internet não consegui achar algo que fazia exatamente o que queria, todos faziam pipe com outros comandos. Pelo man, consegui achar, mas não foi fácil. Por isso, estou colocando a solução que encontrei aqui:

diff --old-line-format=%L --unchanged-line-format= origem.txt destino.txt

"--old-line-format=%L" diz que quero exibir todas as linhas do arquivo old (origem.txt)
"--unchanged-line-format=" diz que quero exibir vazio em todas as linhas não alteradas.

Exemplo:
[origem.txt]
aaa
bbb
ccc
eee
fff

[destino.txt]
aaa
bbb
ccc

Ao executar o comando, o seguinte resultado será impresso:
eee
fff

segunda-feira, 22 de novembro de 2010

Recuperar e-mail rejeitado como spam no amavis

Caso ocorra de alguém não receber um e-mail, podemos pesquisar nos logs do maillog para saber se o amavis filtrou o e-mail como spam. Para facilitar essa busca, o script abaixo pode nos ajudar. Ele busca em todos os arquivos /var/log/maillog* a ocorrência da dupla "emailOrigem" "emailDestino" e retorna seus respectivos arquivos spam contidos em /var/virusmails (caso existam). Salve o script abaixo em um arquivo com permissão de execução e execute da seguinte forma:

script EMAIL_ORIGEM EMAIL_DESTINO

#!/bin/bash

###
# Script para recuperar um spam contido em /var/virusmail
#
# param1 remetente do e-mail perdido
# param2 destinatario do e-mail perdido
#
# @author Andre Oshiro Barcelos
# @version 20101122
###

# constantes
MAILLOG="/var/log/maillog"
SPAMDIR="/var/virusmails"

# recebendo variaveis
remetente="$1"
destinatario="$2"

#validando variaveis
if [ ! -n "$remetente" ]; then
echo -n "Informe o remetente: "
read remetente
fi

if [ ! -n "$destinatario" ]; then
echo -n "Informe o destinatario: "
read destinatario
fi

#main
#pesquisando:
# filtrando todos os registros que contem o remetente e
# filtrando todos os registros que contem o destinatario e
# pega a string que precede a palavra 'quarantine: '
aQuarentine=(`cat "$MAILLOG"* | grep 'quarantine' | grep "$remetente" 2> /dev/null | grep "$destinatario" 2> /dev/null | sed 's/.*quarantine: \([[:alnum:]\.+=-]*\),.*/\1/'`)

#se nao foi encontrado
if [ ! -n "$aQuarentine" ]; then
echo "ERRO: a dupla nao foi encontrada em quarentena"
exit 1
fi

echo "A dupla foi encontrada no(s) seguinte(s) spam(s) em quarentena: "
for i in "${aQuarentine[@]}"
do
echo "$SPAMDIR/$i"
done