-------------------------------------------------------------------------------
Instalando phpmotion no centos 5.5 64bits
-------------------------------------------------------------------------------
[Informações]
Maquina: VMWare esxi 4.0
Sistema: Centos 5.5 x86_64
-------------------------------------------------------------------------------
[Instalando dependências]
- Adicionando repositorios para yum:
# vim /etc/yum.repos.d/dag.repo
.
.
.
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
.
.
.
# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- Instalando via yum:
# yum install ffmpeg ffmpeg-devel flvtool2 mencoder libogg.x86_64 libvorbis.x86_64 php-gd
-------------------------------------------------------------------------------
[Habilitando phpshield]
- Copiando modulo phpshield para extension_dir do php:
# cp /var/www/html/phpshield/* /usr/lib64/php/modules
- Habilitando no php.ini o modulo /usr/lib64/php/modules/phpshield.5.2.lin:
# vim /etc/php.ini
.
.
.
extension=phpshield.5.2.lin
.
.
.
Nota: Não utilize o caminho completo, somente o nome do modulo mesmo.
-------------------------------------------------------------------------------
[Possiveis erros]
- Ao fazer upload de um video, o seguinte erro aparece no site:
"
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
"
Ou então no log de erro do apache:
"
[Fri Aug 13 09:35:21 2010] [error] [client 172.20.7.0] (13)Permission denied: exec of '/var/www/html/cgi-bin/uu_ini_status.pl' failed, referer: http://video.com/uploader.php
[Fri Aug 13 09:35:21 2010] [error] [client 172.20.7.0] Premature end of script headers: uu_ini_status.pl, referer: http://video1.ufes.br/uploader.php
[Fri Aug 13 09:35:21 2010] [error] [client 172.20.7.0] (13)Permission denied: exec of '/var/www/html/cgi-bin/uu_upload.pl' failed, referer: http://video.com/uploader.php
[Fri Aug 13 09:35:21 2010] [error] [client 172.20.7.0] Premature end of script headers: uu_upload.pl, referer: http://video.com/uploader.php
"
Esse erro ocorre se o usuario "apache", ou o usuário que o servidor web utiliza para acessar os arquivos, estiver sem permissão de execução na pasta cgi-bin. Execute o seguinte comando para resolver:
# chmod -R 774 /var/www/html/cgi-bin
- Links não funcionam:
"
Not Found
The requested URL /albums/load/featured was not found on this server.
"
Em "/etc/httpd/conf/httpd.conf" altere as seguintes linhas para:
.
.
.
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All #nao pode ser none, deve ser All
Order allow,deny
Allow from all
</Directory>
.
.
.
Verifique também se o arquivo .htaccess existe no diretório raiz do site com as declarações de tradução da url.
- Ao fazer upload de video, o seguinte erro é retornado:
"Access Forbidden!"
Em "/etc/httpd/conf/httpd.conf" altere as seguintes linhas para:
.
.
.
<Directory "/var/www/html/cgi-bin">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.
.
.
- Faz upload do vídeo porém o mesmo não aparece. Deve-se retirar o caminho "/usr/share/ffmpeg" na pagina "/siteadmin/settings_general.php" na variável "Path to ffmpeg".
- "Checking if PHPshield encoded files are working: The results above indicate that there is a problem with PHPShield".
Certifique-se que você executou o comando abaixo:
cp /var/www/html/phpshield/* /usr/lib64/php/modules
- "Error! - Can't connect to MySQL server on 'db.teste.com' (13)"
Durante a instalação você pode receber essa mensagem. Suas configurações podem estar erradas ou então, no meu caso, o selinux pode estar bloqueando. Para habilitar o selinux, consulte o tópico "http://andreob.blogspot.com/2010/10/compilar-regra-no-selinux-para-liberar.html"
- "Error: Missing Dependency: php-common = 5.1.6-27.el5_5.3 is needed by package php-gd-5.1.6-27.el5_5.3.x86_64 (updates)"
Apague a instalação do php-common pois isso pode estar dando algum conflito com os pacotes. Após isso, reinstale os pacotes separadamente.
yum remove php-common
yum install php-gd
yum install php php-cli php-mysql php-pdo php-pgsql
- "Error! - Some files and folders are not CHMOD correctly "
No diretório que as páginas do phpmotion, execute os seguintes comandos para alterar as permissões nas pastas:
chown -R apache.apache ./*
chmod -R 755 uploads
chmod -R 755 classes
chmod -R 755 logs
chmod -R 755 setup
chmod -R 755 pictures
chmod -R 755 temp
- "Not Found The requested URL /cgi-bin/uu_upload.pl was not found on this server."
Infelizmente não consegui descobrir exatamente o que gera esse erro. Mas fiz algo para contornar o problema, crio um link simbolico em /var/www/cgi-bin apontando para o cgi-bin do phpmotion:
ln -s /var/www/html/cgi-bin/ /var/www/cgi-bin
-------------------------------------------------------------------------------
sexta-feira, 29 de outubro de 2010
sexta-feira, 1 de outubro de 2010
Compilar regra no selinux para liberar acesso sem utilizar o setenforcing 0 ou setenforcing permissive
Em meu servidor web copiei uma pasta para /var/www/html/expresso. Só que quando abro é retornado o erro "403 Forbidden". Isso é devido ao selinux, devemos compilar uma regra que permita o que está sendo proibido. Para saber o que está sendo proibido, monitore o "/var/log/messages":
tail -f /var/log/messages
Agora, faça novamente a ação que está sendo proibida. Provavelmente será logado no "/var/log/messages" algo semelhante ao abaixo:
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.063:71): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.065:72): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Gere um arquivo temporario com essas mensagens:
vim /tmp/regras
...
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.063:71): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.065:72): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
...
Desligue o selinux temporariamente
setenforce 0
Transforme o arquivo de regras na linguagem do selinux
audit2allow -m local -l -i /tmp/regras > /tmp/regras.te
Compile as regras
checkmodule -M -m -o /tmp/regras.mod /tmp/regras.te
Crie um pacote de instalação
semodule_package -o /tmp/regras.pp -m /tmp/regras.mod
Instale as novas regras
semodule -i /tmp/regras.pp
Ligue o selinux novamente
setenforce 1
Monitore novamente o arquivo "/var/log/messages" e faça novamente a ação que estava sendo proibida. Teoricamente se tudo ocorreu bem, seu site abrirá sem maiores problemas.
tail -f /var/log/messages
Agora, faça novamente a ação que está sendo proibida. Provavelmente será logado no "/var/log/messages" algo semelhante ao abaixo:
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.063:71): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.065:72): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Gere um arquivo temporario com essas mensagens:
vim /tmp/regras
...
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.063:71): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
Sep 10 11:24:53 MODELO kernel: type=1400 audit(1284128693.065:72): avc: denied { getattr } for pid=17417 comm="httpd" path="/var/www/html/expresso/index.php" dev=sdb1 ino=184145 scontext=root:system_r:httpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=file
...
Desligue o selinux temporariamente
setenforce 0
Transforme o arquivo de regras na linguagem do selinux
audit2allow -m local -l -i /tmp/regras > /tmp/regras.te
Compile as regras
checkmodule -M -m -o /tmp/regras.mod /tmp/regras.te
Crie um pacote de instalação
semodule_package -o /tmp/regras.pp -m /tmp/regras.mod
Instale as novas regras
semodule -i /tmp/regras.pp
Ligue o selinux novamente
setenforce 1
Monitore novamente o arquivo "/var/log/messages" e faça novamente a ação que estava sendo proibida. Teoricamente se tudo ocorreu bem, seu site abrirá sem maiores problemas.
terça-feira, 31 de agosto de 2010
pg_conect com erro retorna pagina php para download após instalar openssl - pg_connect gera download de pagina php
Após instalar o openssl em meu servidor web notei que ao abrir uma página php que utiliza a função pg_connect, essa página era retornada para download.
No log "/var/log/apache2/error.log" a seguinte mensagem era escrita:
"system library:fopen:Permission denied:bss_file.c:122:fopen('/usr/lib/ssl/openssl.cnf','rb')"
O arquivo "/usr/lib/ssl/openssl.cnf" é um link para "/etc/ssl/openssl.cnf". Por algum motivo o apache não está conseguindo utilzar esse link. Então, copiei o arquivo "/etc/ssl/openssl.cnf" para "/usr/lib/ssl/openssl.cnf" e troquei suas permissões, reiniciei o apache e a partir disso tudo funcionou novamente (veja os comandos abaixo):
cp /etc/ssl/openssl.cnf /usr/lib/ssl/openssl.cnf
chmod 777 /usr/lib/ssl/openssl.cnf
/etc/init.d/apache2 restart
No log "/var/log/apache2/error.log" a seguinte mensagem era escrita:
"system library:fopen:Permission denied:bss_file.c:122:fopen('/usr/lib/ssl/openssl.cnf','rb')"
O arquivo "/usr/lib/ssl/openssl.cnf" é um link para "/etc/ssl/openssl.cnf". Por algum motivo o apache não está conseguindo utilzar esse link. Então, copiei o arquivo "/etc/ssl/openssl.cnf" para "/usr/lib/ssl/openssl.cnf" e troquei suas permissões, reiniciei o apache e a partir disso tudo funcionou novamente (veja os comandos abaixo):
cp /etc/ssl/openssl.cnf /usr/lib/ssl/openssl.cnf
chmod 777 /usr/lib/ssl/openssl.cnf
/etc/init.d/apache2 restart
segunda-feira, 30 de agosto de 2010
Ativando autenticação LDAP no wiki do mediawiki
-------------------------------------------------------------------------------
Ativando autenticação LDAP no wiki do mediawiki
-------------------------------------------------------------------------------
[Baixando plugin]
- Plugin baixado em: http://upload.wikimedia.org/ext-dist/LdapAuthentication-MW1.15-r45350.tar.gz
Ou então vá em: http://www.mediawiki.org/wiki/Special:ExtensionDistributor e procure por LdapAuthentication
- Instale o plugin em ./extensions/ do seu site wiki.
Ex.:
./extensions/LdapAuthentication.php
./extensions/LdapAutoAuthentication.php
-------------------------------------------------------------------------------
[Configurando wiki]
###
# restringindo acesso
#
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;
#
###
###
# LDAP
#
require_once( "$IP/extensions/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
//nomes dos dominios
$wgLDAPDomainNames = array("MEUDOMINIO");
//associando dominio com servidores de dominio
$wgLDAPServerNames = array("MEUDOMINIO"=>"dns1.br dns2.br");
//Criptografia das solicitacoes ldap
$wgLDAPEncryptionType = array("MEUDOMINIO"=>"tsl"); //ou clear caso nao queira criptografia
//Permitir logar localmente
$wgLDAPUseLocal = false;
Ativando autenticação LDAP no wiki do mediawiki
-------------------------------------------------------------------------------
[Baixando plugin]
- Plugin baixado em: http://upload.wikimedia.org/ext-dist/LdapAuthentication-MW1.15-r45350.tar.gz
Ou então vá em: http://www.mediawiki.org/wiki/Special:ExtensionDistributor e procure por LdapAuthentication
- Instale o plugin em ./extensions/ do seu site wiki.
Ex.:
./extensions/LdapAuthentication.php
./extensions/LdapAutoAuthentication.php
-------------------------------------------------------------------------------
[Configurando wiki]
###
# restringindo acesso
#
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;
#
###
###
# LDAP
#
require_once( "$IP/extensions/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
//nomes dos dominios
$wgLDAPDomainNames = array("MEUDOMINIO");
//associando dominio com servidores de dominio
$wgLDAPServerNames = array("MEUDOMINIO"=>"dns1.br dns2.br");
//Criptografia das solicitacoes ldap
$wgLDAPEncryptionType = array("MEUDOMINIO"=>"tsl"); //ou clear caso nao queira criptografia
//Permitir logar localmente
$wgLDAPUseLocal = false;
terça-feira, 20 de julho de 2010
Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item
[Causa]
Esse problema aconteceu comigo ao mover um arquivo executável por compatilhamento de pasta. Tinha um servidor A que precisava de instalar o pgAdmin, então compartilhei uma pasta em A e acessei da minha máquina desktop. Então, copiei o pgAdmin para o servidor A. Porém, devido a configurações de segurança do windows server 2003, quando tentei executar o pgAdmin em A, ele me deu a seguinte mensagem: "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item".
[Solução]
Clique em cima do executável com a tecla direita do mouse, vá em propriedades. Lá, você notará que existe um botão no canto inferir direito chamado "Unblock" com o seguinte comentario: "This file came from another computer and might be blocked to help protect this computer". Clique em "Unblock", a partir desse momento você poderá executar seu executável normalmente.
Esse problema aconteceu comigo ao mover um arquivo executável por compatilhamento de pasta. Tinha um servidor A que precisava de instalar o pgAdmin, então compartilhei uma pasta em A e acessei da minha máquina desktop. Então, copiei o pgAdmin para o servidor A. Porém, devido a configurações de segurança do windows server 2003, quando tentei executar o pgAdmin em A, ele me deu a seguinte mensagem: "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item".
[Solução]
Clique em cima do executável com a tecla direita do mouse, vá em propriedades. Lá, você notará que existe um botão no canto inferir direito chamado "Unblock" com o seguinte comentario: "This file came from another computer and might be blocked to help protect this computer". Clique em "Unblock", a partir desse momento você poderá executar seu executável normalmente.
quarta-feira, 7 de julho de 2010
Instalando postgres 8.4 + tcl + tk no centos 5.5 x86_64
-------------------------------------------------------------------------------
Instalando postgres 8.4 + tcl + tk no centos 5.5 x86_64
-------------------------------------------------------------------------------
[Informações]
Maquina: VMWare esxi 4.0
Sistema: Centos 5.5 x86_64
Postgres: 8.4
-------------------------------------------------------------------------------
[Procedimento de instalação do postgres]
- instalando servidor postgres e bibliotecas:
yum install postgresql84-server postgresql84-libs postgresql84
- configurando inicio do postgres:
# su - postgres
# initdb -E utf-8 /var/lib/pgsql/data
- configurando permissões para nossas redes:
# vim /var/lib/pgsql/data/pg_hba.conf
...
host all all 172.20.6.0/23 md5
host all all 172.20.2.0/23 md5
host all all 172.20.10.0/23 md5
...
- habilitando serviço para escutar externamente:
# vim /var/lib/pgsql/data/postgresql.conf
...
listen_addresses = '*'
...
- iniciando serviço:
# /etc/init.d/postgresql restart
- forçando postgresql iniciar automaticamente durante o boot:
# chkconfig postgresql on
- criando usuario administrador:
# su - postgres
# createuser -P
Enter name of role to add: super
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y
-------------------------------------------------------------------------------
[Procedimento de instalação do tcl/tk]
- instalando tcl e tk:
# yum install tcl tk postgresql84-pltcl.x86_64
- ativando linguagem em um banco de dados:
# createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS
-------------------------------------------------------------------------------
[Possiveis erros]
- ao executar "createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS" o seguinte erro retorna:
createlang: language installation failed: ERROR: could not access file "$libdir/pltcl": No such file or directory
Esse erro pode ocorrer caso o pacote "postgresql84-pltcl.x86_64" não seja instalado.
-------------------------------------------------------------------------------
Instalando postgres 8.4 + tcl + tk no centos 5.5 x86_64
-------------------------------------------------------------------------------
[Informações]
Maquina: VMWare esxi 4.0
Sistema: Centos 5.5 x86_64
Postgres: 8.4
-------------------------------------------------------------------------------
[Procedimento de instalação do postgres]
- instalando servidor postgres e bibliotecas:
yum install postgresql84-server postgresql84-libs postgresql84
- configurando inicio do postgres:
# su - postgres
# initdb -E utf-8 /var/lib/pgsql/data
- configurando permissões para nossas redes:
# vim /var/lib/pgsql/data/pg_hba.conf
...
host all all 172.20.6.0/23 md5
host all all 172.20.2.0/23 md5
host all all 172.20.10.0/23 md5
...
- habilitando serviço para escutar externamente:
# vim /var/lib/pgsql/data/postgresql.conf
...
listen_addresses = '*'
...
- iniciando serviço:
# /etc/init.d/postgresql restart
- forçando postgresql iniciar automaticamente durante o boot:
# chkconfig postgresql on
- criando usuario administrador:
# su - postgres
# createuser -P
Enter name of role to add: super
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y
-------------------------------------------------------------------------------
[Procedimento de instalação do tcl/tk]
- instalando tcl e tk:
# yum install tcl tk postgresql84-pltcl.x86_64
- ativando linguagem em um banco de dados:
# createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS
-------------------------------------------------------------------------------
[Possiveis erros]
- ao executar "createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS" o seguinte erro retorna:
createlang: language installation failed: ERROR: could not access file "$libdir/pltcl": No such file or directory
Esse erro pode ocorrer caso o pacote "postgresql84-pltcl.x86_64" não seja instalado.
-------------------------------------------------------------------------------
Marcadores:
centos,
createlang,
pltcl,
postgres,
tcl/tk
sexta-feira, 2 de julho de 2010
Instalando httpd + php 5.2 no centos 5.5
-------------------------------------------------------------------------------
Instalando httpd + php 5.2 no centos 5.5
-------------------------------------------------------------------------------
[Informações]
Maquina: VMWare esxi 4.0
Sistema: Centos 5.5
-------------------------------------------------------------------------------
[Procedimento de instalação]
- instalando repositorio que possui o php 5.2:
# rpm -ivh http://software.virtualmin.com/bleed/centos/5/x86_64/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm
- pegando arquivo de autenticação do repositorio:
# rpm -import http://software.virtualmin.com/lib/RPM-GPG-KEY-virtualmin
- instalando httpd e php:
# yum install httpd php
- forçando httpd iniciar automaticamente durante o boot:
# chkconfig httpd on
- iniciando serviço:
# /etc/init.d/httpd start
-------------------------------------------------------------------------------
Instalando httpd + php 5.2 no centos 5.5
-------------------------------------------------------------------------------
[Informações]
Maquina: VMWare esxi 4.0
Sistema: Centos 5.5
-------------------------------------------------------------------------------
[Procedimento de instalação]
- instalando repositorio que possui o php 5.2:
# rpm -ivh http://software.virtualmin.com/bleed/centos/5/x86_64/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm
- pegando arquivo de autenticação do repositorio:
# rpm -import http://software.virtualmin.com/lib/RPM-GPG-KEY-virtualmin
- instalando httpd e php:
# yum install httpd php
- forçando httpd iniciar automaticamente durante o boot:
# chkconfig httpd on
- iniciando serviço:
# /etc/init.d/httpd start
-------------------------------------------------------------------------------
Assinar:
Postagens (Atom)