Guia de Instalação - CentOS
Introdução
Este guia é a documentação de instalação do KyaPanel na distribuição CentOS.
A instalação e configuração do KyaPanel em si é bem simples, entretanto sua função é interagir com várias outras ferramentas (LDAP, Courier, Postfix, eGroupWare, Munin, etc ) e isso faz com que a instalação e configuração seja um pouco mais trabalhosa. Se você não esta familiarizado com essas ferramentas poderá seguir passo-a-passo este documento, mas deverá ao menos, saber o que esta fazendo.
A equipe de desenvolvimento do KyaPanel tem se esforçado muito para automatizar ao máximo o processo de instalação, se você seguir estes passos o sistema deverá funcionar, em caso de dúvidas cadastre-se na lista de discussão de usuários do KyaPanel e envie uma mensagem.
E o endereço para se cadastrar na lista de discussão é:
Pré Requisitos
Instale as dependências usando os comandos abaixo:
1 - yum install bc httpd php postfix httpd openldap openldap-servers openldap-clients perl-File-Tail rrdtool rrdtool-perl perl-Mail-IMAPClient maildrop munin munin-node clamav clamav-server clamav-update spamassassin sqlite samba xinetd samba-client 2 - wget ftp://rpmfind.net/linux/fedora/releases/9/Everything/i386/os/Packages/tcputils-0.6.2-3.fc9.i386.rpm 3 - rpm -Uvh tcputils-0.6.2-3.fc9.i386.rpm
- Se seu servidor for usar base de dados SQL, seja MySQL ou PostgreSQL, saiba que o pacote padrão do Postfix não vem compilado com suporte a essas bases.
O pacote com suporte a SQL está disponível aqui:
- Não esqueça de parar o sendmail e de ativar o postfix, tanto nos serviços quanto utilizando o comando ntsysv
- Não esqueça de desabilitar o selinux, editando o arquivo /etc/selinux/config e definindo: SELINUX=disabled
- A única forma que encontrei de reiniciar o SELINUX e consequentemente de desativá-lo foi reiniciando o computador depois de fazer as devidas modificações no arquivo /etc/selinux/config. Alguém sabe como reiniciar o SELINUX sem precisar reiniciar o computador?
Instalação do KyaPanel
Há dois métodos para fazer a instalação do KyaPanel:
- Instalação utilizando o arquivo tar.gz; e
- Instalação usando o pacote rpm.
Veja, abaixo, detalhes do método escolhido por você.
Instalação tar.gz
Copie o arquivo kyapanel-0.XX.tar.gz para o DocumentRoot do seu Apache. No CentOS /var/www/html.
Descompacte o arquivo com o comando:
tar -zxvf kyapanel-0.XX.tar.gz
Será então criado um diretório kyapanel. Depois disso acesse pelo seu browser preferido o endereço http://localhost/kyapanel/ que irá redirecionar você para o instalador.
Este realizará uma checagem das configurações básicas para que o KyaPanel possa ser instalado a saber:
1. Versão instalada do PHP; 2. Instalação inicial; 3. Servidor LDAP
Se problemas forem detectados, o instalador irá propor a solução. Depois de fazer as configurações sugeridas a página Instalação do KyaPanel deverá ser recarregada para que as checagens sejam feitas outra vez.
Instalação rpm
Instale o pacote rpm do KyaPanel com o comando:
rpm -ivh kyapanel-XXX.rpm
Uma vez finalizada a instalação, acesse a URL http://localhost/kyainstall para prosseguir com as configurações do KyaPanel.
Este realizará uma checagem das configurações básicas para que o KyaPanel possa ser instalado a saber:
1. Versão instalada do PHP; 2. Instalação inicial; 3. Servidor LDAP
Se problemas forem detectados, o instalador irá propor a solução. Depois de fazer as configurações sugeridas a página Instalação do KyaPanel deverá ser recarregada para que as checagens sejam feitas outra vez.
Opções de Instalação
Depois que todas as checagens sejam bem sucedidas lhe será apresentado um formulário com as opções de instalação do KyaPanel. Estas opções, todas, serão armazenadas no arquivo /etc/kya.conf e podem ser alteradas, no futuro, em qualquer momento.
Cada opção tem uma ajuda on-line explicado para que server cada uma delas. Em caso de dúvida consulte a ajuda on-line.
Depois que as opções de instalação foram preenchidas clique no botão Instalar e você será redirecionado para a página de login do Jegue.
Configurando o OpenLDAP
No CentOS o OpenLDAP não é configurado de forma automática, ou seja, não há base inicial e alguns ajustes precisam ser feitos para que o instalador do KyaPanel funcione bem.
Para fazer as configurações de forma correta, siga os passos mostrados pelo instalador.
Se você esta fazedo uma instalação nova, então não há com o que se preocupar. Entretanto se já existem informações em sua base LDAP será fundamental que seja feito um Backup antes de prosseguir com a instalação do KyaPanel
Instalando o Courier
Infelizmente o Courier não está disponível nos repositórios do CentOS o que nos força a baixar os fontes e fazer, nós mesmos, nosso pacote RPM do Courier. Siga os passos abaixo para isso.
- Para instalar o Courier é necessário, primeiro, fazer seus pacotes RPM que não são disponibilizados pelo projeto. Este documento visa ajudar aqueles que desejam fazer o trabalho manualmente enquanto o Courier não é empacotado e distribuído pelos repositórios do RHEL e do CentOS.
Siga os passos abaixo:
- Baixando os fontes
Baixe os fontes do courier-authlib e do courier-imap do site oficial deles:
- Dependências
Infelizmente os repositórios do CentOS não são suficientes para atender todas as dependências exigidas para a compilação dos pacotes do Courier. Portanto será necessário adicionar os repositórios do Fedora EPEL.
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
Depois instale as dependências com o comando:
yum install rpmdevtools mysql-devel postgresql-devel expect libtool-ltdl-devel openssl-perl mgetty-sendfax netpbm-progs pcre-devel gamin-devel libtool openldap-devel gdbm-devel pam-devel libidn-devel
- Diretórios
Como usuário comum crie a estrutura de diretórios necessária para compilação com o comando:
rpmdev-setuptree
- Fazendo os RPM do courier-authlib
Execute o comando
rpmbuild -ta courier-authlib-XXXXX.tar.bz2
- Instalando o courier-authlib
Execute os comandos
su -
rpm -ivh rpmbuild/RPMS/i386/courier-authlib-XXversaoXX.rpm
rpm -ivh rpmbuild/RPMS/i386/courier-authlib-devel-XXversaoXX.rpm
rpm -ivh rpmbuild/RPMS/i386/courier-authlib-ldap-XXversaoXX.rpm
rpm -ivh rpmbuild/RPMS/i386/courier-authlib-mysql-XXversaoXX.rpm
rpm -ivh rpmbuild/RPMS/i386/courier-authlib-pgsql-XXversaoXX.rpm
exit
- Fazendo os RPM do courier-imap
Execute o comando
rpmbuild -ta courier-imap-XXXXX.tar.bz2
- Instalando o Courier-imap e seus componentes
Execute o comando abaixo.
su -
rpm -ivh rpm/RPMS/i386/courier-imap-XXversaoXX.rpm
PostgreSQL
- Teste de instalação da erro sempre
Isso é devido às permissões definidas por padrão no PostgreSQL do CentOS. Para arrumar isso edite o arquivo /var/lib/pgsql/data/pg_hba.conf e mude onde tem “ident sameuser” por “trust”
Reinicie o PostgreSQL e tente de novo.
Após o primeiro Login
Assim que o primeiro login for bem sucedido é fundamental ativar os módulos que serão usados. O KyaPanel, atualmente, disponibiliza dois módulos:
- Mail - Para gestão de servidore de e-mail;
- Samba - Para gestão de servidores de autenticação Samba
Para ativar um módulo siga esta sequência:
1. Configurações Globais; 2. Ativar/Desativar Módulo; 3. Faça sua seleção; 4. Clique no botão Alterar
- Não se esqueça de reiniciar o servidor. Por algum motivo o Apache só consegue encontrar o comando maildirmake depois que o servidor é reiniciado.
Configurando os demais serviços
Depois de ter ativado os módulos é hora de configurar os demais serviços que compõe o sistema.
Apenas o módulo Mail tem outrso serviços para serem configurados.
Para ter acesso à configuração dos demais serviços siga esta sequência:
1. Gestão de E-mail 2. Configurações Gerais
Nessa tela você poderá configurar os seguintes serviços:
- Postfix;
- Courier;
- Egroupware;
- ClamAV;
- SpamAssassin; e
- O próprio KyaPanel
- Infelizmente o pacote maildrop não está disponível nos repositórios. Então o amigo Edson Cardoso <edson at meassociados.com.br> fez os pacotes ], tanto para i386 quanto para 64 bits. Para baixá-los acesse o link abaixo:
Postgrey
Instale primeiro o pacote perl-BerkeleyDB com o comando:
yum install perl-BerkeleyDB
Depois baixe o Postgrey com deste site: http://dag.wieers.com/rpm/packages/postgrey/
Eu baixei o arquivo postgrey-1.31-1.el5.rf.noarch.rpm.
Instale com o comando:
rpm -ivh postgrey-1.31-1.el5.rf.noarch.rpm
Agora configure-o para rodar por inet na porta 60000:
vim /etc/init.d/postgrey
Altere aonde estiver...
OPTIONS="--unix=$SOCKET" PARA OPTIONS="--inet=127.0.0.1:60000 --delay=60"
Logo em seguida configure-o em seu postfix:
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:60000 #Linha que ativa o Postgrey
OBS: Caso use Firewall-Iptables não se esqueça de liebrar a porta:
iptables -I INPUT -p tcp -m state --state NEW -s 127.0.0.1 --dport 60000 -j ACCEPT
Por fim, starte o serviço postgrey e coloque no boot:
service postgrey start chkconfig postgrey on
SPF - Policyd-SPF-Perl
Instale primeiro a dependências de leitura perl:
perl -e 'use CPAN; install Mail::SPF;'
Agora baixe o script de verificação:
cd /usr/src/ wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.007.tar.gz tar xvfz postfix-policyd-spf-perl-2.007.tar.gz
É aqui que iremos dar o “pulo do gato” para o mesmo interpretar corretamente:
cd postfix-policyd-spf-perl-2.007 cp postfix-policyd-spf-perl /usr/libexec/postfix/policyd-spf-perl ln -s /usr/libexec/postfix/policyd-spf-perl /usr/libexec/postfix/policyd-spf ln -d /var/spool/postfix/private/policy /var/spool/postfix/private/policyd-spf
Agora basta fazer o postfix fazer as chamadas do SPF:
vim /etc/postfix/main
E adicione as linhas abaixo junto aos aparametros smtpd_sender_restrictions = e smtpd_recipient_restrictions =
smtpd_sender_restrictions = check_policy_service unix:private/policyd-spf, smtpd_recipient_restrictions = check_policy_service unix:private/policy,
vim /etc/postfix/master.cf
E adiciona na ultima linha do arquivo.
policy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/policyd-spf-perl
Pronto! Seu SPF já esta fazendo a verificação, porem você precisa adicionar uns parametros em seu Servidor DNS.
Para o dominio mestre de seu provedor faça:
seudominio.com.br. IN A ip.do.seu.server.de.email seudominio.com.br. IN TXT "v=spf1 ip4:sua.classe.de.ip/MASCARA a mx ~all" mail.seudominio.com.br. IN TXT "v=spf1 a -all"
Para os dominios de seus clientes que hospedam em seu provedor
cliente.com.br. IN A ip.do.seu.server.de.email cliente.com.br. IN TXT "v=spf1 ip4:sua.classe.de.ip/MASCARA a mx include:seudominio.com.br ~all" mail.cliente.com.br. IN TXT "v=spf1 a -all"
Detalhes sobre cada uma dessas opções, podem ser encontradas no Guia do Administrador
ClamAV
http://dag.wieers.com/rpm/FAQ.php#B2
yum remove clamav* clamd* yum install clamd service clamd start chkconfig clamd on
Problemas e Soluções
Para ver a relação dos problemas mais comuns e suas soluções, visite o Guia de Problemas e Soluções