Instalando o ISPConfig

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.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X