Instalação de um servidor com Fedora Core 5.

Bom Dia pessoal,

Nesse artigo trataremos de um assunto interessante, a montagem de um servidor completo, usando o Fedora Core 5.

Vamos lá.

Primeiro de tudo altere a sequência de boot na sua máquina para que ele execute o boot via CD/DVD, feito isso, salve e saia do setup.

Deixe o CD/DVD no driver, assim que o computador iniciar, a tela de boas vindas do Fedora Core 5 vai aparecer, você tem várias opções nesse ponto, mas esse artigo, vai abranger só o básico mesmo.

Depois de pressionado o ENTER, você vai para uma tela perguntando se deseja testar o CD/DVD que vai instalar, eu costumo colocar Skip, ou seja, pular esse passo.

Na próxima tela, você será questionado sobre que linguagem deseja usar no sistema, selecione a que melhor se aplica ao seu caso.

Depois disso, a instalação vai pedir para selecionar o teclado, selecione o teclado que mellhor se encaixe às suas necessidades.

A próxima opção será a de particionamento. O Fedora já tem um esquema de particionamento padrão que já vem definido, com VolGroups, mas eu sempre prefiro alterar.

Para isso eu removo todas as partições do disco, e vou criando passo a passo as novas.

Na primeira partição, eu coloco dessa forma :

/boot = 100 Megas

Na segunda a swap, ou memória de troca:

swap = Mais ou menos o dobro da memória RAM.

Finalmente na terceira coloco:

/ = Preencher com o resto do disco.

Notem que existem diversas formas, estou escrevendo a forma mais simples.

O Próximo passo, será a configuração da sua rede.

Muitas pessoas utilizam o DHCP, ou seja a máquina pega um IP automáticamente.

Nesse artigo, eu não usarei DHCP e sim configuração de rede normal.

Clique na eth0 e defina os parâmetros:

[ ] Configurar usando DHCP
[x] Ativar durante o boot

Deixe desmarcado Configurar usando DHCP e marcado Ativar Durante o boot, isso se encarregará de deixar as coisas funcionando sem DHCP e “subindo” durante o boot.

Logo abaixo veremos :

Endereço IP :
Máscara de Sub-Rede:

Preencha com os dados da sua rede.

Defina o seu hostname manualmente, defina o gateway, e os DNS´s.

Defina a localidade em que você se encontra. Por exemplo:

Região Sudeste de uma forma geral, é definido como São Paulo.

Nós ainda podemos usar um servidor de hora. Mas não falarei sobre isso nesse artigo.

Feito isso, coloque a sua senha de root, e a repita novamente, para se certificar que
ela está realmente correta.

Na próxima tela, marque o que você deseja. Eu costumo deixar o padrão, já que muita coisa será baixada posteriormente. Você ainda tem a opção de definir uma instalação personalizada mas não vem ao caso no momento.

Os próximos passos, serão a formatação do sistema, e a instalação do mesmo.

Pronto, podemos retirar o CD/DVD e dar boot.

Eu costumo alterar a sequência de boot novamente para não “bootar” mais pelo CD/DVD.

Responda as perguntas iniciais do sistema, e passaremos para a próxima parte.

Para configurar manualmente um endereço de IP adicional, podemos fazer um macete.

Edite o arquivo de placa de rede :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

No meu caso estava assim :

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

Agora colocaremos um endereço virtual na placa, dessa forma :

DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

Note as mudanças :

- eth0 foi para eth0:0
- O ip com o final 100, foi para o 101

Sendo assim teremos duas placas de rede em uma só.

Feito isso, execute :

# /etc/init.d/network restart

Note que se você está num modo gráfico, é preciso abrir o terminal. konsole ou gnome-terminal

Ainda no terminal faça :

# system-config-securitylevel

Deixe o Firewall desabilitado, marque para desabilitar.

Feito isso, faça uma checagem para ver se as regras realmente foram desabilitadas :

# iptables -L

Se retornar algo parecido com isso :

[root@gustavo ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

É sinal que foi desabilitado.

Outro passo muito importante, e que volta e meia causa problemas é o SELinux, desabilite também ele para que ele não encha a tela de logs e nem interrompa a nossa brincadeira.

Edite o arquivo :

vi /etc/selinux/config

Deixe-o dessa forma :

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted

Salve e saia do arquivo.

Depois execute :

# shutdown -r now

Seu sistema será reiniciado.

Agora começaremos mais uma parte da diversão, a instalação dos softwares básicos,
para que possamos fazer o nosso servidor .

Nesse primeiro passo de instalação de ferramentas, instalaremos as ferramentas que serão necessárias posteriormente.

Proceda da seguinte forma :

# yum -y install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp

Vamos instalar agora um Servidor de DNS Chroot ( BIND9 )

Para instalar basta proceder da seguinte forma :

# yum -y install bind-chroot

Se der algum erro nesse momento, você pode ignorar sem problemas.

Faça os ajustes necessários assim :

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot

“Ligue” o named na inicialização :

chkconfig –levels 235 named on

Inicie o serviço dele :

/etc/init.d/named start

Agora o named deve estar rodando sob ambiente chroot.

Para o pessoal que gosta de instalar o MySQL, proceda da seguinte forma :

# yum -y install mysql mysql-devel mysql-server

Depois de instalado, “ligue” o serviço dele na inicialização

# chkconfig –levels 235 mysqld on

Inicie o serviço :

/etc/init.d/mysqld start

Observer se ele está habilitado :

# netstat -tap

tcp 0 0 *:mysql *:* LISTEN 2008/mysqld

Se existir uma linha parecida com essa, ele está habilitado.

Se não existir, edite o arquivo my.cnf

vi /etc/my.cnf

Ele deverá ficar dessa forma :

#skip-networking

Feito isso, reinicie o serviço

# /etc/init.d/mysqld restart

Para definirmos a senha para o mysql, façamos da seguinte forma :

# mysqladmin -u root password suasenhadomysql

# mysqladmin -h gustavo.exemplo.com -u root password suasenhadomysql

Onde a letra h, é o nome do host.

Agora instalaremos o Postfix com SMTP-AUTH e TLS

Façamos download dos softwares necessários :

# yum -y yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot

Agora configuraremos o SMTP-AUTH e o TLS

# postconf -e ‘smtpd_sasl_local_domain =’
# postconf -e ‘smtpd_sasl_auth_enable = yes’
# postconf -e ‘smtpd_sasl_security_options = noanonymous’
# postconf -e ‘broken_sasl_auth_clients = yes’
# postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
# postconf -e ‘inet_interfaces = all’

Eu habilitei a linha PLAIN e LOGIN do Postfix, no seguinte arquivo:

# vi /usr/lib/sasl2/smtpd.conf

Caso esteja usando o Fedora 64 a linha será essa :

# vi /usr/lib64/sasl2/smtpd.conf

O arquivo deverá estar dessa forma :

pwcheck_method: saslauthd
mech_list: plain login

Crie o diretório do ssl:

# mkdir /etc/postfix/ssl

Entre no diretório :

# cd /etc/postfix/ssl/

Defina a chave :

# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

Nesse momento será pedido uma senha :

Dê a permissão necessária.

# chmod 600 smtpd.key

Depois disso, faça :

# openssl req -new -key smtpd.key -out smtpd.csr
# openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted

Use as senhas.

Renomeie as chaves :

# mv -f smtpd.key.unencrypted smtpd.key

E por fim :

# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Agora colocaremos mais configurações no PostFix:

# postconf -e ‘smtpd_tls_auth_only = no’
# postconf -e ‘smtp_use_tls = yes’
# postconf -e ‘smtpd_use_tls = yes’
# postconf -e ‘smtp_tls_note_starttls_offer = yes’
# postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
# postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
# postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
# postconf -e ‘smtpd_tls_loglevel = 1′
# postconf -e ‘smtpd_tls_received_header = yes’
# postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
# postconf -e ‘tls_random_source = dev:/dev/urandom’

Edite o arquivo /etc/postfix/main.cf e retire os comentários ( Preciosismo ).

# vi /etc/postfix/main.cf

Ele deverá ficar parecido com esse :

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.2.8/samples
readme_directory = /usr/share/doc/postfix-2.2.8/README_FILES
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Agora colocaremos o Postfix, saslauthd e o dovecot para iniciar :

Desilga o sendmail da inicialização :
# chkconfig –levels 235 sendmail off

Liga o postfix na inicialização
# chkconfig –levels 235 postfix on

Liga o saslauthd na inicialização
# chkconfig –levels 235 saslauthd on

Liga o dovecot na inicialização
# chkconfig –levels 235 dovecot on

Pára o sendmail
# /etc/init.d/sendmail stop

Inicia o postfix
# /etc/init.d/postfix start

Inicia o saslauthd
# /etc/init.d/saslauthd start

Inicia o dovecot
# /etc/init.d/dovecot start

É hora dos testes :

Façamos o seguinte :

# telnet localhost 25

Você deve ver algo assim :

250-STARTTLS

e

250-AUTH

quit

Caso esteja Ok, nós somos pessoas de sorte.

Agora configuraremos o Maildir:

# postconf -e ‘home_mailbox = Maildir/’
# postconf -e ‘mailbox_command =’

Reinicie o serviço do Postfix
# /etc/init.d/postfix restart

Agora instalaremos o Apache2 com o PHP5

# yum -y yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Edite o httpd.conf, que fica em /etc/httpd/conf/httpd.conf

# vi /etc/httpd/conf/httpd.conf

DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl

Agora vamos iniciar o apache.

# /etc/init.d/httpd start

Disabilite o PHP Globalmente

# vi /etc/httpd/conf.d/php.conf

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#

LoadModule php5_module modules/libphp5.so

#
# Cause the PHP interpreter to handle files with a .php extension.
#
#AddHandler php5-script .php
#AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

Depois disso, reinicie o Apache:

# /etc/init.d/httpd restart

Instalando o ProFTPd

# yum -y remove vsftpd
# yum -y install proftpd

Coloque o ProFTPd na inicialização.

# chkconfig –levels 235 proftpd on

Instalando o Webalizer:

# yum -y install webalizer

Agora para sincronizar o relógio façamos o seguinte :

# yum -y install ntp

Coloque na inicialização
# chkconfig –levels 235 ntpd on

Sincronize o seu relógio :

# ntpdate 0.pool.ntp.org

Inicie o ntpd

# /etc/init.d/ntpd start

Instale algumas dependências para o SpamAssassin

# yum -y yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1

4 Responses to “Instalação de um servidor com Fedora Core 5.”

  1. Olá utilizei o seu tutorial para instalar os serviços no meu servidor e estou com algumas dúvidas… vc tem algum e-mail ou msn?

    Abraços!

  2. Ola eu vi seu tutorial mas não vi como faço para compartilhar a conecção de internet no fedora core 5. preciso disso para instalar um servidor… ja que gostei muito do seu tutorial

  3. Como Faço para configurar o linux fedora core 5.0, para servidor de arquivos e servidor proxy.

  4. O Mesmo podemos !!!! Nos corresponder !!!

Leave a Reply