segunda-feira, 17 de maio de 2010

Instalando o Apache2 e configurando domínios virtuais num Linux Debian Based

Instalar o Apache2 via apt-get ou aptitude:
apt-get install apache2 ou
aptitude install apache2
O apache2 depende dos pacotes apache2-mpm-worker, apache2.2-common, porém o apt-get ou o aptitude irá resolver as dependências.

Após a instalação o apache já está instalado e funcionando na porta padrão do protocolo HTTP (Porta 80). Caso seja necessário modificar a porta do apache2 será necessário editar o arquivo /etc/apache2/ports.conf e modificar os parâmetros abaixo para o novo valor :
NameVirtualHost *:80
Listen 80
O apache2 já está pronto para configuração de novos domínios virtuais, para isso será necessário criar o arquivo que servirá como modelo para os próximos domínios virtuais como segue abaixo:

Arquivo: /etc/apache2/sites-available/dominio.com.br

<VirtualHost *:80>
ServerName www.dominio.com.br
ServerAdmin network@dominio.com.br
DocumentRoot /webhost/dominio.com.br
ErrorLog /var/log/apache2/dominio.com.br-error.log
CustomLog /var/log/apache2/dominio.com.br-access.log combined
<
/VirtualHost>


Este arquivo contém a configuração mínima para um domínio virtual para habilitarmos a configuração do mesmo basta executar os comandos abaixo:

Habilita o site dominio.com.br:
a2ensite dominio.com.br
Carrega as configurações feitas para a memória do apache2:
/etc/init.d/apache2 reload

Abaixo veremos uma configuração de domínio virtual mais avançada, onde criamos uma regra de autorização para uma determinada faixa de rede e criamos a autenticação numa determinada pasta do site:

<VirtualHost *:80>
ServerName www.dominio.com.br
ServerAdmin network@dominio.com.br
DocumentRoot /webhost/dominio.com.br
ErrorLog /var/log/apache2/dominio.com.br-error.log
CustomLog /var/log/apache2/dominio.com.br-access.log combined

# Configuração de autorização junto com autenticação do diretório
<Directory /webhost/dominio.com.br/intranet>
# Não permite listagem do diretório em caso de não haver uma página válida
Options -Indexes
# Opção que habilita a autenticação do diretório
AllowOverride AuthConfig
Order allow,deny
# Permite acesso apenas com origem da rede 10.1.0.0/16
allow from 10.1.0.0/16
deny from all
<
/Directory>
<
/VirtualHost>


Para que a configuração de autenticação funcione na pasta especificada é necessário criar o arquivo /webhost/dominio.com.br/intranet/.htaccess com as configurações abaixo:
AuthName "Intranet"
AuthType Basic
AuthUserFile /etc/apache2/htusers
AuthGroupFile /etc/apache2/htgroups
require valid-user
Esse arquivo irá permitir a autenticação de usuários criados pelo programa htpasswd e adicionados no arquivo htusers especificado. Veremos como criar e adicionar o arquivo htusers:

Criar o arquivo /etc/apache2/htusers adicionando um novo usuário:
htpasswd -c /etc/apache2/htusers usuario1
Adicionar um novo usuário no arquivo /etc/apache2/htusers:
htpasswd /etc/apache2/htusers usuario2
Pronto! Seu apache já está configurado com domínios virtuais e com a configuração de autorização e autenticação de usuários para um determinado diretório.

quinta-feira, 13 de maio de 2010

Instalação e configuração básica do VSFTPD com acesso anônimo num Linux Debian Based

Instalar o serviço FTP via apt-get ou aptitude:

apt-get install vsftpd ou
aptitude install vsftpd

Editar o arquivo de configuração do VSFTPD (/etc/vsftpd.conf) e habilitar as configurações abaixo:

listen=YES # Habilita o serviço FTP no modo Daemon (Standalone)
anonymous_enable=YES # Habilita o acesso ao usuário anounymous
local_enable=YES # Habilita o acesso de usuários locais
write_enable=YES # Permite escrita no servidor
anon_upload_enable=YES # Permite upload de arquivos pelo usuário anounymous
ftpd_banner=Bem vindo ao FTP Server # Modifica a mensagem de boas-vindas do Serviço FTP
max_clients=1 # Permite o máximo de 1 conexão no servidor
Criar usuário para acesso local, configurando a pasta home:

useradd -m -d /webhost/dominio.com.br usuario
Testar a conexão localmente:

ftp localhost
Connected to localhost.
220 Bem vindo ao FTP Server
Name (localhost:usuario):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put teste_upload.txt
ftp> get teste_download.txt


FTP instalado e configurado corretamente para acesso de usuários locais e usuário anonymous.