Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Módulo Serviços Internet - Apostilas - Informática Part2, Notas de estudo de Informática

Apostilas de Informática sobre Módulo Serviços Internet, Configurando o inetd, O Arquivo services, Reinicializando o inetd, Criando um Servidor de FTP Anônimo, Configurando um Servidor WWW, Configuração do sendmail - Comandos.

Tipologia: Notas de estudo

2013

Compartilhado em 26/08/2013

Alfredo_88
Alfredo_88 🇧🇷

4.7

(71)

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Curso Linux
Módulo Serviços Internet
10
4 SERVIDOR WWW (WORLD WIDE WEB)
O daemon httpd permite que seu site se torne um servidor WWW de hiperdocumentos. O
httpd é responsável por atender às requisições dos clientes, e pode lhes enviar textos, figuras e
sons. O httpd pode executar na forma tradicional (standalone) ou como um processo gerenciado
pelo inetd (é a forma mais utilizada para disparar o httpd).
4.1 Configurando um Servidor WWW
Antes de mais nada é necessário que você obtenha algum servidor WWW e o descompacte no
diretório que melhor lhe convier. Os servidores estão disponíveis na Internet tanto na versão
compilada quanto na versão não compilada (o código fonte está incluído e deve ser compilado).
Note que nem todos os desenvolvedores de servidores disponibilizam o código fonte; neste caso,
procure por uma versão compilada.
Basicamente todos os servidores têm um conjunto de diretórios e arquivos que são iguais ou,
pelo menos, exercem a mesma função. Após a descompactação do servidor é comum obter um
conjunto de diretórios que inclui o cgi-bin, cgi-src, conf, icons, logs e support.
A seguir, temos a descrição do conteúdo de cada um destes diretórios.
Diretório
Conteúdo
cgi-bin
Neste diretório ficam todos os scripts CGI (Common Gateway Interface) que
serão referenciados pelos clientes. Cada novo script criado pelo administrador
do serviço deve ser colocado neste diretório.
cgi-src
Contém o código fonte dos scripts CGI disponíveis junto com o servidor.
conf
Este é o diretório que contém todos os arquivos de configuração do servidor
(os mais importantes). São eles: httpd.conf-dist, access.conf-dist,
srm.conf-dist, mime.types. Os arquivos com a extensão -dist devem
ser copiados para httpd.conf, access.conf, srm.conf, respectivamente,
antes de serem alterados.
icons
Contém as imagens que são usadas pelo servidor para formar páginas HTML
de aviso aos clientes (geralmente quando acontecem erros), entre outros.
logs
Este diretório contém os arquivos que catalogam os acessos feitos ao servidor
e os erros que ocorrem na interação dos clientes com o servidor. Estes
arquivos são úteis para que o webmaster (administrador do serviço) possa
monitorar o funcionamento do serviço. No arquivo access_log estão
catalogados todos os acessos e atitudes dos clientes. No arquivo error_log
estão as mensagens de erros provocados pelos clientes na tentativas de
interagir e navegar pelas páginas do servidor. Através das mensagens deste
arquivo pode-se também descobrir motivos para o mau funcionamento do
servidor. A maioria dos servidores possui um arquivo chamado httpd.pid,
no qual é cadastrado o pid do httpd (na hora em que ele é disparado). O pid
pode ser usado para que o administrador reinicialize ou termine a execução do
daemon. Um sinal de hangup (kill -HUP pid) faz com que o daemon releia os
arquivos de configuração.
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Módulo Serviços Internet - Apostilas - Informática Part2 e outras Notas de estudo em PDF para Informática, somente na Docsity!

4 SERVIDOR WWW (WORLD WIDE WEB)

O daemon httpd permite que seu site se torne um servidor WWW de hiperdocumentos. O

httpd é responsável por atender às requisições dos clientes, e pode lhes enviar textos, figuras e

sons. O httpd pode executar na forma tradicional ( standalone ) ou como um processo gerenciado

pelo inetd (é a forma mais utilizada para disparar o httpd ).

4.1 Configurando um Servidor WWW

Antes de mais nada é necessário que você obtenha algum servidor WWW e o descompacte no

diretório que melhor lhe convier. Os servidores estão disponíveis na Internet tanto na versão

compilada quanto na versão não compilada (o código fonte está incluído e deve ser compilado).

Note que nem todos os desenvolvedores de servidores disponibilizam o código fonte; neste caso,

procure por uma versão compilada.

Basicamente todos os servidores têm um conjunto de diretórios e arquivos que são iguais ou,

pelo menos, exercem a mesma função. Após a descompactação do servidor é comum obter um

conjunto de diretórios que inclui o cgi-bin , cgi-src , conf , icons , logs e support.

A seguir, temos a descrição do conteúdo de cada um destes diretórios.

Diretório Conteúdo

cgi-bin Neste diretório ficam todos os scripts CGI ( Common Gateway Interface ) que

serão referenciados pelos clientes. Cada novo script criado pelo administrador

do serviço deve ser colocado neste diretório.

cgi-src Contém o código fonte dos scripts CGI disponíveis junto com o servidor.

conf Este é o diretório que contém todos os arquivos de configuração do servidor

(os mais importantes). São eles: httpd.conf-dist , access.conf-dist ,

srm.conf-dist , mime.types. Os arquivos com a extensão - dist devem

ser copiados para httpd.conf , access.conf , srm.conf , respectivamente,

antes de serem alterados.

icons Contém as imagens que são usadas pelo servidor para formar páginas HTML

de aviso aos clientes (geralmente quando acontecem erros), entre outros.

logs Este diretório contém os arquivos que catalogam os acessos feitos ao servidor

e os erros que ocorrem na interação dos clientes com o servidor. Estes

arquivos são úteis para que o webmaster (administrador do serviço) possa

monitorar o funcionamento do serviço. No arquivo access_log estão

catalogados todos os acessos e atitudes dos clientes. No arquivo error_log

estão as mensagens de erros provocados pelos clientes na tentativas de

interagir e navegar pelas páginas do servidor. Através das mensagens deste

arquivo pode-se também descobrir motivos para o mau funcionamento do

servidor. A maioria dos servidores possui um arquivo chamado httpd.pid ,

no qual é cadastrado o pid do httpd (na hora em que ele é disparado). O pid

pode ser usado para que o administrador reinicialize ou termine a execução do

daemon. Um sinal de hangup (kill -HUP pid ) faz com que o daemon releia os

arquivos de configuração.

support Neste diretório existem alguns programas que dão suporte para a manutenção

do serviço. Eles fazem uso de arquivos, como access_log e error_log

para extrair informações úteis ao webmaster no gerenciamento do sistema.

Geralmente apresentam alguns dados estatísticos sobre o funcionamento do

serviço, permitindo que o webmaster tome atitudes para melhorar o seu

desempenho e uso.

Tabela 4.1 - Conteúdo dos diretórios comuns dos vários servidores WWW

Atenção especial tem que ser dada aos arquivos de configuração do servidor WWW,

localizados no diretório conf. Os itens 4.1.1 a 4.1.4 descrevem os arquivos de configuração e as

opções mais comuns a serem configuradas em cada um.

4.1.1 httpd.conf

Este é o principal arquivo de configuração do servidor. Ele contém diretivas que controlam a

operação do daemon. Vejamos o conteúdo do httpd.conf que acompanha o servidor Apache (o

mais usado na Internet atualmente).

This is the main server configuration file. See URL http://www.apache.org/

for instructions.

Do NOT simply read the instructions in here without understanding

what they do, if you are unsure consult the online docs. You have been

warned.

Originally by Rob McCool

ServerType is either inetd, or standalone.

ServerType standalone

If you are running from inetd, go to "ServerAdmin".

Port: The port the standalone listens to. For ports < 1023, you will

need httpd to be run as root initially.

Port 80

If you wish httpd to run as a different user or group, you must run

httpd as root initially and it will switch.

User/Group: The name (or #number) of the user/group to run httpd as.

On SCO (ODT 3) use User nouser and Group nogroup

User nobody Group #-

ServerAdmin: Your address, where problems with the server should be

e-mailed.

ServerAdmin [email protected]

ServerRoot: The directory the server's config, error, and log files

are kept in

ServerRoot /usr/local/etc/httpd

BindAddress: You can support virtual hosts with this option. This option

is used to tell the server which IP address to listen to. It can either

contain "*", an IP address, or a fully qualified Internet domain name.

See also the VirtualHost directive.

#BindAddress *

ErrorLog: The location of the error log file. If this does not start

VirtualHost: Allows the daemon to respond to requests for more than one

server address, if your server machine is configured to accept IP packets

for multiple addresses. This can be accomplished with the ifconfig

alias flag, or through kernel patches like VIF.

Any httpd.conf or srm.conf directive may go into a VirtualHost command.

See alto the BindAddress entry.

#ServerAdmin [email protected] #DocumentRoot /www/docs/host.foo.com #ServerName host.foo.com #ErrorLog logs/host.foo.com-error_log #TransferLog logs/host.foo.com-access_log

Figura 4.1 - Exemplo do arquivo httpd.conf distribuído com o servidor Apache

As diretivas básicas que devem ser configuradas são:

 ServerType

Sintaxe: ServerType tipo

Esta diretiva indica o modo no qual o servidor será executado pelo sistema. O tipo pode ser:

inetd - O servidor vai ser executado a partir do inetd. Neste caso deve-se incluir no arquivo

inetd.conf a seguinte entrada (a sintaxe das entradas do inet.conf foi exposta no capítulo 2):

http stream tcp nowait nobody /usr/local/www/apache/httpd httpd - d

/usr/local/www/apache

Deve-se também incluir no arquivo services a seguinte entrada (a sintaxe das entradas foi

exposta no capítulo 2):

http 80/tcp # Servidor WWW

Após terminar a configuração do servidor, não esqueça de fazer com que o inetd releia o

arquivo de configuração (kill -HUP inetd_pid ).

standalone - O servidor vai executar na forma tradicional. O comando para executar o

servidor deve ser colocado em algum script de inicialização do sistema, por exemplo,

/etc/rc.local ou /etc/rc3.d/... (para garantir que o serviço estará disponível mesmo que

a máquina seja reinicializada).

A opção inetd é menos usada, pois para cada conexão http uma nova cópia do servidor é

criada, terminando sua execução quando a conexão é completada. Paga-se um preço alto por cada

nova conexão, mas por questões de segurança alguns administradores preferem esta opção. A opção

standalone é mais eficiente, pois o servidores é inicializado apenas uma vez. Se você pretende

instalar o servidor em um site com muitos acessos, a opção standalone é mais adequada.

 Port

Sintaxe: Port número

Esta diretiva configura a porta de rede na qual o servidor vai esperar as conexões. O número

varia de 0 a 65535. Algumas portas (abaixo de 1024) são reservadas para protocolos particulares. A

porta padrão para o http é 80, que é uma porta especial. Estas portas só podem ser usadas por

processos que têm como dono o usuário root. Os usuários regulares (que não o root ) devem usar

portas acima de 1024. Para usar a porta 80 você deve inicializar o servidor via conta do root.

Após ter se associado à porta e antes de aceitar requisições, o servidor irá mudar seu dono para um

usuário de menor privilégio, definido pela diretiva User. Definir User como root pode ser uma

falha de segurança.

 User

Sintaxe: User uid

Esta diretiva define os privilégios que o httpd terá durante sua execução (os privilégios serão

iguais aos do usuário uid ). uid pode ser tanto o nome de um usuário quanto o seu número de

identificação (precedido do caracter # ). Se você executar o servidor como root , não esqueça de

configurar a diretiva User com um nome de usuário diferente de root , caso contrário o httpd

estará executando com privilégios de superusuário.

 Group

Sintaxe: Group grupo

Esta diretiva define o grupo sob o qual o servidor irá responder às requisições. O grupo pode

ser tanto o nome de um grupo quanto o seu número de identificação (precedido do caracter # ).

Alguns administradores usam o grupo nobody , mas nem sempre é possível ou desejado.

 ServerAdmin

Sintaxe: ServerAdmin e-mail

Esta diretiva define o endereço e-mail que o servidor incluirá nas mensagens de erro que ele

retorna para o cliente.

 ServerRoot

Sintaxe: ServerRoot diretório

Esta diretiva informa o diretório onde o servidor está. Geralmente, os sub-diretórios conf/ e

logs/ estão presentes neste diretório. Caminhos relativos para outros arquivos são considerados

relativos a este diretório.

 ErrorLog

Sintaxe: ErrorLog nome_do_arquivo

Esta primitiva define o nome do arquivo que o servidor usará para cadastrar as mensagens de

erro. Se nome_do_arquivo não começar com uma barra (/), então será assumido que ele é relativo

ao caminho definido em ServerRoot.

 TransferLog

Sintaxe: TranferLog nome_do_arquivo

Esta primitiva define o nome do arquivo que o servidor usará para cadastrar as mensagens

produzidas durante a navegação do cliente. Informações de recursos acessados, data e hora de um

acesso específico são exemplos de mensagens cadastradas neste arquivo. Se nome_do_arquivo não

começar com uma barra (/), então será assumido que ele é relativo ao caminho definido em

ServerRoot.

 PidFile

Sintaxe: PidFile nome_do_arquivo

Esta primitiva define o nome do arquivo que o servidor usará para cadastrar o pid do daemon.

Se nome_do_arquivo não começar com uma barra (/), então será assumido que ele é relativo ao

caminho definido em ServerRoot. Esta diretiva só é usada se estivermos executando o servidor no

modo standalone.

 ServerName

FancyIndexing is whether you want fancy directory indexing or standard

FancyIndexing on

AddIcon tells the server which icon to show for different files or filename

extensions

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/text.gif .ps .shtml AddIcon /icons/movie.gif .mpg .qt AddIcon /icons/binary.gif .bin AddIcon /icons/burst.gif .wrl AddIcon /icons/binhex.gif .hqx .sit AddIcon /icons/uu.gif .uu AddIcon /icons/tar.gif .tar .tar AddIcon /icons/back.gif .. AddIcon /icons/dir.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon is which icon to show for files which do not have an icon

explicitly set.

DefaultIcon /icons/unknown.gif

AddDescription allows you to place a short description after a file in

server-generated indexes.

Format: AddDescription "description" filename

ReadmeName is the name of the README file the server will look for by

default. Format: ReadmeName name

The server will first look for name.html, include it if found, and it will

then look for name and include it as plaintext if found.

HeaderName is the name of a file which should be prepended to

directory indexes.

ReadmeName README HeaderName HEADER

IndexIgnore is a set of filenames which directory indexing should ignore

Format: IndexIgnore name1 name2...

IndexIgnore /.?? *~ *# /HEADER /README */RCS

AccessFileName: The name of the file to look for in each directory

for access control information.

AccessFileName .htaccess

DefaultType is the default MIME type for documents which the server

cannot find the type of from filename extensions.

DefaultType text/plain

AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress

information on the fly. Note: Not all browsers support this.

AddEncoding x-compress Z AddEncoding x-gzip gz

AddLanguage allows you to specify the language of a document. You can

then use content negotiation to give a browser a file in a language

it can understand. Note that the suffix does not have to be the same

as the language keyword --- those with documents in Polish (whose

net-standard language code is pl) may wish to use "AddLanguage pl .po"

to avoid the ambiguity with the common suffix for perl scripts.

AddLanguage en .en AddLanguage fr .fr AddLanguage de .de AddLanguage da .da

AddLanguage el .el AddLanguage it .it

LanguagePriority allows you to give precedence to some languages

in case of a tie during content negotiation.

Just list the languages in decreasing order of preference.

LanguagePriority en fr de

Redirect allows you to tell clients about documents which used to exist in

your server's namespace, but do not anymore. This allows you to tell the

clients where to look for the relocated document.

Format: Redirect fakename url

Aliases: Add here as many aliases as you need (with no limit). The format is

Alias fakename realname

Alias /icons/ /usr/local/etc/httpd/icons/

ScriptAlias: This controls which directories contain server scripts.

Format: ScriptAlias fakename realname

ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/

If you want to use server side includes, or CGI outside

ScriptAliased directories, uncomment the following lines.

AddType allows you to tweak mime.types without actually editing it, or to

make certain files to be certain types.

Format: AddType type/subtype ext

#AddType text/x-server-parsed-html .shtml #AddType application/x-httpd-cgi .cgi

For server-side includes which will be treated as HTML

for purposes of content negotiation, use

#AddType text/x-server-parsed-html3 .shtml

Uncomment the following line to enable Apache's send-asis HTTP file

feature

#AddType httpd/send-as-is asis

To enable type maps, you might want to use

#AddType application/x-type-map var

If you wish to use server-parsed imagemap files, use

#AddType application/x-httpd-imap map

Customizable error response (Apache style)

these come in three flavors

1) plain text

#ErrorDocument 500 "The server made a boo boo.

n.b. the (") marks it as text, it does not get output

2) local redirects

#ErrorDocument 404 /missing.html

to redirect to local url /missing.html

#ErrorDocument 404 /cgi-bin/missing_handler.pl

n.b. can redirect to a script or a document using server-side-includes.

3) external redirects

#ErrorDocument 402 http://other.server.com/subscription_info.html

Figura 4.2 - Exemplo do arquivo srm.conf distribuído com o servidor Apache

As diretivas básicas que devem ser configuradas são:

 DocumentRoot

4.1.3 access.conf

Neste arquivo é definido a configuração global de acesso aos diretórios. Uma informação

importante a configurar é a do diretório raiz dos documentos. Vejamos o conteúdo do arquivo

access.conf que acompanha o servidor Apache.

access.conf: Global access configuration

Online docs at http://www.apache.org/

This file defines server settings which affect which types of services

are allowed, and in what circumstances.

Each directory to which Apache has access, can be configured with respect

to which services and features are allowed and/or disabled in that

directory (and its subdirectories).

Originally by Rob McCool

/usr/local/etc/httpd/ should be changed to whatever you set ServerRoot to.

Options Indexes FollowSymLinks

This should be changed to whatever you set DocumentRoot to.

This may also be "None", "All", or any combination of "Indexes",

"Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

Note that "MultiViews" must be named explicitly --- "Options All"

doesn't give it to you (or at least, not yet).

Options Indexes FollowSymLinks

This option allows you to turn on the XBitHack behavior, which allows you

to make text/html server-parsed by activating the owner x bit with chmod.

This directive may be used wherever Options may, and has three

possible arguments: Off, On or Full. If set to full, Apache will also

add a Last-Modified header to the document if the group x bit is set.

Unless the server has been compiled with -DXBITHACK, this function is

off by default. To use, uncomment the following line:

#XBitHack Full

This controls which options the .htaccess files in directories can

override. Can also be "None", or any combination of "Options", "FileInfo",

"AuthConfig", and "Limit"

AllowOverride All

Controls who can get stuff from this server.

order allow,deny allow from all

You may place any other directories you wish to have access

information for after this one.

Figura 4.3 - Exemplo do arquivo access.conf distribuído com o servidor Apache

Neste arquivo você precisa mudar basicamente duas ocorrências da diretiva .

Na primeira ocorrência, configure o mesmo diretório que foi definido em ServerRoot e na segunda

ocorrência configure o mesmo diretório que foi definido em DocumentRoot.

4.1.4 mime.types

Neste arquivo são definidos o tipo e sub-tipo das mídias envolvidas nas transações que

envolvem o HTTP. Ainda são definidas as extensões de cada tipo e sub-tipo de mídia. Os tipos e

sub-tipos das mídias envolvidas são definidos pelo RFC 1521.

5.2 Aliases

Mail aliasing é um mecanismo que provê:

 Nomes alternativos ( nicknames ) para usuários;

 Redirecionamento de mails para outros hosts ;

 Listas de discussão ( mailing lists ).

Sua importância é tal que, sem ele, sendmail não conseguiria agir como servidor central de

mail.

Aliases são definidos primariamente no arquivo /etc/aliases. Em sistemas que usam NIS, se

encontram no mapa aliases, gerado em grande parte das vezes a partir do arquivo /var/etc/aliases. O

formato desses arquivos é como segue:

“ alias ” é o nome a quem o mail é endereçado, e “ destinatário ” o endereço de quem deve

recebê-lo. “ destinatário ” pode ser o login de um usuário, outro alias ou um e-mail completo.

Pode haver múltiplos destinatários para um mesmo alias , o que permite criar listas de

discussão.

É possível repassar a mensagem para um programa, da seguinte forma:

Pode-se pegar os destinatários de um arquivo:

sendmail usa aliases no formato DBM. Assim, deve ser executado o comando newaliases

para transformar o arquivo de aliases para DBM. Este comando é apenas um link para o próprio

sendmail, que se executa com a opção - bi.

- bd executa como daemon, experando por conexões SMTP - bi: refaz aliases - bq : imprime um sumário da fila - bt : executa em modo de teste de endereço. Este modo lê

endereços e mostra os passos da determinação do

endereço final; usado para depuração.

- bv : verifica apenas a validade de e-mails, sem enviar a

mensagem.

- q[time] : processa a fila de mail a cada intervalo time.

alias: destinatário[,destinatário,...]

alias: “| programa”

alias: :include:/pathname