Ubuntu Server Manual PT

download Ubuntu Server Manual PT

of 113

Transcript of Ubuntu Server Manual PT

Ubuntu Server Guide

Ubuntu Documentation Project

Ubuntu Server Guidepor Ubuntu Documentation Project Copyright 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project

ResumoUma introduo instalao e configurao de aplicaes para servidores no Ubuntu.

Crditos e LicenaOs seguintes autores da Equipe de Documentao do Ubuntu mantm este documento: Bhuvaneswaran Arumugam O Ubuntu Server Guide baseado tambm nas contribuies de: Robert Stoffers Brian Shumate Rocco Stanzione Este documento feito disponvel sob uma estratgia dupla de licena que inclue a Licena Livre de Documentao GNU (GFDL) e a Licena Criativa Comum ShareAlike 2.0 (CC-BY-SA). Voc est livre para modificar, ampliar, e melhorar o cdigo de fonte da documentao do Ubuntu sob os termos destas licenas. Todos os trabalhos derivados devem ser liberados sob qualquer uma ou ambos estas licenas. Esta documentao distribuda na esperana que ser til, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implicada de MERCABILIDADE do ou a APTIDO PARA UMA FINALIDADE PARTICULAR COMO DESCRITA NA NEGAO. As cpias destas licenas esto disponveis na seo de apndices deste livro. As verses online podem ser encontradas nos seguintes URLs: GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html] Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/]

DisclaimerEvery effort has been made to ensure that the information compiled in this publication is accurate and correct. However, this does not guarantee complete accuracy. Neither Canonical Ltd., the authors, nor translators shall be held liable for possible errors or the consequences thereof. Some of the software and hardware descriptions cited in this publication may be registered trademarks and may thus fall under copyright restrictions and trade protection laws. In no way do the authors make claim to any such names. THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ndiceAbout This Guide .............................................................................................................. 1. Conventions ........................................................................................................... 2. Contributing and Feedback ..................................................................................... 1. Introduo ...................................................................................................................... 2. Instalao ....................................................................................................................... 1. Preparando para instalar ......................................................................................... 2. Instalando pelo CD ................................................................................................ 3. Gerenciador de Pacotes .................................................................................................. 1. Introduo .............................................................................................................. 2. Apt-Get ................................................................................................................. 3. Aptitude ................................................................................................................. 4. Configurao .......................................................................................................... 5. Repositrios Extras ................................................................................................. 4. Rede .............................................................................................................................. 1. Configurao de Rede ............................................................................................ 2. TCP/IP .................................................................................................................. 3. Configurao do Firewall ....................................................................................... 4. Servidor OpenSSH ................................................................................................. 5. Servidor FTP ......................................................................................................... 6. Network File System (NFS) .................................................................................... 7. Dynamic Host Configuration Protocol (DHCP) ........................................................ 8. Domain Name Service (DNS) ................................................................................. 9. CUPS - Servidor de Impressora .............................................................................. 10. HTTPD - Servidor Web Apache2 .......................................................................... 11. PHP5 - Linguagem de Scripts ............................................................................... 12. Squid - Sevidor Proxy .......................................................................................... 13. Version Control System ........................................................................................ 14. Bancos de Dados .................................................................................................. 15. Servios de Email ................................................................................................ 16. Sincronizao de Horrio com NTP ....................................................................... 5. Redes Windows ............................................................................................................. 1. Introduo .............................................................................................................. 2. Instalando o SAMBA ............................................................................................. 3. Configurando o SAMBA ........................................................................................ A. Creative Commons by Attribution-ShareAlike 2.0 ........................................................... B. GNU Free Documentation License ................................................................................. 1. PREAMBLE .......................................................................................................... 2. APPLICABILITY AND DEFINITIONS .................................................................. 3. VERBATIM COPYING ......................................................................................... 4. COPYING IN QUANTITY .................................................................................... vi vii viii 9 10 11 13 14 15 16 18 20 21 22 23 26 30 32 35 37 39 42 44 47 57 59 61 68 71 83 85 86 87 88 94 99 100 101 103 104

iii

Ubuntu Server Guide 5. MODIFICATIONS ................................................................................................. 6. COMBINING DOCUMENTS ................................................................................. 7. COLLECTIONS OF DOCUMENTS ....................................................................... 8. AGGREGATION WITH INDEPENDENT WORKS ................................................ 9. TRANSLATION .................................................................................................... 10. TERMINATION .................................................................................................. 11. FUTURE REVISIONS OF THIS LICENSE .......................................................... 12. ADDENDUM: How to use this License for your documents ................................... 105 107 108 109 110 111 112 113

iv

Lista de Tabelas2.1. Requerimentos Mnimos Recomendados ....................................................................... 11 4.1. Mtodos de Acesso ...................................................................................................... 62

v

About This Guide

vi

About This Guide

1. ConventionsThe following notes will be used throughout the book: A note presents interesting, sometimes technical, pieces of information related to the surrounding discussion. A tip offers advice or an easier way of doing something.

A caution alerts the reader to potential problems and helps avoid them.

A warning advises the reader of a hazard that may arise in a given scenario.

Cross-reference conventions for print will be displayed as follows: Links to other documents or websites will look like this [http://www.ubuntu.com]. PDF, HTML, and XHTML versions of this document will use hyperlinks to handle cross-referencing. Type conventions will be displayed as follows: File names or paths to directories will be shown in monospace. Commands that you type at a Terminal command prompt will be shown as:command to type

Options that you click, select, or choose in a user interface will look like this. Menu selections, mouse actions, and keyboard short-cuts: A sequence of menu selections will be displayed as follows: File Open Mouse actions shall assume a right-handed mouse configuration. The terms click and double-click refer to using the left mouse button. The term right-click refers to using the right mouse button. The term middle-click refers to using the middle mouse button, pressing down on the scroll wheel, or pressing both the left and right buttons simultaneously, based on the design of your mouse. Keyboard shortcut combinations will be displayed as follows: Ctrl-N .Where the conventions for Control, Shift, and Alternate keys will be Ctrl, Shift, and Alt, respectively, and shall mean the first key is to be held down while pressing the second key.

vii

About This Guide

2. Contributing and FeedbackThis book is developed by the Ubuntu Documentation Team [https://wiki.ubuntu.com/DocumentationTeam]. You can contribute to this document by sending ideas or comments to the Ubuntu Documentation Team mailing list. Information about the team, its mailing lists, projects, etc. can be found on the Ubuntu Documentation Team Website [https://wiki.ubuntu.com/DocumentationTeam]. If you see a problem with this document, or would like to make a suggestion, you can simply file a bug report at the Ubuntu Bugtracker [https://launchpad.net/products/ubuntu-doc/+bugs]. Your help is vital to the success of our documentation! Many thanks, -Your Ubuntu Documentation Team

viii

Captulo 1. IntroduoBem-vindo ao Ubuntu Server Guide! O Ubuntu Server Guide contm informaes sobre como instalar e configurar vrias aplicaes em seu sistema Ubuntu para atender as suas necessidades. um passo-a-passo, orientado s tarefas para configurar e personalizar seu sistema. Este manual discute muitos tpicos intermedirios tais como os seguintes: Configurao de Rede Configurao do Apache2 Bancos de Dados Redes Windows Este manual dividido nas seguintes categorias principais: Instalao Gerenciador de Pacotes Rede Redes Windows Este guia assume que voc possua uma compreenso bsica de seu sistema Ubuntu. Caso voc necessite de ajuda detalhada sobre a instalao do Ubuntu, consulte o Guia de Instalao do Ubuntu. As verses em HTML e PDF deste manual esto disponveis online no site de Documentao do Ubuntu [http://help.ubuntu.com]. Voc pode comprar este guia em formato de livro de nossa loja Lulu [http://www.lulu.com/ubuntu-doc]. Voc apenas pagar despesas de impresso e envio.

9

Captulo 2. InstalaoEste captulo fornece uma viso rpida sobre a instalao do Ubuntu 6.10 Server Edition. Para maiores detalhes, por favor veja o Guia de Instalao do Ubuntu.

10

Instalao

1. Preparando para instalarEsta seo explica vrios aspectos a serem considerados antes de comear a instalao.

1.1. Requisitos de SistemaO Ubuntu 6.10 Server Edition suporta as trs maiores arquiteturas: Intel x86, AMD64 e PowerPC. A tabela abaixo lista as especificaes de hardware recomendadas. Dependendo das suas necessidades, voc pode conseguir com menos do que isso. No entanto, a maioria dos usurios arriscam se frustrar caso ignorem essas sugestes.

Tabela 2.1. Requerimentos Mnimos RecomendadosTipo de Instalao Servidor RAM 64 megabytes

Espao do Disc 500 megabytes

O perfil padro para o Ubuntu 6.10 Server Edition exibido abaixo. Mais uma vez, o tamanho da instalao depender em grande parte dos servios que voc instalar durante a configurao. Para a maioria dos administradores, os servios padro so apropriados para o uso geral do servidor. Servidor Este um perfil pequeno de servidor, que fornece uma base comum para todos os tipos de aplicaes para servidores. mnimo e projetado para ter os servios desejados adicionados no topo, tais como servios de arquivos/impresso, servios web, servios de e-mail, etc. Para tais servios bastaria ao menos 500MB de espao em disco, mas considere adicionar mais espao dependendo dos servios que voc gostaria de hospedar em seu servidor. Lembre-se que estes tamanhos no incluem todos os materiais restantes que devem geralmente ser encontrados, tais como arquivos de usurio, e-mail, logs, e dados. melhor ser sempre generoso ao considerar o espao para os seus prprios arquivos e dados.

1.2. Fazendo Backup Antes de comear, certifique-se de fazer backup de cada arquivo que est agora em seu sistema. Se for a primeira vez que um sistema operacional no-nativo est sendo instalado em seu computador, ser bem provvel que voc necessite reparticionar seu disco para garantir espao ao Ubuntu. Sempre que voc vier a particionar seu disco, esteja preparado para perder tudo nele caso voc cometa um erro ou algo ocorra de errado durante o particionamento, tal como a falta de energia para o sistema. Os programas utilizados na instalao so consideravelmente de confiana, e a maioria tem sido utilizada h vrios anos, mas eles tambm executam aes destrutivas, e um erro na sua utilizao pode resultar na perda de seus valiosos dados. Se voc estiver criando um sistema multi-boot, certifique-se de que voc tenha em mos a mdia de distribuio de todos os outros sistemas operacionais sendo utilizados atualmente. Especialmente se voc reparticionar seu drive de boot, voc pode vir a descobrir que tem que reinstalar o carregador 11

Instalao de boot de seu sistema operacional, ou em muitos casos todo o sistema operacional e todos os arquivos nas parties afetadas.

12

Instalao

2. Instalando pelo CDInsira seu CD de instalao no seu drive de CD-ROM e reinicie seu computador. O sistema de instalao inicializado imediatamente ao ser feito boot pelo CD-ROM. Uma vez inicializado, sua primeira tela aparecer. Neste momento, leia o texto na tela. Voc pode querer ler a tela de ajuda fornecida pelo sistema de instalao. Para fazer isto, pressione F1. Para executar uma instalao padro de servidor, selecione Instalar no disco rgido e pressione Enter. O processo de instalao ser inicializado. Simplesmente siga as instrues apresentadas na tela, e seu sistema Ubuntu ser instalado Alternativamente, para instalar um servidor LAMP (Linux, Apache, MySQL, PHP/Perl/Python), selecione Instalar um Servidor LAMP , e siga as instrues.

13

Captulo 3. Gerenciador de PacotesUma caracterstica do Ubuntu um sistema que facilita o gerenciamento de pacotes, sua instalao, atualizao, configurao e remoo de software. Alm de fornecer acesso a uma base organizada de mais de 17.000 pacotes de software para seu computador Ubuntu, o Gerenciador de Pacotes tambm inclue a capacidade de resoluo de dependncia e procura por atualizaes de software. Vrias ferramentas esto disponveis para interagir com o sistema de gerncia de pacotes do Ubuntu, de utilitrios simples em linha de comando que facilmente pode ser automatizado por administradores de sistema, a uma interface grfica simples que fcil de usar por novos usurios Ubuntu.

14

Gerenciador de Pacotes

1. IntroduoO sistema de gerenciamento de pacotes do Ubuntu derivado do mesmo sistema usado na distribuio Debian GNU/Linux. Os pacotes contm todos os arquivos necessrio, meta-dados, e instrues para implementar funcionalidades particulares ou softwares em seu computador Ubuntu. Os pacotes Debian, tipicamente possuem a extenso ".deb" e como de se esperar, possuem repositorios que tm colees de pacotes que podem ser encontrados na forma de midias, tais como CD-ROM ou on-lines. Pacotes so, normalmente, binrios pr-compilados; assim a instalao rpida, sem a necessidade de compilar o software. Grande nmero de aplicativos (pacotes) requerem uma complexa rvore de dependncias. Estas dependncias so informaes adicionais necessrias para a correta execuo de determinado pacote. Por exemplo, o pacote sintetizador de fala Festival depende do pacote festvox-kalpc16k, que supre com uma das vozes utilizada pelo programa. Para que Festival funcione, todas as dependncias devem ser instaladas em conjunto com o pacote principal, Festival. O gerenciador de pacotes do Ubuntu o faz automaticamete.

15

Gerenciador de Pacotes

2. Apt-GetO comando apt-get uma poderosa ferramenta de trabalho presente no Ubuntu. Advanced Packaging Tool (APT) ou Avanada Ferramenta de Pacotes, possui funcionalidades tais como instalao de novos pacotes de software, atualizao de pacotes existentes, atualizao da lista de pacotes e atualizao do sistema Ubuntu como um todo. Essencialmente uma ferramenta em linha de comando, apt-get possui numerosas vantagens, para administradores de servidor, sobre outras ferramentas de gerenciamento de pacotes existentes no Ubuntu. Algumas dessas vantagens a facilidade de uso em um simples terminal de coneco (SSH) e a capacidade de ser usado por scripts de administrao de sistema que, por sua vez, podem ser automatizados pela ferramenta de aes agendadas cron. Outros exemplos populares de uso do apt-get: Instalando um Pacote: A instalao de um pacote utilizando a ferramenta apt-get muito simples. Por exemplo, para instalar o scanner de rede nmap, digite:sudo apt-get install nmap

Removendo um Pacote: Para remover um pacote ou pacotes no tem rodeios, o processo simples. Para remover o pacote nmap instalado no exemplo anterior, digite:sudo apt-get remove nmap

Multiplos Pacotes: Para especificar multiplos pacotes a serem instalados ou removidos, separe-os por espaos. Atualizando a Lista de Pacotes: A lista de pacotes do APT essencialmente um bando de dados com os pacotes disponveis em repositrios definidos no arquivo /etc/apt/sources.list. Para atualizar a lista local de pacotes com as ultimas alteraes feitas no(s) repositorio(s), digite:sudo apt-get update

Atualizando Todos os Pacotes do Sistema: Com o tempo, verses atualizadas de pacotes atualmente instalado em seu computador podem tornar-se disponveis nos repositrios de pacotes (atualizaes de segurana, por exemplo). Para atualizar seu sistema, primeiro atualize a base de dados de pacotes e ento digite:sudo apt-get upgrade

Se um pacote necessitar que seja instalada ou removida uma nova dependncia quando realizar a atualizao, ele no ser atualizado pelo comando upgrade. Para tal ao ser necessrio o uso do comando dist-upgrade. Also, you may upgrade your entire Ubuntu system from one revision to another with dist-upgrade. For example, to upgrade from Ubuntu version 5.10 to version 6.10, you would first ensure

16

Gerenciador de Pacotes the version 6.10 repositories replace the existing 5.10 repositories in your computer's /etc/apt/sources.list, then simply issue the apt-get update command as detailed above, and finally, perform the actual upgrade by typing:

sudo apt-get dist-upgrade

Aps passado um tempo considervel, seu computador estar atualizado para a nova reviso. Tipicamente, alguns passos de ps-melhora so exigidos como detalhado nas notas para atualizao de revises. As aes do comando apt-get, tais como isntalao e remoo de pacotes, so registradas no arquivo de log /var/log/dpkg.log. Para mais informaes sobre o uso do APT, leia o detalhado Manual APT do Usurio Debian [http://www.debian.org/doc/user-manuals#apt-howto] ou digite:apt-get help

17

Gerenciador de Pacotes

3. AptitudeAptitude uma interface a base de texto controlada por menus, do sistema Advanced Packaging Tool (APT). Muitas funes comuns de um gerenciador de pacotes, tais como instalao, remoo e atualizao so executadas pelo Aptitude por simples comandos, os quais so tipicamente grafados em letras minsculas. Aptitude a melhor sute para uso em ambiente no grfico ou modo-texto, assegurando o funcionamento adequado das teclas de comando. Caso queira utilizar o Aptitude a partir de seu usurio padro, faa uso do seguinte comando:sudo aptitude

Quando o Aptitude iniciar, voc poder ver um menu no topo da janela e dois paineis abaixo do menu. O painel de cima contm as categorias dos pacotes, tais como Novos Pacotes e Pacotes No Instalados. No painel inferior aparecer informaes relacionadas a categoria selecionada ou pacote selecionado no painel acima. Usando o Aptitude para gerenciar pacotes relativamente rpido e sua interface torna tarefas comuns algo simples. O seguir, so exemplos de funes populares no gerenciamento de pacotes realizadas pelo Aptitude: Instalando Pacotes: Para instalar um pacote, localize o pacote em Pacotes No Instalados, por exemplo, use as teclas setas e pressione ENTER, selecione o pacote que deseja instalar. Aps selecionar o pacote que deseja instalar, pressione a tecla +, assim o pacote ficar verde, isto indica que foi marcado para instalao. Agora pressione g e uma lista das aes lhe ser apresentada. Pressione g novamente e voc ser solicitado a torna-se "root" para que o processo tenha continuidade. Pressione ENTER e fornea a senha de "root" solicitada no prompt Password:. Finalmente, pressione g mais uma vez para que o processo de baixar pacote tenha incio. Pressione ENTER para a opo Continue e o processo de baixar e instalar do pacote ter incio. Removendo Pacotes: Para remover um pacote, localize-o em Pacotes Instalados, utilizando as setas do teclado e pressione ENTER e selecione o pacote que deseja remover. Aps seleciona-lo, pressione - e o pacote mudar para a cor rosa, indicando assim que foi marcado para remoo. Agora pressione g e uma lista das aes lhe ser apresentada. Pressione g novamente e voc ser solicitado a torna-se "root" para que o processo tenha continuidade. Pressione ENTER e fornea a senha de "root" solicitada no prompt Password:. Finalmente, pressione g mais uma vez para que o processo de remoo do pacote tenha incio. Pressione ENTER para a opo Continue e o processo de remoo do pacote ter incio. Atualizando Lista de Pacotes: Para atualizar a base de dados de pacotes, pressione u e, logo em seguida, lhe ser solicitado privilgios de "root". Pressione ENTER e fornea a senha de "root" no pronpt Password:. Pressione ENTER e o processo de baixar as atulizaes e renovao da base de dados ter incio. Atualizando Pacotes: Para atualizar pacotes, atualize primeiro a lista de pacotes como descrito anteriormente e pressione a tecla U (shift + u) e todos os pacotes passveis de atualizao sero 18

Gerenciador de Pacotes selecionados. Agora pressione g e lhe ser apresentado um resumo das aes exigidas para o pacote. Pressione g novamente e voc ser solicitado a torna-se "root" para que o processo tenha continuidade. Pressione ENTER e fornea a senha de "root" solicitada no prompt Password:. Finalmente, pressione g mais uma vez para que o processo de baixar os pacotes tenha incio. Pressione ENTER para a opo Continue e o processo de atualizao dos pacotes ter incio. A primeira coluna de informao exibida na lista de pacote no painel superior, quando realmente vendo os pacotes, lista o estado atual do pacote, e usa a seguinte tecla para descrever o estado do pacote: i: Pacote instalado. c: Pacote no instalado, mas o pacotem possui configuraes residuais no sistema p: Remover do sistema v: Pacote Virtual B: Pacote quebrado u: Arquivos desempacotados, mas o pacote no foi configurado C: Parcialmente configurado - Configurao fracassou e exige reparo H: Parcialmente instalado - A remoo fracassou e exige reparo Para sair do Aptitude, basta pressionar a tecla q e confirmar que deseja sair. Outras opes esto disponveis no menu pressionando a tecla F10.

19

Gerenciador de Pacotes

4. ConfiguraoA configurao dos repositrios do sistema Advanced Packaging Tool (APT) est localizada no arquivo de configurao /etc/apt/sources.list. Um exemplo deste arquivo est referido aqui, junto com informao sobre como adicionar ou retirar referncias de repositrio do arquivo. Aqui [../sample/sources.list] h um exemplo de um tpico arquivo /etc/apt/sources.list. Voc pode editar o arquivo e habilitar repositrios ou desabilitar. Por exemplo, para desativar a opo de inserir o Ubuntu CD-ROM toda vez que for instalar um pacote, basta comentar a linha que descreve a mdia CD-ROM com um cifro (#) no incio da linha, como se segue:

# por favor, no requisitar pelo CD-ROM # deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060329.1)]/ dapper main restricted

20

Gerenciador de Pacotes

5. Repositrios ExtrasAlm dos repositrios de pacotes oficialmente apoiados e disponibilizados para Ubuntu, ainda existem repositrios mantidos pela comunidade que adicionam milhares de pacotes extras, mas potenciais a instalao. Dois destes repositrios so bem populares, o Universe (mantidos pela comunidade) e o Multiverse (no-livre). Estes repositrios no so oficialmente suportados por Ubuntu, por isso no so habilitados por padro, mas eles geralmente fornecem pacotes que so seguros para uso em seu computador Ubuntu. Os pacotes no repositrio Multiverse freqentemente possuem licenas que os previnem quanto a distribuio em sistemas operacionais livres, podendo ser ilegais em seu localidade. Esteja ciente que nem o repositrio Universe ou o Multiverse contm pacotes oficialmente suportados. Em particular, talvez no seja seguro atualizar para estes pacotes Vrias fontes de pacotes esto disponveis, s vezes, oferecendo apenas um pacote, como no caso de fontes de pacotes fornecido pelo mantenedor de uma nica aplicao. Voc deve ser sempre cuidadoso e cauteloso quando usar fontes no padro de pacotes. Pesquise a fonte e pacotes cuidadosamente antes de executar qualquer instalao, como algumas fontes de pacotes e seus respectivos pacotes podem deixar seu sistema instvel ou mesmo inabilitlo de fazer alguma operao. Para habilitar os repositrios Universe e Multiverse, edite o arquivo /etc/apt/sources.list descomentando (removendo o smbolo de sustenido #) das seguintes linhas:

# Quero os repositrios Multiverse e Universe disponveis deb http://archive.ubuntu.com/ubuntu dapper universe multiverse deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse

5.1. RefernciasComo Adicionar Repositrios (Ubuntu Wiki) [https://wiki.ubuntu.com/AddingRepositoriesHowto]

21

Captulo 4. RedeAs redes consistem em dois ou mais dispositivos, tal como sistemas de computador, impressoras e equipamentos relacionados que so ligados por qualquer meio fsico, como equipamentos de rede via sinal de rdio (wireless), com o propsito de compartilhar informaes e ou distribuir informaes entre os dispositivos conectados. Esta seo do Guia para Servidores Ubuntu fornece informao gerais e especficas sobre redes, incluindo uma vista geral de conceitos de rede e detalhes sobre protocolos populares de rede e aplicaes de servidor.

22

Rede

1. Configurao de RedeO Ubuntu distribui um nmero de utilidades grficas para configurar seus equipamentos de rede. Este documento tem como foco administradores de servidores e focalizar em como administrar sua rede usando a linha de comando.

1.1. EthernetA maior parte da configurao de rede est centralizada em um nico arquivo, /etc/network/interfaces. Se voc no possui dispositvos de rede, somente a interface loopback aparecer neste arquivo, e ser parecido com isto:# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0

Se voc tiver apenas um dispositivo de rede, eth0, e este estiver obtendo a configurao via servidor DHCP, ele pode ser carregado automaticamente durante o boot, para isso, bastam apenas duas linhas adicionais:auto eth0 iface eth0 inet dhcp

A primeira linha especifica que o dispositivo eth0 deve ser habilitado automaticamente durante o boot. A segunda linha diz que a interface (iface) eth0 deve ter um espao IPv4 (subistitua inet por inet6 para dispositivos IPv6) e isto dever obter automaticamente a configurao via DHCP. Assumindo que sua rede e servido DHCP j esteja devidamente configurado, esta mquina no precisar de nenhuma configurao adicional para funcionar corretamente. O servidor DHCP ir prover o gateway padro (implementado atravs do comando route), os endereos de IP (implementados com o comando ifconfig), e os servidores DNS usados na rede (implementados no arquivo /etc/resolv.conf.) Para configurar sua interface de rede ethernet com um IP esttico e uma configurao personalizada, ser necessrio algumas informaes. Suponhamos que voc queira definir o IP 192.168.0.2 para a interface eth1, com a mscara de rede tpica 255.255.255.0. Seu gateway (rota de sada) padro 192.168.0.1. Voc dever inserir algo como isto no arquivo /etc/network/interfaces:iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1

Neste caso, vo precisar especificar o endereo dos servidores de DNS manualmente no arquivo /etc/resolv.conf, que dever parecer com algo do tipo: 23

Redesearch mydomain.com nameserver 192.168.0.1 nameserver 4.2.2.2

A diretiva search vai anexar mydomain.com para a procura de hostnames, tentando resolver nomes para sua rede. Por exemplo, se o domnio de sua rede meudominio.com e voc tentar fazer um ping no host meucomputador, a procura pelo DNS ser modificada para meucomputador.meudominio.com. A diretiva nameserver especifica os servidores DNS a serem usados para resolver os hostnames para o IP. Se voc usa um nameserver (servidor DNS) prprio, insira-o aqui. Seno, pergunte ao seu provedor de internet os servidores DNS primrio e secundrio, e depois insira-os em /etc/resolv.conf, como mostrado abaixo. Diversas outras configuraes so possveis, incluindo interfaces PPP, rede em IPv6, interfaces VPN, entre outras. Execute o comando man 5 interfaces para mais informaes e para as opes suportadas. Lembre-se que /etc/network/interfaces utilizado pelos scripts ifup/ifdown como um esquema de configurao de mais alto nvel, que pode ser utilizado por outras distribuies, e que os utilitrios de baixo nvel, como ifconfig, route e dhclient continuam disponveis para configuraes ad hoc.

1.2. Administrando entradas DNSEsta seo explica como configurar o servidor de nomes (DNS) para gerar endereos IP a hostnames e vice versa. No explica como configurar o sistema como um servidor de nome. Para gerenciar entradas de DNS, voc pode adicionar, alterar ou remover nomes de DNS do arquivo /etc/resolv.conf. Um arquivo de exemplo [../sample/resolv.conf] pode ser visto abaixo:

search com nameserver 204.11.126.131 nameserver 64.125.134.133 nameserver 64.125.134.132 nameserver 208.185.179.218

A chave search especifica a string que dever aparecer para um hostname imcompleto. Aqui, nos a temos mencionada como com. Ento, quando nos executamos: ping ubuntu ela interpretar como ping ubuntu.com. A chave nameserver especifica o endereo IP do servidor de nomes. Ele ser usado para resolver os endereos IP ou hostnames. Este arquivo pode possuir multiplas entradas de DNS. Os DNS's sero usados pela rede de mesma classe. Se o DNS estiver obtendo dinmicamente por DHCP ou PPPoE (obtido do seu provedor), no adicione entrada neste arquivo. Isto ser atualizado automaticamente. The changes you do in /etc/resolv.conf will be erased when you reboot your machine. If you want to make this change permanent, you should install resolvconf package and update the DNS information in /etc/resolvconf/resolv.conf.d/base file provided by that package. 24

Rede

1.3. Gerenciando HostsPara gerenciar hosts, voc pode adicionar, alterar ou remover hosts do arquivo /etc/hosts. O arquivo contm endereos IP e seus nomes de host correspondentes. Quando seu sistema tenta resolver um nome de host para um endereo IP ou determinar um nome de host para um endereo IP, ele procura para o arquivo /etc/hosts antes de usar os servidores de nome. Se o endereo IP est listado no arquivo /etc/hosts, os servidores de nome no sero utilizados. Este comportamento pode ser alterado, bastando para isso editar o arquivo /etc/nsswitch.conf como quiser. Se sua rede possui computadores cujos endereos IP no esto listadas no DNS, recomendado que voc os adicione ao arquivo /etc/hosts.

25

Rede

2. TCP/IPO Transmission Control Protocol e o Internet Protocol (TCP/IP) so um conjunto podro de protocolos desenvolvidos no final dos anos 1970 pela Defense Advanced Research Projects Agency (DARPA) como uma forma de comunicao entre diferente tipos de computadores e redes de computadores. TCP/IP a fora motora da Internet, e portanto o mais popular conjunto de protocolos da Terra.

2.1. Introduo ao TCP/IPOs dois protocolos componentes do TCP/IP lidam com diferentes aspectos da computao em rede. Internet Protocol, o "IP" do TCP/IP um protocolo de sem conexo que lida somente com o roteamento de pacotes da rede utilizando o datagrama de IPs como unidade bsica das informaes de rede. O datagrama do IP consiste de um cabeaho seguido de uma mensagem. O TCP (Transmission Control Protocol - Protocolo de Controle de Transmisso)

2.2. Configurando TCP/IPA configurao do protocolo TCP/IP consiste em diversos elementos, que podem ser editados nos arquivos de configurao apropriados, ou optando-se por solues como o servidor de DHCP (Protocolo de Configurao Dinmica de Hosts), que por sua vez pode ser configurado para prover as configuraes TCP/IP necessrias para cada cliente de rede automaticamente. Esses valores da configurao precisam ser definidos corretamente, de maneira que que facilite o funcionamento em rede do seu sistema Ubuntu. Os elementos bsicos de configurao do TCP/IP e seus objetivos so os seguintes: Endereo IP O Endereo de IP uma string de identificao nica, expressa em quatro nmeros decimais, que vo de zero (0) duzentos e cinquenta e cinco (255), separada por pontos, com cada um dos quatros nmeros representado oito (8) bits do endereo, para um tamanho total de trinta e dois (32) bits para todo o endereo. Este formato chamado de notao decimal com pontos. Netmask A Mscara de Subrede (ou simplesmente netmask) uma mscara de bits locais, ou alguns marcadores que separam pores de endereos IPs relacionados uma rede de uma subrede. Por exemplo, na Classe C, a mscara padro 255.255.255.0, que mascara os primeiros trs bytes do endereo IP e permite somente o ltimo byte do endereos disponvel para a alocao e especificao de hosts ou subredes. Endereo de Rede O Endereo de rede representa os bytes compreendidos na poro de rede referente a um IP. Por exemplo, o host 12.128.1.2 da rede de Classe A, pode usar 12.0.0.0 como o Endereo de Rede, que usa o doze (12) para representar o primeiro byte de um endereo IP, (a parte de rede) e zeros (0s) em todos os outros trs bytes restantes para representar os valores para hosts em potencial. Redes de hosts usando endereos IPs comuns como os privados e no distribudos, como 192.168.1.100 pode ento usar um endereo de rede como 192.168.1.0, que especifica os trs primeiros bytes para a Classe C de rede 192.168.1 e zero (0) para todos os outros possveis hosts da rede. 26

Rede Endereo de Transmisso O Endereo de Transmisso um endereo IP que possibilita dados de rede serem enviados simultaneamente para todos os hosts numa subrede, preferivelmente do que especificar um host particular da rede. O padro genrico de endereo de transmisso para redes IP 255.255.255.255, mas este endereo de transmisso no pode ser usado para enviar uma mensagem a cada host na Internet porque roteadores bloqueiam-no. Por exemplo, em um popular IP privado Classe C de rede, 192.168.1.0, o endereo de transmisso precisa ser configurado como 192.168.1.255. Transmisso de mensagens so tipicamente fruto de rede de protocolos tais como Address Resolution Protocol (ARP) e Routing Information Protocol (RIP). Gateway AddressUm Gateway Address o endereo IP direto de uma rede particular, ou host em uma rede, podendo se estender. Se uma rede de host no define-se ao comunicar com outra rede de host, e aquele host no localizado em uma mesma rede, ento um gateway deve ser usado. Em muitos casos, o Gateway Anddress ser de um roteador na mesma rede, que vai habilitar o trafico de passagem em outras redes ou hosts, tais como Internet hosts. O valor definido a um Gateway Address deve ser correto, ou seu sistema no ser capaz de alcanar nenhum host ligado na mesma rede. Endereo do Servidor de Nomes Endereos de servidores de nome representam o endereo IP do sistema de Servio de Nomes de Domnio (Domain Name Service - DNS), que resolve nomes de hosts de rede para endereos IP. H trs nveis de endereos de servidor de nomes, que podem ser especificados em ordem de precedncia: O servidor de nomes Primrio, o servidor de nomes Secundrio e o servidor de nomes Tercirio. Para que seu sistema possa resolver nome de hosts da rede para seus endereos IP correspondentes, voc deve especificar um endereo de servidor de nomes vlido o qual voc esteja autorizado a utilizar na configurao de TCP/IP do seu sistema. Em muitos casos esses endereos podem e devem ser fornecidos pelo seu provedor de servios de rede, mas h muitos servidores de nomes gratuitos e acessveis publicamente, como os servidores Level3 (Verizon) com endereos de IP de 4.2.2.1 a 4.2.2.6. O Endereo de IP, a Mscara de rede (netmask), o Endereo de rede, Endereo de broadcast, e o Endereo de Gateway so, em geral, especificados com as diretivas apropriadas no arquivo /etc/network/interfaces. O endereo do Servidor de Nomes (DNS) em geral especificado pela diretiva nameserver no arquivo /etc/resolv.conf. Para maiores informaes, veja a pgina de manual para interfaces ou resolv.conf respectivamente, com os seguintes comandos a serem digitados no terminal: Acesse o sistema de pginas de manual para interfaces com o seguinte comando:

man interfaces

Acesse o sistema de pginas de manual para resolv.conf com o seguinte comando:man resolv.conf

27

Rede

2.3. Roteamento IPO roteamento IP uma forma de especificar e descobrir caminhos em uma rede TCP/IP na qual as informaes da rede sero enviadas.O roteamento usa um conjunto de tabelas de roteamento para direcionar o encaminhamento de pacotes de dados de rede da fonte para o destino, geralmente por meio de diversos ns de rede intermedirios, conhecidos como roteadores. O Roteamento IP o principal modo de descoberta de caminhos na Internet. H duas formas primrias de roteamento, Esttico e Dinmico. Static routing involves manually adding IP routes to the system's routing table, and this is usually done by manipulating the routing table with the route command. Static routing enjoys many advantages over dynamic routing, such as simplicity of implementation on smaller networks, predictability (the routing table is always computed in advance, and thus the route is precisely the same each time it is used), and low overhead on other routers and network links due to the lack of a dynamic routing protocol. However, static routing does present some disadvantages as well. For example, static routing is limited to small networks and does not scale well. Static routing also fails completely to adapt to network outages and failures along the route due to the fixed nature of the route. Roteamento Dinmico depende de grandes redes com mltiplas possibilidade de rotas IP de uma fonte a um destino e faz uso de protocolos especiais de roteamento, tal como o Router Information Protocol (RIP), que manipula o ajuste automtico para os protocolos da tabela de roteamento, e assim, fazer o roteamento dinmico possvel. Roteamento dinmico tem srias vantagens sobre roteamento esttico, como escalabilidade superior e a capacidade de adaptao a falhas ou ocilaes ao longo das rotas na rede. Adicionalmente, essa posio inferior a configurao manual para a tabela de roteamento, desde que os roteadores aprendam sobre outro roteador, sua existencia e rotas possveis. Esta peculiaridade tambm elimina a possibilidade de introduzir um erro em tabelas de roteamento por erro humano. Roteamento dinmico no perfeito, de qualquer modo, ele apresente desvantagens como alta complexidade e despesas gerais adicionais para a rede, que no beneficiam imediatamente os usurios finais, e ainda consome banda da rede.

2.4. TCP e UDPTCP um protocolo de conexo, oferecendo correo de erro e entrega garantida de dados via o que conecido como controle de fluxo. O controle de fluxo determina quando o fluxo de certos dados devem ser parados, e previamente quais pacotes de dados devem ser re-enviados devido a problemas como colises, por exemplo, deste modo assegurando a entrega exata e completa dos dados. TCP tipicamente usado em trocas de informaes importantes tal como transaes de banco de dados. O User Datagram Protocol (UDP), por outro lado, um protocolo de conectividade que raramente lida com a transmisso de dados importantes porque falta controle de fluxo ou qualquer outro mtodo para assegurar a entrega confivel dos dados. UDP comumente usado em aplicaes como udio e vdeo, onde consideravelmente mais rpido que TCP devido falta de correo de erro e controle de fluxo, e onde a perda de alguns pacotes no catastrfico, geralmente. 28

Rede

2.5. ICMPO Internet Control Messaging Protocol (ICMP) uma extenso do Internet Protocol (IP) como definido na Petio Para Comentrios (RFC) #792 e apoia pacotes de rede contendo controle, erro, e mensagens de informao. ICMP usado por aplicaes de rede como a utilidade de ping, que pode determinar a disponibilidade de um host de rede ou dispositivo. Exemplos de mensagens de erro retornadas por ICMP que so til a ambos hosts de rede e para dispositivos tal como roteadores, incluem Destino Inacessvel e Tempo de Esperera Excedido.

2.6. ServiosDaemons (servios) so aplicaes especiais do sistema que tipicamente executam continuamente em segundo plano e esperam requisies para as funes que eles fornecem a outras aplicaes. Muitos daemons so rede-cntrico; isso , um grande nmero de daemons executando em segundo plano em um sistema Ubuntu podem fornecer funcionalidades a redes relacionadas. Alguns exemplos de daemons de rede incluem o Hyper Text Transport Protocol Daemon (httpd), que fornece funcionalidade de servidor de Internet; o Secure SHell Daemon (sshd), que fornece identificao (login) remota segura e capacidade de transferncia de arquivo; e o Internet Message Access Protocol Daemon (imapd), que fornece servios de correio eletrnico (e-Mail).

29

Rede

3. Configurao do FirewallO kernel Linux inclui o subsistema Netfilter, o qual usado para manipular ou decidir o destino do trfego de rede dirigido para ou atravs de seu servidor. Todas as solues de firewall Linux modernas utilizam esse sistema para filtragem de pacotes.

3.1. Instroduo ao FirewallO sistema de filtragem de pacotes do kernel tem pouca utilidade para os administradores sem uma interface para gerenci-la. Este o propsito do iptables. Quando um pacote chega ao servidor, ele ser encaminhado ao subsistema Netfilter para aceitao, manipulao ou rejeio, baseado numa das regras supridas pela interface via iptables. Ento, o iptables tudo que voc precisa para gerenciar o seu firewall, caso voc tenha familiaridade com ele, mas existem diversos front ends (interfaces de frente) para simplificar a tarefa.

3.2. Mascaramento de IPO propsito da Mscara de IP permitir mquinas com IP privado, endereo no-rotevel em sua rede para acessar a Internet por meio da mquina "mascarada". O trfico destinado de sua rede privada para a Internet deve ser manipulado para obter respostas da mquina que fez a petio, como em uma rota invertida. Para fazer isto, o kernel deve modificar o endereo IP da fonte de cada pacote e retornar respostas a ele, antes que o endereo privado IP fao o pedido de resposta, que impossvel atravs da Internet. O Linux usa Connection Tracking (conntrack) para acompanhar que conexes pertence a que mquinas e desviar cada pacote de retorno correspondente. O trfico originado em sua rede privada assim "mascarado" como tendo originado de seu gateway Ubuntu. Este processo possui refncia na documentao da Microsoft como Conexo de Internet Compartilha. Isto pode ser realizado com uma nica regra no iptables, que pode diferir levemente baseado em sua configurao de rede:sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

O comando acima supe que seu endereo privado est no intervalo 192.168.0.0/16 e sua interface de Internet, ou dispositivo, ppp0. A sintaxe errada como se segue: -t nat -- a regra para ir na tabela nat -A POSTROUTING -- a regra para ser adicionada (-A) corrente POSTROUTING -s 192.168.0.0/16 -- a regra aplicada a trafego originando do endereo especificado -o ppp0 -- a regra aplicada a trafego agendado para ser roteado pelo dispositivo de rede especificado -j MASQUERADE -- trafego combinando com esta regra "pular" (-j) para o alvo MASQUERADE para ser manipulado como descrito acima Cada srie na tabela de filtro (a tabela padro, onde a maioria ou todos os processos e filtragem de pacotes ocorre) tem uma diretriz padro para ACEITAR, mas se voc estiver criando um 30

Rede firewall adicional para o dispositivo de gateway, voc ter que definir polticas de DESCARTE ou REJEIO, em que caso seu trfico "mascarado" necessitar de permio pra ENVIAR para a srie de regras de trabalho acima:sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

Os comandos acima permitem todas conexes de sua rede local Internet e todo trnsito relacionado a essas conexes retornar mquina que os iniciou.

3.3. FerramentasH muitas ferramentas disponveis para ajud-lo a construir um firewall completo sem conhecimento ntimo da ferramenta iptables. Para os que preferem GUI (interfaces grficas), sugere-se o Firestarter bem popular e de fcil utilizao, e o fwbuilder, uma aplicao poderosa com visual familiar para administradores que usam ferramentas comerciais de firewall, como o Checkpoint FireWall-1. Se voc preferir uma ferramenta em linha de comando para configurar arquivos em "texto puro", o Shorewall uma soluo poderosa que o ajudar em configuraes avanadas de firewall em sua rede. Se sua rede for relativamente simples ou voc no possuir uma rede o ipkungfu deve proporcionar-lhe um firewall til com configurao inicial zero, e o permitir facilmente armar um firewall mais avanado editando arquivos de configurao simples e bem documentados. Outra ferramenta interessante o fireflier, que orientado para desktop. composto de um servidor (fireflier-server) e sua escolha de clientes GUI (GTK ou QT), e comporta-se como muitas aplicaes interativas populares de firewall para Windows.

3.4. LogsO registro (log) das aes do firewall essencial para reconhecer ataques, investigar e reparar erros em suas regras do firewall e notar atividades inesperadas na rede. Voc deve incluir regras de registro em seu firewall para que registros sejam gerado, alis, e regras de registro devem vir antes de qualquer regra aplicvel (uma regra com um alvo que decida o destino do pacote, tal como ACEPT, DISCARD ou REJECT). Por exemplo:sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "

As requisies pela porta 80 para a mquina local, ento, geraria um registro dmesg parecido com este:

[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0

O registro acima publicado em /var/log/messages, /var/log/syslog, e /var/log/kern.log. Estes procedimentos podem ser alterado modificando o /etc/syslog.conf ou instalando e configurando o ulogd e, assim, usar o ULOG como alvo ao invs do LOG (registro). O daemon ulogd um servidor userspace que observa o sistema para registrar instrues especficas do kernel para firewalls e registrar qualquer arquivo que voc queira, igual aos bancos de dados PostgreSQL e MySQL. O registro das aes do firewall pode ser simplificada usando uma ferramenta para anlise de registros, como o fwanalog, fwlogwatch, ou lire. 31

Rede

4. Servidor OpenSSH4.1. IntroduoThis section of the Ubuntu Server Guide introduces a powerful collection of tools for the remote control of networked computers and transfer of data between networked computers, called OpenSSH. You will also learn about some of the configuration settings possible with the OpenSSH server application and how to change them on your Ubuntu system. OpenSSH uma verso disponvel livremente da famlia de ferramentas do protocolo Secure Shell (SSH) para controlar um computador remotamente ou transferir arquivos entre computadores. Ferramentas tradicionais utilizadas para cumprir essas funes, como telnet ou rcp so inseguras e transmitem a senha de um usurio em texto puro quando utilizadas. O OpenSSH prov um servidor daemon e ferramentas de cliente para facilitar controle remoto e operaes de transmisso de arquivo com segurana e criptografia, efetivamente substituindo ferramentas de legado. O componete de servidor OpenSSH, sshd, observa constantemente conexes de clientes para qualquer das ferramentas do cliente. Quando uma requisio de conexo ocorre, sshd inicia a conexo correta dependendo do tipo de ferramenta de conexo do cliente. Por exemplo, se um computador remoto conecta-se por um cliente ssh, o servidor OpenSSH iniciar o controle remoto da sesso aps autenticar. OpenSSH utiliza vrios mtodos de autentificao, incluindo senha simples, chave pblica e tiquetes Kerberos.

4.2. InstalaoA instalao do servidor e cliente OpenSSH simples, Para instalar o OpenSSH cliente no seu Ubuntu, use este comando no terminal:

sudo apt-get install openssh-client

Para instalar o OpenSSH servidor no seu Ubuntu, use este comando no terminal:

sudo apt-get install openssh-server

4.3. ConfiguraoVoc pode configurar o comportamento padro do servidor OpenSSH, sshd, editando o arquivo /etc/ssh/sshd_config. Para mais informao sobre as diretrizes de configurao usadas neste arquivo, voc pode ver o manual apropriado com o seguinte comando, executado pela linha de comando:

man sshd_config

32

Rede Existem muitas diretrizes no arquivo de configurao do sshd que controlam coisas como configuraes de comunicao e modos de autenticao. Os seguintes so exemplos de diretrizes de configurao que podem ser modificados editando o arquivo /etc/ssh/ssh_config. Antes de editar o arquivo de configurao, voc deve fazer uma cpia do arquivo original e proteg-lo de escrita, para que voc assim tenha os ajustes originais como uma referncia e para reusar como necessrio. Copie o arquivo /etc/ssh/sshd_config e proteja-o contra sobrescrio com com seguinte comando, executado na linha de comando:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original sudo chmod a-w /etc/ssh/sshd_config.original

Os seguintes so exemplos de diretrizes de configurao que voc pode modificar: Para ajustar seu OpenSSH para escutar na porta de TCP 2222 invs da porta de TCP padro 22, modifique a diretriz Port da seguinte forma: Porta 2222 Para fazer o sshd aceitar acesso pblico base de chaves credenciais, simplesmente adicione ou modifique a linha: PubkeyAuthentication yes no arquivo /etc/ssh/sshd_config, ou se j estiver presente, certifique-se que a linha no est comentada. Para fazer o seu servidor OpenSSH exibir o contedo do arquivo /etc/issue.net como um aviso antes de conectar, simplesmente adicione ou modifique a linha: Banner /etc/issue.net no arquivo /etc/ssh/sshd_config. Aps realizar as auteraes no arquivo /etc/ssh/sshd_config, salve o arquivo e reinicie o servidor de aplicaes sshd para que as auteraes tenham efeito. Para isto utilize o seguinte comando em um terminal:

sudo /etc/init.d/ssh restart

Vrias configuraes adicionais de diretrizes do sshd esto disponveis para auterar o comportamento do servidor de acordo com suas necessidades. Esteja ciente, no entanto, que se seu nico mtodo de acesso a um servidor ssh e voc comete um erro ao configurar o sshd via arquivo de configurao /etc/ssh/sshd_config, voc pode torna-lo indisponvel aps reiniciar o servidor, ou esse servidor sshd pode recusar iniciar, devido a uma diretriz 33

Rede incorreta na configurao, ento seja extremamente cuidadoso quando editar este arquivo num servidor remoto.

4.4. RefernciasWeb site OpenSSH [http://www.openssh.org/] Pgina Wiki OpenSSH Avanado [https://wiki.ubuntu.com/AdvancedOpenSSH]

34

Rede

5. Servidor FTPFile Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between computers. FTP works on a client/server model. The server component is called an FTP daemon. It continuously listens for FTP requests from remote clients. When a request is received, it manages the login and sets up the connection. For the duration of the session it executes any of commands sent by the FTP client. Acesso um servidor FTP pode ser controlado em 2 maneiras: Annimo Autenticado No modo Annimo, clientes remotos podem acessar o servidor FTP usando a conta de usurio padro chamada 'anonymous' ou 'ftp' e informando um endereo de e-mail como senha. No modo Autenticado um usurio precisa ter uma conta e uma senha. O acesso do usurio aos diretrios e arquivos do servidor de FTP depende das permisses definidas para a conta usada no login. Como uma regra geral, o servio de FTP ir esconder o diretrio root do servidor de FTP e alter-lo para o diretrio Home do FTP. Isso ocultar o restante do sistema de arquivos nas sesses remotas.

5.1. vsftpd - Instalao de Servidor FTPO vsftpd um daemon FTP disponvel no Ubuntu. Ele fcil de instalar, configurar e manter. Para instalar o vsftpd voc pode rodar o seguinte comando:sudo apt-get install vsftpd

5.2. vsftpd - Configurao Servidor FTPVoc pode editar o arquivo de configurao do vsftpd, /etc/vsftpd.conf, para modificar as configuraes padres. Por padro apenas FTP annimo permitido. Se voc deseja desabilitar essa opo, voc deve modificar a seguinte linha:anonymous_enable=YES

paraanonymous_enable=NO

Por padro, os usurios locais do sistema no tem permisso para fazer login no servidor FTP. Para modificar essa configurao, voc deve descomentar a seguinte linha:#local_enable=YES

Por padro, usurios tem permisso para descarregar arquivos do servidor FTP. Eles no tem permisso para enviar arquivos para o servidor FTP. Para modificar essa configurao, voc deve descomentar a seguinte linha: 35

Rede

#write_enable=YES

Similarmente, por padro, os usurios annimos no tem permisso para enviar arquivos para o servidor FTP. Para modificar essa configurao, voc deve descomentar a seguinte linha:

#anon_upload_enable=YES

O arquivo de configurao formado por vrios parmetros de configurao. As informaes sobre cada parmetro esto disponveis no arquivo de configurao. Alternativamente, voc pode consultar a pgina do manual, man 5 vsftpd.conf para um melhor detalhamento de cada parmetro. Uma vez configurado o vsftpd voc pode iniciar o servio usando o seguinte comando:sudo /etc/init.d/vsftpd start

Note que os valores padronizados no arquivo de configurao esto ajustados da forma que esto por motivos de segurana. Cada uma das modificaes feitas acima deixa o sistema cada vez menos seguro, portanto use-as somente se forem realmente necessrias.

36

Rede

6. Network File System (NFS)NFS permite um sistema a compartilhar diretrios e arquivos com outros sistemas em uma rede. Ao usar NFS, usurios e programas podem acessar arquivos em sistemas remotos quase que como se os mesmos fossem arquivos locais. Alguns dos mais notveis benefcios que NFS oferece so: Mquinas de trabalho locais usam menos espao de disco porque dados comumente usados podem ser armazenados em uma nica mquina e ainda assim permanecer acessvel outros na rede. No necessrio criar diretrios pessoais de usurios separados em cada mquina na rede. Diretrios pessoais podem ser criados em um servidor NFS de forma acessvel por toda a rede. Dispositivos de armazenamento como disquetes, CD-ROM, e chaveiros USB podem ser usados por outras mquinas na rede. Isto pode reduzir o nmero de dispositivos de mdia removveis por toda a rede.

6.1. InstalaoEm um prompt de terminal entre o seguinte comando para instalar o servidor NFS:

sudo apt-get install nfs-kernel-server

6.2. ConfiguraoVoc pode configurar os diretrios a serem exportados adicionando-os ao arquivo /etc/exports. Por exemplo:

/ubuntu *(ro,sync,no_root_squash) /home *(rw,sync,no_root_squash)

Voc pode substituir o * com um dos formatos de nome de host. Faa a declarao de nome de host o mais especfica possvel para que sistemas indesejados no acessem a montagem NFS. Para inicar o servidor NFS, voc pode executar o seguinte comando em um terminal:

sudo /etc/init.d/nfs-kernel-server start

6.3. Configurao do Cliente NFSUse o comando mount para montar um diretrio compartilhado NFS de outra mquina, digitando num prompt de terminal um comando similar ao seguinte:

sudo mount exemplo.nomedamquina.com:/ubuntu /local/ubuntu

37

Rede O diretrio ponto de montagem /local/ubuntu deve existir. No devem existir arquivos ou subdiretrios dentro do diretrio /local/ubuntu. Uma forma alternativa para montar uma partio compartilhada NFS remota adicionar uma linha ao arquivo /etc/fstab. A linha deve conter o nome do servidor NFS host, o diretrio no servidor sendo exportado, e o diretrio local onde a partio NFS deve ser montado. A sintaxe normal para a linha no arquivo /etc/fstab a seguinte:

exemplo.nomedohost.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr

6.4. RefernciasLinux NFS faq [http://nfs.sourceforge.net/]

38

Rede

7. Dynamic Host Configuration Protocol (DHCP)O Protocolo de Configurao Dinmica de Hosts (DHCP) um servio de rede que permite que os computadores sejam configurados automticamente apartir de configuraes feitas em um servidor ao invs de serem configurados individualmente de forma manual. Computadores configurados para serem clientes de DHCP no tem controle sobre as configuraes que eles recebem do servidor DHCP, e a configurao transparente para o usurio do computador. As configuraes mais comuns providenciadas por um servidor DHCP para um cliente DHCP so: Endereo IP e Netmask DNS WINS Entretanto, um servidor DHCP pode tambm providenciar propriedades de configurao como: Noma da Mquina Nome do Domnio Gateway Padro Servidor de Tempo Servidor de Impresso

A vantagem de usar DHCP que as alteraes em uma rede, por exemplo a alterao do endereo de um servidor DNS, precisam apenas ser modificadas no servidor DHCP, e todos os equipamentos da rede iro ser reconfigurados da prxima vez que seu cliente de DHCP consultar o servidor. Como vantagem adicional, ele tambm torna mais fcil a integrao de novos computadores rede, j que no necessrio confirmar a disponibilidade de um endereo IP. Conflitos na alocao de endereos IP tambm so reduzidos. Um servidor DHCP pode fornecer parmetros de configurao usando dois mtodos: Endereo MAC Esse mtodo consiste na utilizao do DHCP por meio da identificao do endereo de hardware nico de cada placa de rede conectada rede e ento fornecendo uma configurao constante cada vez que o cliente de DHCP faz uma requisio para o servidor DHCP usando o mesmo dispositivo de rede. Pool de Endereos Esse mtodo consiste na definio de um pool (algumas vezes chamado de faixa ou escopo) de endereos IP apartir do qual os clientes DHCP tero suas propriedades e configuraes supridas dinmicamente baseado num mtodo de "o primeiro que chega o primeiro que leva". Quando um cliente DHCP no mais est em rede por perodo de tempo especificado, a configurao expira e disponibilizada novamente no pool de endereos para uso por outros clientes DHCP. O Ubuntu fornecido com ambos, o cliente e o servidor DHCP. O servidor o dhcpd (dynamic host configuration protocol daemon). O cliente fornecido com o Ubuntu o dhclient e dever ser instalado em todos os computadores que pretendem ser automticamente configurados. Ambos os programas 39

Rede so fceis de instalar e configurar e sero automticamente iniciados durante a inicializao do sistema.

7.1. InstalaoEm um terminal, digite o seguinte comando para instalar dhcpd:

sudo apt-get install dhcpd

Voc ver a seguinte sada, a qual explica o que fazer em seguinda:

Por favor note que se voc estiver instalando o servidor DHCP pela primeira vez voc ir precisar configur-lo. Por favor pare (/etc/init.d/dhcp stop) o servio do servidor DHCP, edite o /etc/dhcpd.conf para ajust-lo s suas necessidades e configuraes particulares, e reinicie o servio do servidor DHCP (/etc/init.d/dhcp start). Voc tambm precisar editar o /etc/default/dhcp para especificar as interfaces que o dhcpd dever ouvir. Por padro ele ouve na eth0. NOTA: as mensagens do dhcpd so enviadas para o syslog. Procure l por mensagens de diagnstico.

Iniciando o servidor DHCP: o dhcpd falhou ao iniciar - verifique o syslog para diagnosticar o proble

7.2. ConfiguraoA mensagem de erro encontrada no final da instalao pode ser um pouco confusa, mas os seguintes passos vo te ajudar a configurar o servidor: Geralmente, o que voc quer fazer associar um endereo IP de forma aleatoria. Isto pode ser feito com as seguintes configuraes:

# Exemplo /etc/dhcpd.conf # (adicione seus comentrios aqui) default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "mydomain.org"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; }

40

Rede Isso ir fazer com que o servidor DHCP atribua ao cliente um endereo IP a partir da faixa 192.168.1.10-192.168.1.100 ou 192.168.1.150-192.168.1.200. Ele ir emprestar um endereo por 600 segundos se o cliente no perguntar por um determinado perodo de tempo. O servidor tambm ir "avisar" o cliente que ele deve usar 255.255.255.0 como sua mscara de sub-rede, 192.168.1.255 como seu endereo de broadcast, 192.168.1.254 como roteador/gateway e 192.168.1.1 e 192.168.1.2 como seus servidores DNS. Se for preciso especificar um servidor WINS para os seus clientes de Windows, voc dever incluir a opo netbios-nome-servidor.

option netbios-name-servers 192.168.1.1;

Configuraes do dhcpd foram adiquiridas do mini-HOWTO do DHCP, que pode ser encontrado aqui [http://www.tldp.org/HOWTO/DHCP/index.html].

7.3. RefernciasDHCP FAQ [http://www.dhcp-handbook.com/dhcp_faq.html]

41

Rede

8. Domain Name Service (DNS)Servio de Nome de Domnio ( Domain Name Service - DNS) um servio de internet que mapeia endereos IP para nomes de domnio completamente qualificados (FQDN) e vice-versa. Dessa forma, o DNS faz com que no seja necessrio decorar endereos IP. Os computadores que rodam o DNS so chamados de servidores de nomes. O Ubuntu vem com o BIND Berkley Internet Naming Daemon), o programa mais utilizado para manter um servidor de nomes no Linux.

8.1. InstalaoEm um terminal, digite o seguinte comando para instalar dns:

sudo apt-get install bind

8.2. ConfiguraoOs arquivos de configurao do DNS so armazenados no diretrio /etc/bind. O arquivo de configurao principal o /etc/bind/named.conf. O contedo da configurao padro est disposto abaixo:

// Este o arquivo de configurao primria para o servidor de DNS BIND named. // // Por favor, leia /usr/share/doc/bind/README.Debian para informaes sobre a // estrutura dos arquivos de configurao do BIND no Debian para verso 8.2.1 do BIND // ou superior, *ANTES* de voc customizar este arquivo de configurao. // include "/etc/bind/named.conf.options"; // reduz a sada de log em erros fora do nosso controle logging { category lame-servers { null; }; category cname { null; }; }; // servidor primrio, que conhece os servidores raiz zone "." { type hint; file "/etc/bind/db.root"; }; // seja a autoridade para repasses locais, zonas reversas e para a // zona de broadcast, como definido no RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; };

42

Rede

zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; // adicione definies locais aqui include "/etc/bind/named.conf.local";

A linha include especifica o nome do arquivo que contm as opes do DNS. A linha directory no arquivo de opes diz ao DNS onde procupar por arquivos. Todos os arquivos utilizados pelo BIND esto contidos nesse diretrio. The file named /etc/bind/db.root describes the root name servers in the world. The servers change over time, so the /etc/bind/db.root file must be maintained now and then. A seo zone define um servidor mestre, e ela armazenado em um arquivo mencionado atravs da tag file. Cada zona contm 3 registros de recursos (RRs): um RR SOA, um RR NS, e um RR PTR. SOA a abreviatura para Start of Authority, ou seja, Incio da Autoridade. A "@" uma notao especial que denota a origem. NS a RR para Servidor de Nomes. PTR Ponteiro para Servidor de Nomes. Para iniciar o servidor DNS, rode o seguinte comando apartir do prompt de um terminal:

sudo /etc/init.d/bind start

Voc pode se referir documentao mencionada na seo de referncias para detalhes.

8.3. RefernciasTUTORIAL DNS [http://www.tldp.org/HOWTO/DNS-HOWTO.html]

43

Rede

9. CUPS - Servidor de ImpressoraThe primary mechanism for Ubuntu printing and print services is the Common UNIX Printing System (CUPS). This printing system is a freely available, portable printing layer which has become the new standard for printing in most Linux distributions. O CUPS gerencia servios de impresso e filas, alm de fornecer impresso em rede usando o Protocolo padro de Impresso da Internet (IPP), alm de oferecer suporte a uma grande variedade de impressoras, de matriciais a lasers dentre muitas outras. O CUPS tambm suporta Descries de Impressoras PostScript (PPD) e auto-deteco de impressoras de rede, e aprensenta tambm uma ferramenta de administrao simples baseada na web.

9.1. InstalaoTo install CUPS on your Ubuntu computer, simply use sudo with the apt-get command and give the packages to install as the first parameter. A complete CUPS install has many package dependencies, but they may all be specified on the same command line. Enter the following at a terminal prompt to install CUPS:

sudo apt-get install cupsys cupsys-client

Uma vez autenticado com a senha do seu usurio, dever ocorrer o download e instalao dos pacotes sem erros. Aps a instalao, o servidor CUPS ser inicializado automaticamente. Para resoluo de problemas, voc pode acessar os erros do servidor CUPS atravs do arquivo de log de erros em: /var/log/cups/error_log. Se os logs de erros no mostrar informaes necessrias para resoluo dos seus problemas que voc encontrar, a qualidade de sada de log do CUPS pode ser incrementada, alterando a diretiva LogLevel no arquivo de configurao (discutido logo abaixo) para "debug" ou ainda "debug2", o que causar o registro em log de tudo, do padro ao "info". Se voc fizer esta mudana, lembre-se de desfaz-la assim que voc resolver seu problema, para prevenir que o arquivo fique muito grande.

9.2. ConfiguraoO comportamento do servidor CUPS (The Common UNIX Printing System) configurado atravs das diretivas contidas no arquivo /etc/cups/cupsd.conf. O arquivo de configurao do CUPS segue a mesma sintaxe que o arquivo de configurao primrio para o servidor de HTTP Apache, portanto os usurios familiares com a edio do arquivo de configurao do Apache devero ter uma maior facilidade ao editar a configurao do CUPS. Alguns exemplos de configurao que voc queira inicialmente alterar sero apresentados aqui. Antes de editar o arquivo de configurao, voc deve fazer uma cpia do arquivo original e proteg-lo contra sobrescrio, porque assim voc ter os ajustes originais como uma referncia, e para reusar como necessrio. 44

Rede Copiar o arquivo /etc/cups/cupsd.conf e proteg-lo contra sobrescrio com o seguinte comando, executado na linha de comando:

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original sudo chmod a-w /etc/cups/cupsd.conf.original

ServerAdmin: Para configurar o endereo de email designado para o administrador do servidor CUPS, simplesmente edite o arquivo de configurao /etc/cups/cupsd.conf com seu editor de textos predileto, e altere a diretiva ServerAdmin de acordo. Por exemplo, se voc o administrador do servidor CUPS, e seu email [email protected], Ento voc dever alterar a diretiva ServerAdmin para ficar como:

ServerAdmin [email protected]

Para mais exemplos de diretivas de configurao no arquivo de configurao do servidor CUPS, veja a pgina de manual do sistema relacionada atravs da utilizao do seguinte comando no prompt de um terminal:

man cupsd.conf

Cada vez que voc fizer alteraes no arquivo de configurao /etc/cups/cupsd.conf, voc precisar re-iniciar o servidor CUPS digitando o seguinte comando no prompt de um temrinal:

sudo /etc/init.d/cupsys restart

Algumas das outras configuraes do servidor CUPS so feitas no arquivo /etc/cups/cups.d/ports.conf: Listen: Por padro no Ubuntu, o servidor CUPS escuta somente na interface de loopback no endereo de IP 127.0.0.1. Para instruir o CUPS a escutar num endereo IP de uma rede, voc deve especificar um hostname, um endereo de IP, ou opcionalmente, um endereo/porta de acordo com as diretivas Listen. Por exemplo, se seu servidor CUPS fica numa rede local com o endereo de IP 192.168.10.250 e voc gostaria de torn-lo acessvel para outros sistemas em sua sub-rede, voc dever editar o arquivo /etc/cups/cups.d/ports.conf e adicionar uma diretiva Listen, como:

Listen 127.0.0.1:631 # Loopback existente Listen /var/run/cups/cups.sock # Escuta de socket existente Listen 192.168.10.250:631 # Escutando na interface LAN, porta 631 (IPP)

No exemplo acima, voc deve comentar ou remover a referncia ao endereo Loopback (127.0.0.1) se voc no desejar que o cupsd escute naquela interface, mas sim preferir que ele escute somente na interface Ethernet da sua Rede Local (LAN). Para habilitar a escuta para todas as interfaces

45

Rede de rede em que um hostname esteja ligado, inclundo a loopback, voc pode criar uma entrada de Listen para o hostname socrates como:

Listen socrates:631 # Escute em todas as interfaces pelo hostname 'socrates'

ou omitindo a diretriz Listen e usando Port invs, como:

Port 631 # Escute na porta 631 em todas as interfaces

9.3. RefernciasWebsite do CUPS [http://www.cups.org/]

46

Rede

10. HTTPD - Servidor Web Apache2Apache is the most commonly used Web Server on Linux systems. Web Servers are used to serve Web Pages requested by client computers. Clients typically request and view Web Pages using Web Browser applications such as Firefox, Opera, or Mozilla. Users enter a Uniform Resource Locator (URL) to point to a Web server by means of its Fully Qualified Domain Name (FQDN) and a path to the required resource. For example, to view the home page of the Ubuntu Web site [http://www.ubuntu.com] a user will enter only the FQDN. To request specific information about paid support [http://www.ubuntu.com/support/paid], a user will enter the FQDN followed by a path. O protoloco mais comum usado para transferir pginas de internet o Hyper Text Transfer Protocol (HTTP - Protocolo de transferncia de hipertexto). Protocolos como Hyper Text Transfer Protocol over Secure Sockets Layer (HTTPS - Protocolo seguro de transferncia de hipertexto) e File Transfer Protocol (FTP - Protocolo de transferncia de arquivo), um protocolo para enviar e receber arquivos, so tambm suportados. Servidores Web Apache so geralmente utilizados em conjunto com o motor de banco de dados MySQL, a linguagem de de construo de scripts pr-processadora de hiper-texto (PHP), e outras linguagens de construo de scripts populares como o Python e o Perl. Essa configurao denominada LAMP (Linux, Apache, MySQL e Perl/Python/PHP) e d forma a uma poderosa e robusta plataforma de desenvolvimento e hospedagem de aplicaes basedas na web.

10.1. InstalaoO servidor web Apache2 est disponvel no Ubuntu Linux. Para instalar o Apache2: No prompt de um terminal informe o seguinte comando:# sudo apt-get install apache2#

10.2. ConfiguraoO Apache configurado colocando-se diretivas em arquivos de configurao de texto puro. O arquivo de configurao principal chamado apache2.conf. Alm disso, outros arquivos de configurao podem ser adicionados utilizando-se a diretiva Include, e caracteres coringa (wildcards) podem ser utilizados para incluir vrios arquivos de configurao. Qualquer diretiva pode ser colocada em qualquer desses arquivos de configurao. Mudanas no arquivo de configurao apenas so reconhecidas pelo Apache2 quando este for iniciado ou reiniciado. O servidor tambm ir ler um arquivo contendo os tipos mime de documentos; o nome do arquivo definido pela diretiva TypesConfig, e mime.types por padro.

47

Rede O arquivo de configurao padro do Apache2 o /etc/apache2/apache2.conf. Voc pode editar esse arquivo para configurar o servidor Apache2. Voc pode configurar o nmero da porta, raiz dos documentos, mdulos, arquivos de log, hosts virtuais, etc. 10.2.1. Configuraes Bsicas Essa seo explica os parmetros de configurao essenciais do servidor Apache2. Procure pela Documentao do Apache2 [http://httpd.apache.org/docs/2.0/] para mais detalhes. O Apache2 vem com uma configurao padro amigvel para hosts virtuais. Isto , ele configurado com um host virtual nico padro (utilizando a diretiva VirtualHost) o qual pode ser modificado ou utilizado como est se voc tiver apenas um site, ou ainda usado como modelo para hosts virtuais adicionais caso voc tenha mltiplos sites. Se no for alterado, o host virtual padro servir como seu site padro, ou o site que os usurios utilizaro caso a URL que eles especifiquem no bata com a diretiva ServerName de nenhum de seus sites customizados. Para modificar o virtual host padro, edite o arquivo /etc/apache2/sites-available/default. Caso voc deseje configurar um novo host virtual ou site, copie esse arquivo para o mesmo diretrio com um nome de sua escolha. Por exemplo, sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/meunovosite. Edite o novo arquivo para configurar o novo site utilizando algumas das diretivas descritas abaixo. A diretiva ServerAdmin especifica o endereo de email a ser anunciado como do administrador do servidor. O valor padro webmaster@localhost. Ele deve ser alterado para um endereo de email que seja entregue para voc (caso voc seja o administrador do servidor). Se seu website possuir um problema, o Apache2 mostrar uma mensagem de erro contendo este endereo de email para qual o problema poder ser relatado. Encontre esta diretiva no arquivo de configurao do site site em /etc/apache2/sites-available. A diretiva Listen especifica a porta, e opcionalmente o endereo IP, na qual o Apache2 ir escutar. Se o endereo IP no for especificado, o Apache2 ir escutar em todos os endereos IP designados para a mquina no qual ele esteja rodando. O valor padro para a diretiva Listen 80. Altere isso para 127.0.0.1:80 para fazer com que o Apache apenas escute apenas na sua interface de loopback, de forma que ele esteja disponvel para a Internet, para (por exemplo) 81 para mudar a porta no qual ele escuta, ou deixe o valor como est para operao normal. Esta diretiva pode ser encontrada e alterada em seu prprio arquivo, /etc/apache2/ports.conf A diretiva ServerName opcional e especifica qual a FQDN seu site dever responder. O host virtual padro no possui diretiva ServerName especificada, portanto ele ir responder a todas as requisies que no combinem com uma diretiva ServerName em outro host virtual. Se voc acabou de adquirir o nome de domnio ubunturocks.com e gostaria de hosped-lo no seu servidor Ubuntu, o valor da diretiva ServerName no arquivo de configurao do seu host virtual dever ser ubunturocks.com. Adicione esta diretiva ao novo arquivo de site virtual que voc criou antes (/etc/apache2/sites-available/meunovosite). VocServerAlias para isso.VocServerAlias *.ubunturocks.com ir

A diretiva DocumentRoot especifica onde o Apache deve procurar pelos arquivos que formam o site. O valor padro /var/www. Nenhum site est configurado l, mas voc pode descomentar a 48

Rede diretiva RedirectMatch em /etc/apache2/apache2.conf as requisies sero redirecionadas para /var/www/apache2-default onde o site padro do Apache2 aguarda. Altere este valor no arquivo de host virtual do seu site e lembre-se de criar aquele diretrio se necessrio! O diretrio /etc/apache2/sites-available no decodificado pelo Apache2. Links simblicos em /etc/apache2/sites-enabled apontam para sites "disponveis" (available). Utilize o utilitrio a2ensite (Apache2 Enable Site) para criar esses links simblicos, como neste exemplo: sudo a2ensite meunovosite onde o arquivo de configurao do seu site /etc/apache2/sites-available/meunovosite. Semelhantemente, o utilitrio a2dissite deve ser usado para desabilitar sites. 10.2.2. Configurao Padro Esta seo explica a configurao das definies padro do servidor Apache2. Por exemplo, se voc adicionar um host virtual, as definies que voc configurar para o host virtual tm precedncia para aquele host virtual. Para uma diretiva no definida dentro da definio de host virtual, o valor padro utilizado. O DirectoryIndex a pgina padro servida pelo servidor quando o usurio requisita um ndice de um diretrio especificando uma barra (/) no final do nome do diretrio. Por exemplo, quando um usurio solicita a pgina http://www.examplo.com/este_diretrio/, ele ou ela vai ver: o DirectoryIndex (Diretriondice) se ele existir; uma lista do diretrio gerado pelo servidor caso no exista e as opes de ndices estiverem especificadas; ou uma pgina de Permisso Negada se nenhuma das duas opes forem verdadeiras. O servidor ir tentar encontrar um dos arquivos listados no DirectoryIndex e ir retornar o primeiro que for encontrado. Se ele no encontrar nenhum destes arquivos e se as Opes de ndices estiver ajustadas para aquele diretrio, o servidor ir gerar e retornar uma lista, no formato HTML, dos subdiretrios e arquivos no diretrio. O valor pado, encontrado em /etc/apache2/apache2.conf "index.html index.cgi index.pl index.php index.xhtml". Portanto, se o Apache2 encontras um arquivo no diretrio solicitado que bate com um destes nomes, o primeiro ser mostrado. A diretiva ErrorDocument permite que voc especifique um arquivo para o Apache usar para um evento especfico de erro. Por exemplo, se um usurio solicitar um recurso que no existe, um erro 404 ocorrer, e por padro de configurao do Apache2, o arquivo /usr/share/apache2/error/HTTP_NOT_FOUND.html.var ser mostrado. Este arquivo no est na Raiz de Documentos do servidor, mais existe uma diretiva de apelido no /etc/apache2/apache2.conf que redireciona as requisies do diretrio /error para /usr/share/apache2/error/. Para ver a listagem de directivas padro de Documentos de Erro, use o comando: grep ErrorDocument /etc/apache2/apache2.conf Por padro, o servidor registra o arquivo de transferncias no arquivo /var/log/apache2/access.log. Voc pode mudar isto site por site em seu arquivo de configurao de host virtual atravz da diretriz CustomLog, ou omiti-la para aceitar o padro, especificado no arquivo /etc/apache2/apache2.conf. Voc pode tambm especificar o arquivo onde os erros sero registrados, atravs da diretriz ErrorLog, que por padro /var/log/apache2/error.log. Estes 49

Rede so mantidos separados do log de transferncia para permitir eliminao de problemas com seu servidor Apache2. Voc pode tambm especificar o LogLevel (o valor padro "alertar") e o LogFormat (veja o /etc/apache2/apache2.conf para o valor padro). Algumas opes so especificadas num esquema por diretrios ao invz de um esquema por servidor. A diretiva Option uma dessas diretivas. Uma instncia de Directory encapsulada entre tags semelhantes ao XML, como em: ...

A diretiva Options com um instncia de Directory aceita um ou mais dos seguintes valores (entre outros), separados por espaos: ExecCGI - Permite execuo de scripts CGI. Scripts CGI no so executados se esta opo no estiver abilitada. A maioria dos arquivos no devem ser executados como scripts CGI. Isto pode ser muito perigoso. Scripts CGI devem ser mantidos em diretrios separados fora do DocumentRoot, e somente este diretrio deve ter a opo ExecCGI habilitada. Isto o padro, e o local padro para os scripts CGI /usr/lib/cgi-bin. Includes - Permite incluses no lado do servidor. Incluses no lado do servidor permitem que um arquivo HTML inclua outros arquivos. Essa no uma opo comum. Veja o Apache2 SSI Howto [http://httpd.apache.org/docs/2.0/howto/ssi.html] para maiores informaes. IncludesNOEXEC - Permite server-side includes, mais desabilita uso dos comandos #exec e #include nos scripts CGI Indexes - Mostra uma lista formatada dos contedos dos diretrios, caso no exista um DirectoryIndex (tal como index.html) no diretrio requisitado . Por motivos de segurana, isto geralmente no deveria estar hablilitado, e certamente no deveria estar habilitado no seu diretrio DocumentRoot. Habilite esta opo com cuidado, diretrio por diretrio somente se voc tem certeza de que quer que os usurios vejam o contedo inteiro do diretrio. Multiview - Suporta multi-vises negociadas pelo contedo; esta opo est desabilitada por padro por motivos de segurana. Veja a Documentao do Apache2 para esta opo [http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#multiviews]. SymLinksIfOwnerMatch - Somente segue os links simblicos caso o arquivo alvo ou diretrio seja do mesmo dono que o link. 10.2.3. Configuraes de Hosts Virtuais Hosts virtuais permitem que voc rode diferentes servidores para diferentes endereos IP, diferentes nomes, ou diferentes portas da mesma mquina. Por exemplo, voc pode rodar o website por http://www.exemplo.com.br e http://www.outroexemplo.com.br no mesmo servidor Web usando hosts virtuais. Esta opo corresponde diretiva para o virtual host padro e virtual 50

Rede hosts baseados em IP. E corresponde diretiva para um virtual host baseado em nomes. As diretivas para um host virtual somente so aplicadas para um host virtual em particular. Se a diretiva setada para escopo de servidor e no definida dentro das configuraes de um virtual host, as configuraes padro sero usadas. Por exemp#o, voc pode definir o email do Webmaster e no definir um email individual para cada virtual host. Ajuste a diretiva DocumentRoot para o diretrio que contm o documento raz (como o index.html) para o host virtual. O DocumentRoot padro /var/www. The ServerAdmin directive within the VirtualHost stanza is the email address used in the footer of error pages if you choose to show a footer with an email address on the error pages. 10.2.4. Configuraes do Servidor Esta seo explica como configurar as opes bsicas de um servidor. LockFile - A diretiva LockFile define o caminho do arquivo de trava usado quando o servidor compilado tanto com USE_FCNTL_SERIALIZED_ACCEPT quanto com USE_FLOCK_SERIALIZED_ACCEPT. obrigatrio armazen-lo no disco local. Deixe o valor padro a menos que o diretrio de logs esteja localizando em um compartilhamento NFS. Se este for o caso, o valor padro dever ser alterado para um caminho no disco local e para um diretrio no qual apenas o root tem permisses de leitura. PidFile - A diretiva PidFile define o arquivo em que o servidor gravar o seu ID de processo (pid). Este arquivo deve ser permisses de leitura somente para o root. Na maioria dos casos, o valor padro deve ser deixado. User - A diretiva User seta o UserID usado pelo servidor para responder as solicitaes. Esta opo determina o acesso ao servidor. Qualquer arquivo inacessvel a este usurio ser tambm inacessvel aos visitantes do seu website. O valor padro para o User www-data A no ser que voc saiba exatamente o que est fazendo, no defina a diretiva User para root. Usando o root como User (usurio) voc ir criar largas brechas de sergurana para seu ser servidor Web. A diretiva Group similar a diretiva User. Group define o grupo que o servidor ir responder as solicitaes. O grupo padro www-data. 10.2.5. Mdulos do Apache O Apache um servidor modular. Isso significa que somente as funcionalidades bsicas so inclusas no ncleo do servidor. A extenso das funcionalidades so disponibilizadas atravs de mdulos, que podem ser carregados no Apache. Por padro, alguns mdulos bsicos j esto inclusos na hora da 51

Rede compilao. Se o servidor for compilado para usar o carregamento dinmico de mdulos, ento os mdulos podem ser compilados separadamente, e adicionados qualquer hora usando a diretiva LoadModule. Caso contrrio, o Apache2 precisa ser recompilado para adicionar ou remover mdulos. O Ubuntu compila o Apache2 de maneira que permita o carregamento dinmico de mdulos. As diretivas de configurao podem ser includas condicionalmente, com a presena de um mdulo em particular includo num bloco . Voc pode instalar mdulos adicionais do Apache2 e us-los com o seu servidor WEB. Voc pode instalar mdulos do Apache2 usando o comando apt-get. Por exemplo, para instalar o mdulo do Apache2 para autenticao por MYSQL, voc pode executar o seguinte comando de um prompt de terminal (linha de comando)

sudo apt-get install libapache2-mod-auth-mysql

Quando voc instala um mdulo, ele estar disponvel no diretrio /etc/apache2/mods-available. Voc pode usar o comando a2enmod para habilitar um mdulo. Voc pode usar o comando a2dismod para desabilitar um mdulo. Quando voc desabilita um mdulo, ele estar disponvel no diretrio /etc/apache2/mods-enabled.

10.3. Configuraes HTTPSO mdulo mod_ssl adiciona uma funcionalidade importante no servidor Apache2 - a habilidade de encriptar comunicaes. Portanto, quando o seu navegador se comunica utilizando encriptao SSL, o prefixo https:// usado no comeo do Localizador de Recurso Uniforme (URL) na barra de navegao do navegador. O mdulo mod_ssl est disponvel no pacote apache2-common. Se voc possuir este pacote instalado, voc pode executar o comando a seguir de um prompt de terminal para ativar o mdulo mod_ssl:

sudo a2enmod ssl

10.3.1. Certificados e Segurana Para configurar um servidor seguro, use a criptografia de chave pblica para criar um par de chaves pblica e privada. Na maioria dos casos, voc manda o seu pedido de certificao (incluindo a sua chave pblica), uma prova da identidade da sua companhia e o pagamento para uma Autoridade de Certificados (CA). A CA verifica o pedido de certificao e sua identidade, e depois manda de volta um certificado para o seu servidor seguro. Alternativamente, voc pode criar o seu certificado auto-assinado. Note que, entretando, o certificado auto-assinado no deve ser usando na maioria dos ambientes de produo. Certificados auto-assinados no so automaticamente aceitos pelo navegador dos usurios. Os usurios so questionados pelo navegador para aceitar o certificado e criar uma conexo segura. Assim que voc tiver um certificado auto-assinado ou um certificado assinado por um CA de sua escolha, voc precisa instal-lo no seu servidor seguro. 52

Rede 10.3.2. Tipos de Certificados Voc precisa de uma chave e um certificado para operar o seu servidor seguro, o que significa que voc tanto pode gerar uma certificado auto-assinado como comprar um certificado assinado por um CA. Um certificado assinado por um CA prov duas capacidades importantes para o seu servidor: Navegadores (em geral) automaticamente reconhecem o certificado e permitem uma conexo segura sem questionamentos ao usurio. Quando um CA emite um certificado assinado, est garantindo a identidade da organizao que est provendo as pginas da web para o navegador. A maioria dos navegadores que suportam SSL possuem uma lista dos CAs cujo certificados so automaticamente aceitos. Se o navegador encontrar um certificado cujo CA autorizador no esteja na lista, o navegador ir perguntar para o usurio se ele deve aceitar ou rejeitar a conexo. Voc pode gerar um certificado auto-assinado para o seu servidor seguro, mas fique atento para o fa