Upload
marcio-azevedo-chagas
View
224
Download
3
Embed Size (px)
Citation preview
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 [email protected] –MSN Leonardo Vargas Leffa - Orkut
Fim...