webhosting

HOWTO: ISPConfig 3.x no CentOS 5.x

O ISPConfig é uma ótima ferramenta Open Source para gerenciamento completo de um servidor de Web Hosting. Ele possui ferramentas que abrangem todos os itens indispensáveis para este tipo de serviço, como emails, web, ftp, dns, mysql, revendedores (reseller), painel administrativo para o usuário gerenciar o seu domínio, etc.. é sem dúvidas, uma ótima alternativa ao cPanel WHM.

Instale o repositório rpmforge de acordo com este guia: Adicionando o repositório rpmforge no CentOS 5.X

Pré ajustes

  • Desabilite o Selinux
  • Desabilite o firewall do CentOS
  • Ambos podem ser desabilitados através do menu “setup” – no item “firewall”.

    Preparando o servidor e instalando as dependências:
    # yum remove sendmail
    # yum update
    # yum install amavisd-new bzip2 clamav clamav-data clamav-server clamav-update clamd curl curl-devel cyrus-sasl-devel expect gamin-devel gcc gcc-c++ gdbm-devel getmail httpd imagemagick libtool libtool-ltdl-devel libxml2 libxml2-devel mysql-devel mysql-server ntp openldap-devel openldap-servers openssl-devel pam-devel pcre-devel perl-datetime-format-builder perl-datetime-format-http perl-dbd-mysql perl-libwww-perl php php-bcmath php-common php-devel php-eaccelerator php-gd php-imap php-ldap php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql phpmyadmin php-mysql php-odbc php-pear php-shout php-snmp php-soap php-tidy php-xml php-xmlrpc pkgconfig postfix postgresql-devel pure-ftpd quota redhat-rpm-config rpm-build spamassassin squirrelmail subversion unrar unzip webalizer zlib-devel -y

    Para facilitar a sua vida, reuni a instalação de todos os pacotes necessários em apenas um “yum install”, assim você pode ir tomar um café e fumar um cigarro tranquilamente enquanto o yum trabalha ;)

    Instalando serviços que não estão disponíveis nos repositórios:
    # cd /usr/src
    mydns:
    # wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
    # rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

    vlogger:
    # wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
    # tar xvfz vlogger-1.3.tar.gz
    # mv vlogger-1.3/vlogger /usr/sbin/

    Courier
    Por uma exigência do courier-imap, este não pode ser compilado utilizando o usuário root, portanto, iremos criar um usuário apenas para criar os pacotes rpm, não esqueça de remove-lo no final.

    # useradd -m -s /bin/bash rpmbuilduser
    # passwd rpmbuilduser

    Edite o arquivo /etc/sudoers e adicione na última linha:
    rpmbuilduser ALL=(ALL) ALL

    Faça o download dos pacotes do courier:
    # wget http://sourceforge.net/projects/courier/files/courier-authlib/courier-authlib-0.62.4.tar.bz2
    # wget http://sourceforge.net/projects/courier/files/courier-imap/courier-imap-4.5.1.tar.bz2
    # wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

    Alterne para o usuário “rpmbuilder” e prepare o ambiente para gerar os arquivos rpm
    # su rpmbuilduser

    # mkdir $HOME/rpm
    # mkdir $HOME/rpm/SOURCES
    # mkdir $HOME/rpm/SPECS
    # mkdir $HOME/rpm/BUILD
    # mkdir $HOME/rpm/SRPMS
    # mkdir $HOME/rpm/RPMS
    # mkdir $HOME/rpm/RPMS/i386
    # mkdir $HOME/rpm/RPMS/x86_64

    # echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

    Crie os rpms do courier-authlib e instale os pacotes requeridos pelo ISPConfig
    # rpmbuild -ta courier-authlib-0.62.4.tar.bz2
    # sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-0.62.4-1.i386.rpm
    # sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-mysql-0.62.4-1.i386.rpm
    # sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-devel-0.62.4-1.i386.rpm

    Mesmo procedimento com o courier-imap
    # rpmbuild -ta courier-imap-4.5.1.tar.bz2
    # sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-imap-4.5.1-1.i386.rpm

    E finalmente o maildrop…
    # rpmbuild -ta maildrop-2.0.4.tar.bz2
    # sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/maildrop-2.0.4-1.i386.rpm

    Opcionalmente, volte para o usuário root, copie os rpms para /usr/src e delete o usuário rpmbuilder
    # exit
    # mv /home/rpmbuilduser/rpm/ /usr/src/
    # userdel -r rpmbuilduser

    Edite novamente o arquivo /etc/sudoers e remova a linha adicionada anteriormente.

    Atualize o clam
    /usr/bin/freshclam

    Ative o sistema de quotas
    Edite o arquivo /etc/fstab e na linha referente a partição em que as quotas devem ser acionadas, adicione as opções “,usrquota,grpquota“:
    Exemplo:
    /dev/sda3 / ext3 defaults,usrquota,grpquota 1 1
    Para ativar o sistema de quota (assumindo que você está utilizando quota na /)
    # touch /aquota.user /aquota.group
    # chmod 600 /aquota*
    # mount -o remount /
    # quotacheck -avugm
    # quotaon -avug

    Agora que todos os serviços estão instalados, inicialize eles e verifique se todos subiram corretamente.
    # service amavisd start
    # service clamd start
    # service courier-authlib start
    # service courier-imap restart
    # service httpd start
    # service mydns start
    # service mysqld start
    # service postfix start
    # service pure-ftpd start
    # service saslauthd start

    Altere o runlevel dos serviços utilizados para que estes inicializem durante o boot:
    # chkconfig --level 345 amavisd on
    # chkconfig --level 345 clamd on
    # chkconfig --level 345 courier-authlib on
    # chkconfig --level 345 courier-imap on
    # chkconfig --level 345 httpd on
    # chkconfig --level 345 mydns on
    # chkconfig --level 345 mysqld on
    # chkconfig --level 345 postfix on
    # chkconfig --level 345 pure-ftpd on
    # chkconfig --level 345 saslauthd on

    Defina uma senha de root para o banco mysql:
    # mysqladmin -u root password senhacomplexa (mas é complexa mesmo viu?)

    Nesta altura, todas as dependências e serviços que o ISPConfig estão instalados e rodando corretamente, então podemos inicializar a instalação.

    Download do ISPConfig
    # cd /usr/src
    # wget http://www.ispconfig.org/downloads/ISPConfig-3.0.1.x.tar.gz

    Descompacte e rode o script de instalação
    # tar xvfz ISPConfig-3.0.1.x.tar.gz
    # cd ispconfig3_install/install/
    # php -q install.php

    Quando você executar o install.php, você precisará responder algumas perguntas específicas do seu servidor, para a maioria delas, uma resposta satisfatória já vem definida.
    Durante a execução deste script, todos os serviços serão configurados automagicamente de acordo com as especificações do ISPConfig. Não será necessário editar nenhum arquivo manualmente.

    Após rodar o script de instalação, acesse o painel do ISPConfig em http://ipdoservidor:8080 e entre com o usuário admin senha admin (mude imediatamente esta senha)

    Observação: Durante o yum inicial, você realizou a instalação do squirrel e este encontra-se disponível em http://ipdoservidor/webmail ;)

    Pronto, seu ISPConfig deve estar completamente instalado, agora basta dedicar um pouco de tempo para configurar de acordo com as suas necessidades.

    Se você chegou neste post procurando uma alternativa para o cPanel e por algum motivo não gostou do ISPConfig, cito algumas outras opções que podem agradar:

    Domain Technologie Control
    ispCPOmega – (Fork do VHCS) – Demo – admin / admin123
    RavenCoreDemo – Login: admin / ravencore
    GNUPanel
    Virtualmin GPL