ct

    Instalando o ISPConfig

    Hospedagem de sites com o ISPConfig

    Carlos E. Morimoto
    24/03/2008


    As distribuições oficialmente suportadas pelo ISPConfig são o CentOS, Debian, Fedora, Mandriva, OpenSuSE e Ubuntu, mas ele costuma rodar sem problemas também em distribuições diretamente derivadas delas. É possível instalá-lo também em outras distribuições, como o Gentoo e o Slackware, mas nesse caso é necessária uma configuração mais detalhada e pequenas adaptações no sistema.

    Para instalar o ISPConfig, é necessário que os seguintes pacotes estejam presentes no sistema:

      Apache (versão 2.0.40 ou superior ou, no caso de precisar uma versão da série 1.3, versão 1.3.12 ou superior);

      Bind (qualquer versão dentro das séries 8 e 9);

      Iptables (qualquer versão);

      MySQL (o servidor MySQL é necessário para diversas funções, por isso também precisa estar instalado. Você pode escolher entre usar uma versão da série 4 ou 5 de acordo com a conveniência);

      Sendmail ou Postfix (apenas um dos dois) e o Spamassassin;

      Procmail (qualquer versão);

      Quota (qualquer versão);

      ProFTPd (operando em modo daemon) ou o vsFTPd;

      PHP (versão 4.0.5 ou superior; é necessário instalar tanto o interpretador PHP quanto o módulo para o Apache, da mesma forma que ao instalar um servidor LAMP);

      Courier-IMAP (ou outro servidor POP3/IMAP, como o gnu-pop3d, qpopper ou o ipop3d)

      OpenSSL (necessário para gerar os certificados para o Apache)

      gcc, cpp e flex ( e outros compiladores, usados durante a instalação do ISPConfig. No Debian ou Ubuntu, instale o pacote "build-essential", mais o pacote "flex")

    Todos estes pacotes devem ser instalados antes da instalação do ISPConfig, já que o instalador verifica o ambiente e se recusa a continuar caso algum dos componentes esteja faltando. Você pode desativar serviços que não deseja utilizar mais tarde, através do próprio ISPConfig, mas, de qualquer forma, é realmente necessário que todos os pacotes estejam instalados. :)

    Tenha paciência e instale cada um dos pacotes necessários. Aqui temos um exemplo dos pacotes necessários no caso do Debian Etch:

    # apt-get install apache2 apache2-utils ssl-cert php5 libapache2-mod-php5

    (servidor Apache2 e o interpretador PHP)

    # apt-get install php5-mysql mysql-server libmysqlclient15-dev

    (o servidor MySQL e as bibliotecas associadas)

     

    # apt-get install postfix procmail courier-pop courier-imap

    (Servidor de e-mails, POP3 e IMAP)

    # apt-get install quota quotatool proftpd iptables bind9

    (Quota, FTP, IPtables e Bind)

     

    # apt-get install build-essential flex

    (compiladores)

    # apt-get install spamassassin libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl

    (Spamassassim e outras bibliotecas necessárias)

    No CentOS é possível instalar a maior parte dos pacotes necessários marcando, durante a instalação, as categorias "Web Server", "Mail Server", "DNS Name Server", "FTP Server", "MySQL Database", "Administration Tools", "System Tools" e "Development Tools".

    Os demais pacotes necessários (como o pacote "mysql-devel", que contém os headers do MySQL, necessários durante as etapas de compilação da instalação do ISPConfig) podem ser instalados usando o yum:

    # yum install mysql-devel postfix fetchmail openssl gcc gcc-c++

    O fato de utilizar os próprios pacotes disponíveis em cada distribuição, em vez de incluir versões próprias, torna a atualização do sistema muito mais simples, já que você pode continuar usando o apt-get, yum, urpmi ou yast para instalar as atualizações de segurança dos pacotes instalados.

    A lista de pacotes necessários varia de distribuição para distribuição, mas você pode encontrar tutoriais com as peculiaridades de instalação em cada uma no:
    http://www.ispconfig.org/manual_installation.htm

    Com tudo pronto, o próximo passo é baixar o pacote de instalação do ISPConfig no:

    No site estão disponíveis tanto as versões estáveis quanto as versões de desenvolvimento. Naturalmente, as versões de desenvolvimento podem conter problemas diversos, por isso é sempre recomendável usar as versões estáveis, tanto para aprendizado quanto em ambientes de produção.

    Depois de concluído o download, descompacte o arquivo e acesse a pasta "install_ispconfig" que será criada, como em:

    # tar -zxvf ISPConfig-2.2.21.tar.gz
    # cd install_ispconfig

    Dentro do diretório, você encontra o arquivo "dist.txt", que contém um conjunto de parâmetros, incluindo a localização dos scripts de inicialização, das pastas com os scripts dos serviços e assim por diante. O arquivo vem pré-configurado para as distribuições suportadas, como em:

    dist_init_scripts=/etc/init.d ## # debian40
    dist_runlevel=/etc ## # debian40
    dist_shells=/etc/shells ## # debian40

    Em situações normais, você não precisa se preocupar com essas opções, já que elas já são pré-definidas, mas, ajustar os valores manualmente pode ser necessário ao tentar instalar o ISPConfig em uma distribuição não suportada.

    Para iniciar a instalação, rode o script "setup":

    # ./setup

    A instalação é feita através de um script simples, em texto, que confirma os parâmetros de instalação e executa os passos necessários. A primeira pergunta é sobre a linguagem de instalação. Por enquanto ainda não existe suporte ao português, mas você pode usar o inglês (2) ou o espanhol (3):

    index_html_393cfb84

    Em seguida ele pergunta sobre alguns arquivos de configuração que serão substituídos durante a instalação, entre eles o httpd.conf (Apache) e o named.conf (Bind). Se você está fazendo a instalação do ISPConfig em um servidor recém instalado, não existe motivo para preocupação, já que você não alterou os arquivos de qualquer forma. Caso contrário, é interessante fazer cópias dos arquivos antes de continuar.

    Depois de aceitar o contrato de licença você tem a opção de realizar a instalação em modo standard ou expert. No modo standard é feita uma instalação padrão, com poucas perguntas, enquanto no modo expert, que é o que utilizarei aqui, você tem a oportunidade de checar os diretórios de instalação e personalizar as opções que forem necessárias:

    index_html_3e0058ab

    A partir daí, o script de instalação confirma vários parâmetros relacionados aos pacotes instalados, permitindo que você revise a configuração. No screenshot abaixo, temos as opções relacionadas ao servidor de e-mails. Veja que ele detectou que o Postfix está instalado e, a partir das opções usadas por padrão nos arquivos de configuração, detectou a localização do arquivo de log e das tabelas de hosts e usuários:

    index_html_71da8fea

    Na grande maioria dos casos, os valores sugeridos pelo instalador estão corretos e você precisa apenas confirmar com um "y", mas em alguns casos ele falha em detectar a localização de arquivos de configuração ou outras opções e você precisa ajustar os valores manualmente.

    Por exemplo, no exemplo, tenho o Proftpd instalado, usando a configuração padrão do Debian Etch, onde a configuração vai no arquivo "/etc/proftpd/proftpd.conf". Pelo screenshot você pode ver que ele detectou corretamente qual o servidor instalado, mas errou ao detectar a localização do arquivo de configuração, onde precisei responder "n" e especificar manualmente:

    index_html_69bd3016

    Depois das opções relacionadas ao servidores de e-mails e ao servidor FTP, temos as opções relacionadas ao Apache. O instalador começa verificando as opções presentes no arquivo httpd.conf e a sintaxe do arquivo e em seguida confirma o diretório raiz do servidor web:

    index_html_53e74a86

    Nesse ponto começa a compilação do servidor web usado pelo ISPConfig para exibir a interface de administração, que nada mais é do que uma versão separada do Apache, com suporte a PHP, que é configurada para usar a porta 81. Isso faz com que ela não conflite com a versão principal do Apache, utilizada pelos sites hospedados no servidor, que escuta na porta 80.

    O principal motivo dos desenvolvedores para utilizar um servidor web separado para rodar a interface de administração, em vez de simplesmente utilizar a versão do Apache já instalada é a questão da segurança. Compilando uma versão própria do Apache, com apenas os componentes realmente utilizados pelo ISPConfig e uma política rígida de segurança, os desenvolvedores podem garantir que o software não ficará vulnerável por causa de eventuais brechas nos pacotes do Apache fornecidos pelas distribuições.

    Depois de concluído o processo de compilação (que é relativamente rápida), o instalador gera um par de certificados de segurança, usados para ativar o uso do SSL ao acessar a interface de administração do ISPConfig. Como de praxe, você pode especificar uma série de informações, como o país, estado, cidade, empresa, etc. Estas informações são incluídas nas propriedades do certificado, mas são opcionais. Simplesmente deixar os campos em branco não afeta a segurança do certificado:

    index_html_m51f0e6a3

    No final do processo, você tem a opção de encriptar o arquivo com o certificado, protegendo-o com uma passphrase. Naturalmente, ativar a encriptação aumenta a segurança, já que elimina a possibilidade de que alguém com acesso ao servidor possa obter o certificado copiando o arquivo. O problema é que ativando a encriptação você passa a precisar fornecer a passphrase cada vez que precisar reiniciar o ISPConfig (depois de uma atualização por exemplo), o que dificulta o uso de scripts para automatizar tarefas (mais detalhes a seguir). Como pode ver, a encriptação traz vantagens e desvantagens, o velho conflito entre usabilidade e segurança.

    index_html_m308ab728

    Durante o processo de instalação, o script verifica a instalação dos pacotes usados pelo ISPConfig e aborta a instalação caso qualquer um deles não esteja instalado (avisando do problema), como nesse screenshot onde ele está acusando a falta do flex:

    index_html_m2826334b

    Nesse caso, você deve remover a pasta "install_ispconfig", instalar o pacote que estava faltando, descompactar o arquivo "ISPConfig-x.x.x.tar.gz" e começar de novo, como em:

    # cd ..
    # rm -rf install_ispconfig/
    # tar -zxvf ISPConfig-2.2.21.tar.gz
    # cd install_ispconfig
    # ./setup

    Se tudo estiver em ordem, você terá mais uma rodada de compilações, que demora de 5 a 15 minutos, de acordo com o desempenho do servidor. Depois de terminado o processo o instalador continua o processo de configuração, dessa vez pedindo as credenciais de acesso ao servidor MySQL:

    index_html_5fc00dc2

    O endereço do servidor é sempre "127.0.0.1" (a menos que você pretenda configurar o ISPConfig para acessar um servidor MySQL instalado em uma máquina separada). Como o ISPConfig será usado para fazer toda a administração do servidor MySQL, incluindo a criação de bases de dados e o gerenciamento dos usuários, você deve especificar o usuário "root" e a senha mestra do MySQL, definida usando o comando "mysqladmin -u root password senha".

    Se você acabou de instalar os pacotes do MySQL e não definiu a senha, abra outro terminal e rode o comando, como root, especificando a senha:

    # mysqladmin -u root password ftunbTGD34csw

    Em seguida, volte ao terminal com a instalação do ISPConfig para continuar a instalação.

    Ele pedirá que você especifique uma base de dados onde serão armazenadas as configurações do programa (o próprio instalador se encarrega de criá-la para você, usando a senha de acesso que você acabou de fornecer a ele) e, em seguida, perguntará o endereço IP do servidor (através do qual você acessará a interface de administração) e também o nome do host e o domínio.

    É importante enfatizar que a base de dados definida na opção ("db_ispconfig", no exemplo) não deve existir no servidor. Se, por acaso, você já tiver criado uma base de dados com o mesmo nome anteriormente, use outro nome qualquer na configuração do ISPConfig.

    O nome e o domínio informados devem ter sido previamente configurados no Bind, de forma que você consiga acessar o endereço informado usando o ping ou via ssh, por exemplo. Se o endereço fornecido não estiver acessível, você recebe a mensagem "The URL is not reachable!",

    Continuando, ele perguntará se você deseja usar o protocolo HTTP ou o HTTPS para o acesso à interface de administração. Use sempre o HTTPS (1), já que ao acessar o ISPConfig via HTTP todas as informações são transmitidas de forma não encriptada pela rede, abrindo brecha para ataques.

    No final, ele exibirá uma mensagem de confirmação, avisando de que a instalação está completa:

    index_html_m2edcff80

    Os arquivos referentes ao ISPConfig são divididos em duas pastas. A primeira é a "/root/ispconfig", que contém templates para todos os arquivos de configuração gerados pelo ISPConfig, incluindo arquivos para o Apache, Bind, Postfix e outros serviços, combinadas com classes PHP, que incluem as funções usadas por ele para manipular a configuração do sistema. A segunda é a pasta "/home/admispconfig", que inclui os arquivos da interface de administração e também os executáveis de alguns utilitários e scripts usados por ele.

    Em situações normais, você nunca precisará aditar manualmente arquivos dentro destas duas pastas, já que toda a configuração é feita através da interface, mas, de qualquer forma, examinar os arquivos e os scripts contidos nas duas são uma boa forma de entender melhor como o ISPConfig funciona.



    Página 02 de 09
        


    » Gostou do texto? Veja nossos livros impressos

cb
Livros de Carlos E. Morimoto HOME