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

    Posts Relacionados:

    1. Howto: OpenVZ no CentOS 5.x
    2. Howto: PBX In A Flash (PiaF)
    3. Howto: Instalação e configuração do Zimbra no CentOS 5.X
    4. Howto: Filtro de emails usando Spamassassin + Postfix + ClamAV + MailScanner + MailWatch
    5. Adicionando o repositório rpmforge no CentOS 5.X

    You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    6 Comments »

     
    • Francisco says:

      Ola Eduardo, gostei do seu blog. Eu vou criar um link de parceria apontando pra você. Sobre a questão da pirataria, eu tenho tido muitas decepções mas isso é inerente à nossa sociedade e precisamos tratar isso com seriedade para um futuro melhor e ético. Obrigado e um abraço.

      • Francisco, a pirataria de Software é o Câncer dos usuários de sistemas proprietários, e que de uma forma quase que imperceptível afeta “drasticamente” a adoção de alternativas Open Source principalmente entre os usuários domésticos.

        Nos próximos dias, vou criar um “blogroll” aqui no meu blog, e colocar o seu na lista ;)

    • Eduardo, sabe se tem algo parecido – ou o próprio ISPCOnfig – para o Ubuntu?
      Estou com um servidor cloud da Locaweb que roda Ubuntu, e queria tentar usar gerenciador desse tipo.
      Me falaram sobre o Webmin…

      []s!

      • Olá novamente Chris, tudo bem?

        O seu objetivo é webhosting para clientes ou apenas para o seu blog e/ou sites?

        - Se for para clientes:
        Veja a solução do dtc, apesar de ser feita para debian acho que deve rodar no ubuntu (afinal é tudo farinha do mesmo saco).
        De uma olhada nas outras soluções que eu citei no final do post, pode ter alguma outra que rode em debian.
        De qualquer forma, ainda acho que vale mais a pena trocar o seu vps para CentOS e ficar com o ISPConfig (ou quem sabe até ir para o cPanel).

        Tenho um servidor com cPanel aqui na minha empresa e posso dizer que o suporte deles é ótimo. Tento resolver o problema, se não conseguir na primeira tentativa, nem esquento a cabeça, abro um ticket e eles resolvem, me sobra mais tempo para outras tarefas. ;) (fora que os clientes gostam do cpanel também)

        Se eu não estou enganado o virtualmin (virtualmin != webmin) também roda em debian, mas é pago.

        - Se for apenas para você (e talvez alguns amigos):
        Sinceramente acho que não haveria a necessidade de adicionar todo o overhead de um painel de webhosting como os citados anteriormente. No máximo um “webmin” da vida para facilitar um pouco as coisas. Entretanto devo lembrar que o recomendável seria utilizar este de uma forma mais segura, preferencialmente liberando acesso através de uma VPN ou através de alguma proteção como por exemplo portknocking (relativamente fácil de implementar)
        Experimente ver também o “ebox” ( http://www.ebox-platform.com/ ), não tenho bem certeza sobre o seu funcionamento, mas sei que é modular e tem nos repos do ubuntu. (também não sei se tem módulo para webserver, mas deve ter)

        Espero ter ajudado (ao invés de ter confundido) :P

        []’s

    • Wagner says:

      Você conhece algum tutorial para configurar i ISPConfig 3x depois de instalado? No site deles só tem material para a versão 2 que trabalhava com Bind e não com o MyDns.

      • Wagner a configuração do ISPConfig 3.x é toda via Web e ela depende muito das preferências de quem está configurando.

        Teoricamente você não precisará botar as mãos nos arquivos de configuração do myDNS a não ser que precise realizar algum ajuste muito pontual.

        []’s

     

    Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>