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
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!
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
Como Faço para configurar o linux fedora core 5.0, para servidor de arquivos e servidor proxy.
O Mesmo podemos !!!! Nos corresponder !!!