Por: Leonardo Vargas Leffa. Sistema Operacional Usado: Ubuntu 10.04.

Post on 07-Apr-2016

224 views 3 download

Transcript of Por: Leonardo Vargas Leffa. Sistema Operacional Usado: Ubuntu 10.04.

Montando um Servidor de Hospedagem

Por: Leonardo Vargas Leffa

Sistema Operacional Usado: Ubuntu 10.04

Instalação

Processador Core i7 – 860 8gb de memória DDR3 1333mhz 2 Hd’s de 1TB cada Placa mãe Intel DH55TC Fonte de 500w reais da C3Tech Placa de vídeo geforce 7200 Gravador de DVD Gabinete da leadership com Ventilação.

Configuração Utilizada

A primeira dificuldade já encontrada na instalação foi a compatibilidade do hardware com o sistema operacional.

A Placa intel DH55TC, que é a que foi usada, não oferece suporte para distribuições do linux (ubuntu) menores que a 10.04.

Ele instala perfeitamente mas o hardware de rede não é detectado.

Dificuldade encontrada (1)

Quando quiser montar um servidor verifique sempre a compatibilidade de sistemas e hardware.

Conselho.

Como fazer a instalação do Sistema Operacional.

No exemplo o hostname será server1.exemplo.com

Bom vamos ao que interessa...

Linguagem do servidor

Carregando os Componentes Adicionais do SO.

Configurando o DHCP.

hostname

O nome do computador (host) será server1.

Hostname na internet é um nome de domínio atribuído a um host.

O domínio neste exemplo é example.com que será definido mais tarde.

O domínio é definido na instalação quando o sistema não encontra nenhum DHCP. Assim ele pede a configuração manual da rede.

Sobre o hostname

Particionador

Sistemas de arquivos nativos: Ext2, Ext3, Ext4, ReiserFS e Reiser4

Tipo usado: Ext4 Motivo? O ext 4 tem... Melhorias na pré-alocação. Tempo de Alocação estendido. Maior numero de subdiretórios. Undelete. Checagem rápida no Sistema de arquivo.

Um pouco sobre partições linux...

LVM é um acrônimo para a expressão inglesa Logical Volume Management para designar um padrão de gerenciamento de partições em disco IDE/SCSI/FC.

LVM

Formatando partições.

Nome de usuário do computador

Senha do usuário

Configuração de proxy

Instalação de softwares

é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada.

SSH

Programa mais usado: Putty

Instalação do GRUB

Depois da instalação do grub ele reinicia o PC e ai sim começam as configurações e instalações principais.

Tempo médio de instalação: 20 min.

Termino da instalação

Apache 2.2 – Servidor HTTP. Bind9 – Servidor de DNS Mysql – Servidor de Banco de Dados. PostGres – Servidor de Banco de dados. Postfix – Agente de Transferência de email

(MTA). Courier – Servidor de Emails. (SMTP,POP3,IMAP) Phpmyadmin – Administrador de banco de

dados mysql. Pgmyadmin – Administrador de banco de dados

postgres

Programas usados no servidor

PHP – Biblioteca do PHP. FCGI – Protocolo de integração de programas. PureFTPd - Servidor de FTP Quota – Gerenciador de espaço e

transferência de disco. ClamAv – Antivírus. SpamAssassin – responsável pelo Bloqueio

de Spams. Saslauthd – Protocolo de autenticação. Rkhunter – Localizador de RootKits.

Binutils - usados para montar, "linkar" e manipular arquivos binários e arquivos objeto.

Amavisd-new – Email scanner. PEAR - é uma plataforma e um sistema de distribuição para a

codificação de componentes em PHP. Mcrypt – biblioteca de algoritmos. suExec – Modulo do apache para descrever o PHP como CGI Vlogger – Gerador de Logs do apache Webalizer – Gerador de Log das paginas do apache Jailkit – Limitador de usuarios. Fail2Ban – Analiza os logs de erros e bloqueia os ips que

tiveram muitas falhas. SquirrelMail – WebMail. ISPconfig3 – Painel de Controle Open source.

Segunda dificuldade é referente ao servidor de DNS. Para quem não sabe o servidor de DNS atua

resolvendo o nome do domínio de um host qualquer para seu endereço IP correspondente, ou por exemplo:

O domínio www.google.com.br corresponde ao IP:173.194.34.104.

Bem a dificuldade encontrada na configuração do DNS é referente ao registro do domínio (seudominio.com.br) para efetuar um registro é preciso um DNS primário e secundário, ou seja 2 ips validos.

Dificuldade encontrada (2)

Para os custos de internet mensais não serem muito grandes, ao invés de ter mais um endereço de IP a solução é o aluguel de DNS.

A empresa que foi solicitado o uso do DNS é a empresa SuperDNS, que é uma empresa especializada em DNS.

Mas vou seguir como se tivesse um servidor de DNS próprio e ao final mostro como implantar a solução.

Solução DNS

Primeiro temos que definir um IP fixo para o computador.

Editamos o arquivo interfaces

Dentro da pasta /etc/network

Configurando o servidor

Exemplo

Agora devemos reiniciar a interface de rede

/etc/init.d/networking restart

E editar o arquivo de hosts

vi /etc/hosts

Exemplo

echo server1.exemplo.com > /etc/hostname/etc/init.d/hostname restart

Para ver se esta tudo certo

hostnamehostname –f

Resultado nos 2 comandos: Server1.exemplo.com

Hostname

Para Alterar o shell padrão digite:

dpkg-reconfigure dash

Trocar o Shell padrão

PrintScreen

Apparmor é uma extensão de segurança que deveria fornecer segurança estendida. Na minha opinião, você não precisa dele para configurar um sistema seguro, e que normalmente causa mais problemas do que vantagens. Principalmente com o ISPConfig rodando.

Para desabilitar digite:

/etc/init.d/apparmor stopupdate-rc.d -f apparmor removeaptitude remove apparmor apparmor-utils

apparmor

Atualização dos Pacotes do linux

Aptitude Update

Aptitude safe-upgrade

Atualizar Source.list

NTP - network time protocol

Protocolo de horário na internet

aptitude install ntp ntpdate

Atualizar horario

aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl getmail4 rkhunter binutils maildrop

Instalar Postfix, Courier, Saslauthd, MySQL, rkhunter, binutils

Após rodar o comando anterior ele vai pedir a configuração do MYSQL:

New password for the MySQL "root" user: yourrootsqlpassword

Repeat password for the MySQL "root" user: yourrootsqlpassword

Create directories for web-based administration? No

General type of mail configuration: Internet Site

System mail name: server1.exemplo.com

SSL certificate required Ok

vi /etc/mysql/my.cnf

Você deve comentar a linha:

bind-address = 127.0.0.1

Comentários são assim: #bind-address = 127.0.0.1

Comentamos essa linha para obter acesso ao Mysql se qualquer outro computador.

Depois reinicie o mysql: /etc/init.d/mysql restart

My.cnf – Arquivo de configuração

Resultado: root@server1:~# netstat -tap | grep mysql

tcp        0      0 *:mysql                 *:*                     LISTEN      9732/mysqldroot@server1:~#

Para testar se esta tudo Ok:

netstat -tap | grep mysql

Durante a instalação o courier cria certificados SSL do IMAP e do POP3, para o localhost mas não é o que prescisamos.

Temos que alterar estes certificados para o nosso hostname.

Configuração servidor email

Primeiro deletamos os certificados: cd /etc/courier

rm -f /etc/courier/imapd.pemrm -f /etc/courier/pop3d.pem

Alteramos os arquivos: vi /etc/courier/imapd.cnf vi /etc/courier/pop3d.cnf

As linhas: [...] CN=server1.exemplo.com [...]

Criamos os novos certificados: mkimapdcert

mkpop3dcert

E reiniciamos o courier: /etc/init.d/courier-imap-ssl restart

/etc/init.d/courier-pop-ssl restart

aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Instalar Amavisd-new, SpamAssassin e o Clamav

aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby

Instalar Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e o mcrypt

Depois de rodar o comando anterior:

Web server to reconfigure automatically: apache2

Configure database for phpmyadmin with dbconfig-common?

No

a2enmod suexec rewrite ssl actions include

Reiniciar o apache:

/etc/init.d/apache2 restart

Habilitar alguns módulos do apache

aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool

Editar este arquivo: vi /etc/default/pure-ftpd-common

Deve ficar assim as linhas: [...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]

No arquivo 'inetd.conf‘ comente a seguinte linha:

ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper

Depois é só reiniciar o ftp: /etc/init.d/pure-ftpd-mysql restart

Instalar PureFTPd E Quota

Você deve adicionar junto a linha do ponto de montagem / os seguintes comandos:

,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0

Esta linha mostra quais os arquivos de quota que devem ser gerados assim:

touch /aquota.user /aquota.groupchmod 600 /aquota.*mount -o remount /

Para ver se esta tudo certo:

quotacheck –avugm - examina os sistemas de arquivo habilitados com quotas

quotaon –avug – Habilita a quota

Comando vi /etc/fstab

PrintScreen

aptitude install bind9 dnsutils

O Painel de controle Gerencia o bind automaticamente.

Instalar BIND9 (DNS)

aptitude install vlogger webalizer

aptitude install build-essential autoconf automake1.9 libtool flex bison debhelper

cd /tmpwget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gztar xvfz jailkit-2.11.tar.gzcd jailkit-2.11./debian/rules binarycd ..dpkg -i jailkit_2.11-1_*.debrm -rf jailkit-2.11*

aptitude install fail2ban

Instalar Vlogger, Webalizer, Jailkit e o fail2ban

aptitude install squirrelmail

Criar um link Simbólico: ln -s /usr/share/squirrelmail/

/var/www/webmail

E para configurar o web mail digite: squirrelmail-configure

Instalar squirrelmail

Configuração do Squirrelmail

Na configuração do Web mail você deve indicar qual o servidor de email que a maquina tem.

No exemplo : courier.

Digitando squirrelmail-configure

Você vai ver um menu: Escolha a opção D Digite courier e de um enter Depois S para salvar E Q para sair.

Pronto, configurado.

Testando

cd /tmp

wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.2.1.tar.gz

tar xvfz ISPConfig-3.0.2.1.tar.gz

cd ispconfig3_install/install/

ISPconfig3

Instalar: php -q install.php

Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.exemplo.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Country Name (2 letter code) [AU]: <-- ENTERState or Province Name (full name) [Some-State]: <-- ENTERLocality Name (eg, city) []: <-- ENTEROrganization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTEROrganizational Unit Name (eg, section) []: <-- ENTERCommon Name (eg, YOUR name) []: <-- ENTEREmail Address []: <-- ENTER

Segunda parte.

http://server1.exemplo.com/ ou http://192.168.0.100/

Senha e usuários padrão do sistema: admin

O Postgres e o Pgmyadmin podem ser instalados pelo próprio ISPconfig.

No site http://www.ispconfig.org tem mais instruções.

testando

Prints

No site do painel de controle você encontra diversos tutoriais de como utilizar o painel.

A versão usada aqui é o ISPConfig 3. Mas o aconselhável ainda é usar a versão mais instável que é a ISPConfig 2.

Trabalhando no Painel de Controle

Programas Utilizados: No-IP DNS do Site SuperDNS

Devemos criar uma conta nos dois sites e apontar o DNS para o host criado do no-ip, colocando as subpastas no root do apache.

Exemplo:

www.servidor.com.br -> http://seunoip.no-ip.org/subpastaapache

Explicando o modo de configuração com DNS alugado.

Site NO-IP

Configuração NO-IP

Site SuperDNS

Configuração Super DNS

E devemos instalar o no-ip no servidor.

Aptitude install noip2

E para configurar devemos digitar:

Noip2 –C –c /etc/no-ip.conf

Digite o seu email, sua senha, escolha os hosts para se atualizarem e pronto.

Com este tutorial, você pode acessa-lo via FTP , podendo usar um programa chamado WinSCP.

Que é um programa de FTP open source.

SCP significa Secure Copy. É um meio seguro para transferência de arquivos para um host, ultilizando o protocolo de SSH.

Acessando o linux no windows xp

Tela WinSCP

Computador: R$ 2.800,00 Custo da Internet (5mb) Mensal: R$ 90,00 /

por linha Custo Registro.br: R$ 30,00 / Anual Custo de Software: R$ 0,00

Custos com DNS próprio

Computador: R$ 2.800,00 Custo da Internet (5mb) Mensal: R$ 90,00 /

mensal Custo Registro.br: R$ 30,00 / Anual Custo SuperDNS: R$ 25,00 / Anual Por cada

Dominio. Custo de Software: R$ 0,00

Custos com DNS alugado

Agradeço a todos pela atenção...

Att.

Leonardo Vargas Leffa

@lleoo8 – Twitter lleoo_8@hotmail.com –MSN Leonardo Vargas Leffa - Orkut

Fim...