Servidor · 5 min read · Jan 14, 2026

Script Para Configuração Automática de Um Servidor Perfeito No OpenSUSE 11.4 E Instalação do ISPConfig 3

Script Para Configuração Automática de Um Servidor Perfeito No OpenSUSE 11.4 E Instalação do ISPConfig 3

Autor: George Yohng (georgesc#oss3d.com)
Versão do script: 2.2
Última atualização: 26 de outubro de 2011

Aqui está um pequeno script que automatiza a tarefa de configurar um Servidor Perfeito - OpenSUSE 11.4 x86_64 [ISPConfig 3], e no final ele também instala o ISPConfig 3.

Por favor, note: não execute este script em um servidor já em funcionamento, pois este script pode sobrescrever arquivos de configuração e quebrar o sistema em funcionamento. Ele é destinado apenas para ser usado em uma instalação nova do OpenSUSE 11.4.

Se você estiver instalando no OpenSUSE 11.2 ou OpenSUSE 11.3, por favor, certifique-se de usar outra versão deste script (também disponível em www.howtoforge.com).

Há algumas coisas faltando no tutorial, como eu o encontrei. Eu fiz um script, baseado no tutorial, que prepara um sistema, e que contém várias etapas que, se não feitas, deixam o sistema incompleto de alguma forma.

Adições notáveis:

  • configuração do fail2ban
  • SuSEfirewall2 habilitado
  • alteração de configuração do Pure-ftpd (permitir renomeações, mudar portas passivas e permissões)
  • geração de certificado do Postfix
  • geração de certificado SSL do Apache, e mudança do ISPConfig para HTTPS
  • correção da configuração do NameVirtualHost do apache com OpenSUSE (importante para o Apache reconhecer múltiplos domínios do ISPConfig)
  • configuração do rdiff-backup com cron
  • correção da configuração do dovecot para habilitar SSL e suportar compatibilidade com courier
  • correção do pam_mysql para funcionar em sistemas de 64 bits
  • correção do amavis para encontrar o socket clamd
  • instalação do eAccelerator
  • correção do caminho de erros personalizados do apache
  • instalação e configuração do awstats
  • configuração do apache e awstats para usar mod_logio para medição correta de largura de banda
  • e mais…

O script é imperfeito no fato de que requer entradas manuais duas vezes - quando mysql_secure_install é executado, e quando ispconfig_update_svn é executado. (Eu uso svn, porque a última versão SVN do ISPConfig parece muito mais bonita, mas pode-se digitar stable também - em sistemas de produção, você deve usar stable!)

Faça

zypper update

e

reboot

antes de executar este script.

Também é melhor mudar o nome do host (arquivo HOSTNAME) manualmente com yast2 antes de executar este script, para que o OpenSUSE coloque um nome apropriado na configuração do Postfix.

Este script requer duas ações manuais:

Primeiro - quando mysql_secure_install é executado.
Segundo - para atualização do ISPConfig3, se a atualização SVN for escolhida, pode ser necessário dizer ‘y’ para habilitar SSL, enquanto para todas as outras opções - pode-se escolher um valor padrão apenas pressionando ENTER.

Você deve mudar as seguintes variáveis no script antes de executá-lo:

THIS_PLATFORM: Ou x86_64 ou i586.

MYSQLROOTPASS: Por favor, mude MYSQLROOTPASS, e tenha certeza de digitá-lo exatamente durante a instalação do mysql_secure_install.

MY_HOSTNAME, MY_DOMAIN: Mude isso para o nome do seu servidor. Por padrão, está configurado para server1.mydomain.com. Se seu site hospeda um domínio completo, como domain.com, ainda deixe algo para MY_HOSTNAME. server1 ou host é um bom nome.

ISPCONFIG_TAR_GZ: Certifique-se de que ISPCONFIG_TAR_GZ contém a versão mais recente disponível do ISPConfig 3. Cuidado, que o encanamento automático para responder a todas as perguntas está configurado para funcionar com ISPConfig 3.0.3.3, e você pode precisar mudar essa parte do script, se o ISPConfig for de uma versão posterior.

Salve o script no seu servidor (por exemplo, /root/opensuse_ispconfig3.sh):

vi /root/opensuse_ispconfig3.sh

| ``` #!/bin/sh

# OpenSUSE 11.4 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Script Version 2.2

# Do zypper update and reboot before running this script

# Also better change host name manually with yast2 before running this script.

# This script requires two manual actions.

# First - when mysql_secure_install is running. One should type a new mysql password, the same as here
# Second - for ISPConfig3 update. One should type ‘svn’ when the update type is asked
# For both of scripts, all other options are default, one can just press ENTER.


# Also, please change MYSQLROOTPASS below, and be sure to enter it verbatim
# during the installation of mysql_secure_install.

# Important: When setting an MX entry, point it to mail.yourdomain.com rather than
# just to yourdomain.com, and create a CNAME entry for mail. Otherwise it doesn’t
# seem to work somehow.

# Platform is x86_64 or i586

THIS_PLATFORM=x86_64

MYSQLROOTPASS=87h4eq2jr2

# Change this to your server name. By default it’s configured to server1.mydomain.com

# If your web site hosts a complete domain, such as domain.com, still leave
# something for MY_HOSTNAME. ‘server1’ or ‘host’ is a good name.

MY_HOSTNAME=server1
MY_DOMAIN=mydomain.com

# Uncomment to use SVN-version of ISP config, and to run update once the installation is finished
#ISPCONFIG_SVN=yes

# Packages may have been updated, therefore also check the RPM and TARGZ locations below,
# and preferably use the latest versions of everything.

GETMAIL_RPM=http://download.opensuse.org/repositories/server:/mail/openSUSE_11.4/noarch/getmail-4.20.4-11.1.noarch.rpm
PAM_MYSQL_TARGZ=http://heanet.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz
SUPHP_RPM=http://download.opensuse.org/repositories/server:/php/openSUSE_11.4/$THIS_PLATFORM/suphp-0.7.1-3.2.$THIS_PLATFORM.rpm

AWSTATS_RPM=http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm

SQUIRRELMAIL_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/squirrelmail-1.4.22-1.1.noarch.rpm

JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz

PHPMYADMIN_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/phpMyAdmin-3.4.3.2-15.1.noarch.rpm
VLOGGER_TARGZ=http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz

RDIFF_BACKUP_TARGZ=http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz

EACCELERATOR_TARGZ=http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
#EACCELERATOR_TARGZ=http://www.debiantutorials.com/static/eaccelerator-0.9.6.1.tar.bz2

ISPCONFIG_TAR_GZ=http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.3.tar.gz?use_mirror=

MY_FULLHOSTNAME=$MY_HOSTNAME.$MY_DOMAIN

# Disable apparmor

/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor

# Install SuSEfirewall

zypper -n install -l SuSEfirewall2 iptables

# Allow ports through firewall

SuSEfirewall2 open EXT TCP 22
SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500
SuSEfirewall2

# Switch off X login (check!)

chkconfig –del xdm
rcxdm stop

# Quota

zypper -n install -l quota

touch /aquota.user /aquota.group
chmod 600 /aquota.
touch /srv/aquota.user /srv/aquota.group
chmod 600 /srv/aquota.


# TODO: change fstab here
# Ignore errors from the below commands

mount -o remount /
mount -o remount /srv
mount -o remount /home

quotacheck -avugm
quotaon -avug

# Basic packages

zypper -n install -l mc

zypper -n install -l GeoIP libGeoIP-devel libGeoIP1

geoip-fetch

zypper -n install -l findutils libreadline6 compat-readline4 readline-devel libgcc45 glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico

# Host name
echo $MY_FULLHOSTNAME > /etc/HOSTNAME
echo 127.0.0.2 $MY_FULLHOSTNAME $MY_HOSTNAME >> /etc/hosts

export HOST=$MY_FULLHOSTNAME
export HOSTNAME=$MY_FULLHOSTNAME

SuSEconfig

# Postfix, Dovecot, MySQL
zypper -n install -l postfix postfix-mysql mysql-community-server mysql-community-server-client mysql-community-server-tools
zypper -n install -l python cron
zypper -n install -l libmysqlclient-devel pwgen
zypper -n install -l dovecot12 dovecot12-backend-mysql
zypper -n install -l bind

chkconfig –add mysql
chkconfig –add postfix
chkconfig –add dovecot
chkconfig –add named

test -d /lib64 && ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

/etc/init.d/mysql start
/etc/init.d/postfix start
/etc/init.d/dovecot start
/etc/init.d/named start

# getmail

cd /tmp
rpm -i $GETMAIL_RPM

# pam

if [ “$THIS_PLATFORM” == “x86_64” ]; then
zypper -n install -l pam-devel pam-32bit pam-devel-32bit pam-modules-32bit
fi

if [ “$THIS_PLATFORM” == “i586” ]; then
zypper -n install -l pam-devel pam pam-modules
fi


# pam_mysql

cd /tmp
wget -c $PAM_MYSQL_TARGZ
tar xvfz pam_mysql-.tar.gz
rm -rf pam_mysql-
.tar.gz
cd pam_mysql-
./configure
make
make install
cd /tmp
rm -rf /tmp/pam_mysql-


test -d /lib64 && cp /lib/security/pam_mysql* /lib64/security

# mysql_secure_installation

mysql_secure_installation

#(echo Y; echo $MYSQLROOTPASS; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; )

# amavis, spam asassin, etc
zypper -n install -l spamassassin amavisd-new clamav clamav-db zoo unzip bzip2 unarj perl-DBD-mysql
zypper -n install -l unrar

sa-update

# TODO: change /etc/amavisd.conf

#$mydomain = “$MY_DOMAIN”; # a convenient default for other settings
#$myhostname = “$MY_HOSTNAME”;

sed -i ‘s/ $mydomain = ‘\

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.