Personal Home Library : Como instalar?!

Iniciado por hael3, 02 de Setembro de 2008, 16:16

tópico anterior - próximo tópico

hael3

Boa tarde pessoal!
Há algum tempo acompanho o Ubuntu (desde versão 7), mas sempre como usuário comum (internet, processador de texto, etc). Porém, estou com um problema, e, seguir os mais diversos tutoriais pela internet não têm me ajudado. Sou bibliotecário e preciso instalar um programa específico da minha área, para fazer alguns testes com os dados. Porém, não consigo de modo algum fazer com que o apache execute o script!


Abaixo, coloco mais informações sobre o programa:

Citar
PHL - Personal Home Library, é uma aplicação Web especialmente desenvolvida para administração de coleções e serviços de bibliotecas e centros de informações.

Foi concebido como uma alternativa moderna e eficiente às bibliotecas e usuários com poucos recursos (financeiro e de pessoal) e que pretendem organizar suas coleções, automatizar rotinas e serviços e/ou disponibilizar e compartilhar seus catálogos através da Web.

Os PHL foi desenvolvido em XML IsisScript interpretada pelo software WWWisis©Bireme, diponível para todos os sistemas operacionais (Linux, FreeBSD, Windows, HP-UX, etc.). Com o PHL é possível buscas simultâneas em várias bases de dados e importação de registros de outras bibliotecas através do protocolo HTTP, em substituição a protocolos tipo Z39.50, o que vem diminuir substancialmente o custo de instalação e manutenção. O PHL utiliza base de dados no padrão CDS/ISIS-Unesco.


Bom, abaixo reproduzo o trecho do manual do programa que faz referência à instalação em ambiente linux

Citar

Para a instalação do em servidores APACHE, com SO Linux ou FreeBSD, recomendamos
descompactar o arquivo "phl82_xxxxxx.tar.gz" na raiz do disco da máquina servidora e incluir
nas configurações do APACHE (httpd.conf), áliases para o seguinte mapa de instalação:
16
/http/ (diretório ServerRoot)
/http/cgi-bin (diretório CGI)


E, pra finalizar, segue um link onde podemos ver o software funcionando (links para acervos de bibliotecas de faculdades que já utilizam o programa no seu dia-a-dia).

PHL Catálogo de bibliotecas OPAC http://www.elysio.com.br/phlnet.htm


Desde já agradeço a ajuda de todos os colegas da comunidade!

ManoelNascimento

Oi hael3,

infelizmente, não serei eu a tirar sua dúvida. Estou com o mesmo problema que você, então resolvi colocar dados adicionais aqui para ver se é possível conseguirmos resolver o problema juntos.

1) Fiz exatamente o que o manual indica: abri a pasta "http" no diretório raiz, e cliquei na página "index.html" para começar a configuração.
2) Como o Firefox aqui de casa tem o NoScript instalado, ele a princípio não reconheceu a página, e pareceu que tudo ia bem; o título da página indicava o início do trabalho do PHL.
3) Acontece que, assim que liberei o PHL da fiscalização do NoScript, só o que dá é uma página em branco, com a seguinte mensagem:

Arquivo não encontrado

O Firefox não conseguiu localizar o arquivo /cgi-bin/wxis.exe?IsisScript=phl82.xis&cipar=phl82.cip&lang=por.

    * Este item poderia ter sido renomeado, excluído ou movido?
    * Há algum erro de digitação no endereço, como uma letra maiúscula em vez de minúscula?
    * Você possui permissões para acessar o item solicitado?


O endereço gerado pela página "index.html" é o seguinte:

file:///cgi-bin/wxis.exe?IsisScript=phl82.xis&cipar=phl82.cip&lang=por

Estou tentando duas alternativas, sucessivamente:

a) Instalação do pacote "cgilib", pois as especificações do PHL dizem que é necessário suporte a CGI (nem sei se este é o pacote correto, estou instalando por puro "instinto newbie");
b) Caso não dê certo, tentarei rodar o PHL usando o Wine.

Qualquer que seja o resultado, volto aqui para comunicar. Caso já tenha conseguido resolver a instalação, por favor, diga como foi, porque já estou arrancando os cabelos!  :)

ManoelNascimento

Bom, instalar o "cgilib" não adiantou. Olhando novamente o manual do PHL, reparei no seguinte:

CitarNunca instalar a versão localhost (gratuita) do PHL©Elysio em computadores que já
possuem outros servidores ativos.


Ao instalar o PHL©Elysio o procedimento de instalação irá instalar e configurar automaticamente um servidor (TinyWeb) que tem a função de simular localmente um servidor HTTP. Se houver outro servidor instalado que esteja utilizando a porta 8080, o PHL©Elysio não irá funcionar. Os outros servidores que podem estar utilizando a mesma porta e irão conflitar com o TinyWeb são: Skype (programa de comunicação de voz pela Web), o Apache (servidor HTTP), o OminiHttp (servidor de HTTP), entre outros.

Será que é algum conflito com o Apache já instalado que está fazendo com que o Personal Home Library (PHL) não funcione? Vou testar se a versão Windows roda sob o Wine.

ManoelNascimento

Eis o resultado da tentativa de rodar o PHL sob o Wine:

WXIS|fatal error|unavoidable|dbxopen: /phl82/bases/phl_idx.xrf (2)|

Acho que estamos realmente entrando num mato sem cachorro...

hael3

Manoel, creio que esta instrução de "tinyweb" é para a instalação em versão windows.

Consegui realizar a instalação em linux utilizando o comando chmod 755 para as pastas HTTP e suas subpastas, mas o PHL apesar de funcionar diz que a instalação que eu fiz fere os copyright. Daí eu desisti, pois aparentemente o modo como estou tentando instalar não serviu para o localhost...

ManoelNascimento

Oi hael3,

pena que não tenha funcionado bem com você. Por aqui, mesmo mudando as permissões de acesso à pasta a aos arquivos, o resultado continua o mesmo:

Arquivo não encontrado

O Firefox não conseguiu localizar o arquivo /cgi-bin/wxis.exe?IsisScript=phl82.xis&cipar=phl82.cip&lang=por.

    * Este item poderia ter sido renomeado, excluído ou movido?
    * Há algum erro de digitação no endereço, como uma letra maiúscula em vez de minúscula?
    * Você possui permissões para acessar o item solicitado?


Vou tentar entrar em contato com Elysio, que é o criador do programa, para ver se consigo sair desta paralisia. Assim que conseguir alguma resposta, positiva ou negativa, volto aqui e comunico os resultados, OK? Pode ser que também te sirvam.

Bolche

#6
Opa! Eu uso o PHL no Ubuntu já faz quase 2 anos (desculpe, só vi esse tópico agora).
Eu instalei ele ignorando completamente as instruções do manual e fazendo do meu jeito. Um pouco trabalhoso, mas funciona ótimo.
Ainda está com esse problema? Se estiver me dá um toque em onde você tá encrencado que eu ajudo.
Eduardo

ManoelNascimento

Olá Bolche,

o problema continua o mesmo. Como você fez sua instalação? É possível descrevê-la passo a passo aqui?

Bolche

Tutorial: Instalação do PHL
Obs.: o processo todo pode ser feito apenas pela interface gráfica, sem usar o terminal. Mas para isso, você precisa abrir o Navegador de Arquivos como administrador (root) e fazer tudo por essa janela. Você pode fazer isso apertando Alt+F2 e escrevendo "gksudo nautilus", ou ainda instalando o pacote nautilus-gksu, clicar com botão direito em alguma pasta ou arquivo, e usar a opção "Abrir como administrador". Todos os passos aqui acompanham comandos no terminal.
Como sempre, leia e entenda cada passo antes de ir executando os comandos!

Método 1: Como manda o manual
1. Instale um servidor http. Pode ser o Apache (recomendado pelo manual) ou o Lighttpd (que é mais leve e consome menos memória). Nesse tutorial eu focarei mais no Apache, pois eu conheço melhor ele. Ambos podem ser instalados pelo Synaptic.
sudo apt-get install apache2 ou sudo apt-get install lighttpd

2. Baixe do site do Elysio ( http://www.elysio.com.br/site/downloads.html ) o arquivo de instalação para Linux (phl82_090619.tar.gz)
wget "http://www.elysio.com.br/downloads/phl82_090619.tar.gz"

3. Descompacte esse arquivo na raiz do sistema.
sudo tar -xvzf phl82_090619.tar.gz -C /

4.1 (Se você usa o Apache)
Abra o arquivo de configuração do Apache /etc/apache2/sites-available/default
sudo gedit /etc/apache2/sites-available/default
e coloque nesse arquivo a seguinte configuração:

<VirtualHost *:80>
DocumentRoot /http/www
<Directory /http/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /http/cgi-bin/
<Directory "/http/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

O arquivo original pode ter muito mais coisas. Não precisa tirar elas. Na verdade esse é o arquivo "mínimo". Se você não quiser mudar muito o arquivo de configuração, pode simplesmente substituir cada ocorrência de "/var/www" por "/http/www" e "/usr/lib/cgi-bin" por "/http/cgi-bin". Se quiser fazer isso automaticamente pode simplesmente executar os comandos abaixo:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.old
sudo sh -c 'sed "{s:/var/www:/http/www:g;s:/usr/lib:/http:g}" /etc/apache2/sites-available/default.old > /etc/apache2/sites-available/default'


4.2 (Se você usa o lighttpd)
Abra o arquivo /etc/lighttpd/lighttpd.conf e coloque (ou substitua se já existirem esse valores) os seguintes parâmetros:

server.document-root = "/http/www"
server.port = 80
server.modules              = (
            "mod_alias",
            "mod_cgi",
)

index-file.names = ( "index.html" )
alias.url = ( "/cgi-bin/" => "/http/cgi-bin" )
cgi.assign = ( ".exe" => "" )

Atenção que eu não testei essa configuração do lighttpd! Deve funcionar, mas talvez eu tenha esquecido algum detalhezinho.

5. Reinicie o servidor Apache ou lighttpd.
Você pode reiniciar os servidores usando os comandos

sudo invoke-rc.d apache2 restart # Se usou o Apache
sudo invoke-rc.d lighttpd restart # Se usou o Lighttpd

Se você estiver resoluto na decisão de não usar o terminal, basta reiniciar o computador...

6. Ajeitando permissões
A instalação deveria estar pronta. Mas devido ao um problema que ou é um erro na elaboração do pacote, ou é assumir uma coisas bem estranhas quanto a configuração da máquina, se você tentar executar o PHL agora você vai receber o erro
WXIS|fatal error|unavoidable|dbxopen: /http/bases/phl_idx.xrf (13)|
Isso é porque, por padrão, todas as bases de dados vêm sem permissão de escrita. Isso pode ser resolvido rapidamente pelo comando sudo chmod -R o+rwx /http/ (ou você pode alterar a permissão pelo navegador de arquivos)

7. Rodando o PHL
Para rodar o PHL agora, basta abrir o seu navegador preferido e entrar o endereço http://localhost/phl82.

8. Criar um atalho
Para facilitar a vida e deixar o PHL mais parecido com o que é no Windows, vamos agora criar um lançador no menu, na barra ou no desktop para lançar o PHL.
Basta criar um lançador que execute o comando "firefox http://localhost/phl82".
Infelizmente o pacote para Linux não inclui o ícone usado no Windows. Mas você pode arranjar outro ícone.
Você pode criar o lançador automaticamente com o comando

cat > ~/Área\ de\ Trabalho/PHL\ 8.2.desktop <<EOF
#!/usr/bin/env xdg-open

[Desktop Entry]
Type=Application
Terminal=false
Exec=firefox http://localhost/phl82
Name=PHL 8.2
Name[pt_BR]=PHL 8.2
Icon[pt_BR]=/usr/share/pixmaps/gdict.xpm
Icon=/usr/share/pixmaps/gdict.xpm
EOF

Ao usar esse comando, nas versões mais novas o Ubuntu reclama desse lançador não ser confiável, etc. Pode mandar marcar como confiável.

Pronto! O seu PHL está pronto para uso.
Eduardo

Bolche

Do jeito que eu instalei o PHL aqui, dá pra ter "outro servidor" instalado sem problemas, ao contrário do que diz o manual, além de dar pra colocar em qualquer pasta que quiser, não necessariamente /http (que eu acho uma péssima escolha de localização), e dá pra ter várias versões do PHL separadas no mesmo computador (uma para cada biblioteca ou várias versões diferentes para comparação), mas dá um trabalhinho extra.
Se precisar eu coloco.
Eduardo

ManoelNascimento

Oi Bolche, seu tutorial foi simplesmente perfeito! O PHL agora roda aqui em casa na maior tranquilidade, num Ubuntu 9.10. Agora posso começar a catalogar minha biblioteca sem maiores problemas! Muito obrigado!

Mas concordo com você: a localização "/http/" não é das melhores. Funciona, mas não é das melhores. Aqui, por exemplo, instalei diversos gerenciadores de conteúdo (SPIP, WordPress, Joomla, Mambo etc.) para testá-los, e cada um deles tem uma pasta individual em "/var/www/" (ex.: "/var/www/wordpress/"). Isso tem me ajudado muito a manter o sistema organizado. É possível fazer a mesma coisa com o PHL?

Mais uma vez, muito obrigado!

Bolche

Sim, é como eu faço.
Você pode mover a pasta para outro local e modificar o endereço no /etc/apache2/sites-avaliable/default, mas então ele começa a reclamar que não encontra os banco de dados.
Para resolver isso, você tem que abrir o arquivo cgi-bin/phl82.cip dentro da pasta do phl e modificar o caminho para de acordo.
Uma outra solução que eu descobri é colocar todos os caminhos como relativos a pasta atual. Desse jeito você pode colocar onde quiser sem precisar mudar nada.
Algo do tipo isso:
index.html=../www/phl82/index.html
phl.css=../www/phl82/css/phl.css
phl_*=../bases/phl_*
00*=../bases/00*
tab_*=phl82/tabs/tab_*
uctab=../bases/uctab
actab=../bases/actab

Outro motivo pra fazer isso é que a configuração do Apache dessa maneira acaba atrapalhando alguns CMS q vc falou q tem. Colocando tudo em /var/www deve ajudar.
Abs
Eduardo

ManoelNascimento

Oi Bolche,

realmente, todos os gerenciadores de conteúdo que dependiam do "localhost" foram pro saco com a instalação do PHL na pasta /http/, e não consequi fazer o PHL funcionar na pasta /var/www/http/. Segui todos os passos que você indicou - "mover a pasta para outro local e modificar o endereço no /etc/apache2/sites-avaliable/default" e "abrir o arquivo cgi-bin/phl82.cip dentro da pasta do phl e modificar o caminho" - mas ele, mais uma vez, voltou a dar bronca.

Estaria incomodando demais se pedisse para você colocar aqui o passo-a-passo da instalação na pasta /var/www/ ?  ;D

Bolche

Só pra saber, qual o erro que está dando?
Eduardo

ManoelNascimento

CitarSó pra saber, qual o erro que está dando?

O Apache deixa de reconhecer "/var/www/" como a pasta cujo conteúdo é exibido ao se acessar "http://localhost". Imagino que o problema aconteça por causa deste comando:

Citarsudo sh -c 'sed "{s:/var/www:/http/www:g;s:/usr/lib:/http:g}" /etc/apache2/sites-available/default.old > /etc/apache2/sites-available/default'

Com ele - se bem entendi os comandos que pesquisei - diversos endereços "originais" do servidor local são substituídos pelos da pasta "/http/". Para quem quer ter apenas o PHL instalado, sem qualquer gerenciador de conteúdo rodando no Apache, tudo bem, mas para quem quer manter outras coisas (como eu que tenho SPIP, WordPress, OSCommerce, Joomla etc. no servidor local para aprendizado e testes) esta solução termina sendo a menos viável.

Daí a pergunta: como instalar o PHL na pasta "/var/www/" sem mexer nas configurações restantes do servidor local? Ou seja, digamos, instalar o PHL para funcionar na pasta "/var/www/http/".