Servidor Gentoo · 4 min read · Feb 06, 2026

O Servidor Perfeito - Gentoo 2007.0 - Página 7

18 ISPConfig

18.1 Instalar dependências do software ISPConfig

O ISPConfig instalará sua própria cópia do spamassassin dentro dele, mas não obterá automaticamente suas dependências. Você pode instalá-las fazendo isso:

emerge --ask --verbose HTML-Parser perl-DB_File Net-DNS

Alternativamente, você poderia apenas fazer,

emerge --ask --verbose --onlydeps spamassassin

Isso instalará os pacotes dos quais o spamassassin do Gentoo depende, mas não o spamassassin em si. Curiosamente, ele instalará muito mais do que as três coisas que estamos instalando para o spamassassin do ISPConfig.

Além disso, o ISPConfig quer iptables e smrsh:

emerge --ask --verbose iptables smrsh

Como mencionado anteriormente, o ISPConfig requer que o conjunto de caracteres padrão no MySQL seja latin1, não utf-8, então se você não fez isso quando instalou o MySQL anteriormente,

echo "dev-db/mysql latin1" >> /etc/portage/package.use   
emerge --ask --verbose mysql

18.2 Inicializar o crontab do root

Então, só queremos ter certeza de que já existe um arquivo crontab para o root, para que o instalador do ISPConfig não reclame.

echo "# m h  dom mon dow   command" | crontab -

18.3 Configurar Postfix

Anteriormente, configuramos o Postfix para operação normal do Maildir. Agora queremos configurá-lo para o estado que o ISPConfig deseja para assumir essa função com suas receitas procmail.

postconf -e 'home_mailbox ='   
postconf -e 'mailbox_command = procmail -a "$EXTENSION"'   
/etc/init.d/postfix restart

18.4 Corrigir o ISPConfig para torná-lo ciente do Gentoo

O ISPConfig não instala pronto para uso no Gentoo. Quando você descompacta o tarball do ISPConfig, deve primeiro corrigi-lo. Isso foi implementado como um script em vez de um diff na esperança de que, como são apenas algumas seções adicionadas aos arquivos do ISPConfig, e não editando ou removendo nada que já esteja lá, possamos torná-lo um pouco independente de versão. Dito isso, ele foi testado apenas no ISPConfig-2.2.16.tar.gz.

Os números das versões da distribuição não significam muito no Gentoo, então o número de “versão” que usamos no ISPConfig para reconhecer o sistema é na verdade baseado no número da versão major.minor do baselayout conforme escrito em /etc/gentoo-release. Desconsideramos o número de revisão. Portanto, se esse arquivo contém,

Gentoo Base System release 1.12.9

Então usamos um número de “versão” de “112” em nosso patch para o ISPConfig.

Este script fará o download (se necessário), descompactará e corrigirá o ISPConfig com um pequeno código para reconhecer o Gentoo. Se o ISPConfig já foi descompactado em /root, ele tentará corrigir isso. Está embutido aqui em sua totalidade em homenagem à tradição de que scripts indispensáveis vinculados a partir de HowTos sempre, no final, se perdem:

#!/bin/bash
# GentooISPConfig.sh 1.0
echo "Configurando o ISPConfig..."
cd ~
if [ -d install_ispconfig ] ; then
    ISPCV=$(grep "version" install_ispconfig/config.inc.php.tmp | cut -f2 -d= | cut -f2 -d'"')
    echo "Instalador do ISPConfig ${ISPCV} descompactado encontrado. Vou tentar corrigir isso agora."
else
    ISPCV="2.2.17"
    echo "Baixando ISPConfig ${ISPCV}"
    wget -Nc http://prdownloads.sourceforge.net/ispconfig/ISPConfig-${ISPCV}.tar.gz?download
    echo "Descompactando ISPConfig ${ISPV}"
    tar xvfz ISPConfig-${ISPCV}.tar.gz
fi
cd install_ispconfig
if grep gentoo112 dist.txt > /dev/null ; then
    echo "Este instalador do ISPConfig já foi corrigido"
    exit 1
fi
echo "Corrigindo dist.txt"
cat >> dist.txt <<-"END"

dist_init_scripts=/etc/init.d ##                                 # gentoo112
dist_runlevel= ##                                                # gentoo112
dist_smrsh=/usr/sbin/smrsh ##                                    # gentoo112
dist_shells=/etc/shells ##                                       # gentoo112
dist_http_user=apache ##                                         # gentoo112
dist_http_group=apache ##                                        # gentoo112
dist_bind_init_script=named ##                                   # gentoo112
dist_bind_user=named ##                                          # gentoo112
dist_bind_group=named ##                                         # gentoo112
dist_bind_conf=/etc/bind/named.conf ##                           # gentoo112
dist_bind_dir=/etc/bind ##                                       # gentoo112
dist_bind_pidfile=/var/run/named/named.pid ##                    # gentoo112
dist_bind_hintfile=named.ca ##                                   # gentoo112
dist_bind_localfile=localhost.zone ##                            # gentoo112
dist_passwd=/etc/passwd ##                                       # gentoo112
dist_shadow=/etc/shadow ##                                       # gentoo112
dist_group=/etc/group ##                                         # gentoo112
dist_cron_daemon=cron ##                                         # gentoo112
dist_cron_tab=/var/spool/cron/crontabs/root ##                   # gentoo112
dist_mysql_group=mysql ##                                        # gentoo112
dist_httpd_daemon=apache2 ##                                     # gentoo112
END
echo "Corrigindo mod/mail/postfix"
cat >> mod/mail/postfix <<-"END"

dist_mail_log:/var/log/messages:Log-File:read::gentoo112
dist_mail_virtusertable:/etc/postfix/virtusertable:Virtusertable-File:read::gentoo112
dist_mail_local_host_names:/etc/postfix/local-host-names:Local-Host-Names-File:read::gentoo112
END
echo "Corrigindo mod/ftp/proftpd"
cat >> mod/ftp/proftpd <<-"END"

dist_ftp_conf:/etc/proftpd/proftpd.conf:Config-File:read::gentoo112
dist_ftp_version:standalone:Server-Version:exit::gentoo112
dist_ftp_log:/var/log/messages:Log-File:read::gentoo112
END
echo "Corrigindo mod/httpd/httpd"
cat >> mod/httpd/httpd <<-"END"

dist_path_httpd_root:/var/www:Web-Root:read::gentoo112
END
echo "Corrigindo setup1"
ed - -s setup1 > /dev/null <<-"END"
    /"$distvers" \
    .i
    if [ -f /etc/gentoo-release ] && [ ! -h /etc/gentoo-release ]; then
       version=`cat /etc/gentoo-release | cut -f5 -d' ' | cut -f1,2 -d'.'`
       distversion="Gentoo Baselayout $version"
       echo $distversion
       distvers=gentoo${version//./}
       echo dist=$distvers '##' > dist.info.tmp
       grep -i $distvers dist.txt >> dist.info.tmp
       cp -f dist.info.tmp dist.info
       VAR1=`cat dist.info.tmp | cut -f1 -d=`
       for var1 in $VAR1
       do
         echo export $var1 >> dist.info.ende
       done
       cat dist.info.ende >> dist.info.tmp
       rm -f dist.info.ende
    fi   
    .
wq
END
echo "Terminado de corrigir o ISPConfig. Execute a configuração agora."

18.5 Instalar ISPConfig

cd install_ispconfig   
./setup

A configuração do servidor agora está concluída e está pronta para você instalar o ISPConfig nele. Por favor, consulte o manual de instalação do ISPConfig: http://www.ispconfig.org/manual_installation.htm

19 Pós-instalação do ISPConfig

19.1 Inicialização

Para fazer a interface web do ISPConfig iniciar na inicialização, basta digitar,

rc-update add ispconfig_server default

19.2 Spamassassin

Você pode preferir executar o Spamassassin em modo daemon em vez do padrão do ISPConfig, que é executar sua própria cópia do Spamassassin diretamente para cada e-mail (o que pode ser lento). Para fazer isso, basta:

emerge --ask --verbose spamassassin   
/etc/init.d/spamd start   
rc-update add spamd default

Agora edite /root/ispconfig/isp/conf/spamassassin.rc.master e substitua esta linha:

| /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/spamassassin --prefs-file={PREFS_FILE}

por apenas,

| /usr/bin/spamc

(Esta versão, e presumivelmente versões posteriores, do ISPConfig coloca symlinks nos diretórios home de novos usuários para permitir que spamc pegue as preferências do usuário.)

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.