- Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc;
- Suporte a autorização de acesso podendo ser especificadas restrições de acesso separadamente para cada endereço/arquivo/diretório acessado no servidor;
- Autenticação requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo (suportando criptografia via Crypto e MD5);
- Negociação de conteúdo, permitindo a exibição da página Web no idioma requisitado pelo Cliente Navegador;
- Suporte a tipos mime;
- Personalização de logs;
- Mensagens de erro;
- Suporte a virtual hosting (é possível servir 2 ou mais páginas com endereços/ portas diferentes através do mesmo processo ou usar mais de um processo para controlar mais de um endereço);
- Suporte a IP virtual hosting;
- Suporte a name virtual hosting;
- Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente configuráveis);
- Suporte a proxy e redirecionamentos baseados em URLs para endereços Internos;
- Suporte a criptografia via SSL,Certificados digitais;
- Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa.
Um script CGI ( Common Gateway Interface ) é um programa executado pelo servidor web, para enviar ao navegador do usuário, um código HTML criado, automaticamente, pelo servidor (baseado em outro aplicativo como, por exemplo, um sistema de gerenciamento de banco de dados, daí o nome gateway ) .
Uma das principais vantagens do uso do CGI é a
possibilidade de criar páginas dinâmicas, ou seja, páginas
personalizadas conforme a escolha ou a entrada do usuário. A aplicação
mais comum desta técnica é baseada no uso dos formulários HTML,
que permitem ao usuário selecionar ou inserir dados e, clicar em um
botão de submissão do formulário, enviando depois os dados do formulário
como um parâmetro do script CGI.
Um programa CGI pode ser escrito em quase todas as linguagens de programação desde que ele seja:
# apt-get install ???
# apt-cache search ???
# apt-get install apache2
# apt-get install mysql-server mysql-client
# apt-get install php5 php5-mysql libapache2-mod-php5
# apt-get install proftpd vsftpd
# apt-get install perl libapache2-mod-perl2
# apt-get install python libapache2-mod-python
# apt-get install phpmyadmin
FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos.
O protocolo FTP actualmente é definido pelo RFC 959 (File Transfer Protocol (FTP) - Especificações).
O VSFTPD (Very Secure File Transfer Protocol Daemon), é a escolha de empresas como Red Hat, IBM e Novell (Suse Linux) quando o assunto é servidores de FTP confiáveis e seguros. Inclusive, o projeto OpenBSD utiliza o VSFTPD como servidor FTP da distribuição, logo, podemos considerar este software como bem qualificado em termos de segurança de código.
apt-get install vsftpd
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
apt-get install proftpd
DefaultRoot ~ # Este comando é o responsável por restringir o usuário à sua pasta home e nada mais.
ServerName "Nome do Servidor" ServerType standalone DeferWelcome off
Existe uma regra que se inicia na linha 137 e só termina no fim do arquivo, a linha 176, esta regra define se será necessária a autenticação do usuário para acessar o FTP, isto se torna interessante quando você precisa de um servidor FTP público, onde inúmeras pessoas vão acessar o FTP mas não possuem conta no servidor ou não possuem nenhum tipo de cadastro, simplesmente o que você quer é disponibilizar alguns arquivos públicos no servidor FTP.