Virtual Hosts
Outro recurso suportado pelo Apache, e muito usado, é a possibilidade de hospedar vários sites no mesmo servidor (shared hosting). Mais de 80% dos sites da internet são hospedados dessa forma econômica.
Nesse caso, os arquivos de cada site ficam guardados em uma pasta diferente e o servidor se encarrega de direcionar cada visitante ao site correto. Servidores como os dos serviços de hospedagem gratuita exploram esse recurso ao extremo, com um número assustador de sites hospedados em cada servidor.
Em um host compartilhado, os recursos do servidor (HD, memória, processamento e link) são divididos entre os sites hospedados, assim como vários programas abertos simultaneamente disputam os recursos da máquina. Isso faz muito sentido no caso de sites pequenos ou médios, que não possuem um número suficiente de visitas para saturarem, sozinhos, o servidor.
Ao hospedar seu site em um host compartilhado, você tem direito a uma determinada quota de espaço em disco e pode acessar os arquivos do site via FTP ou SFTP. Porém, você não pode instalar novos pacotes, nem alterar a configuração do servidor: fica limitado aos recursos disponíveis.
A segunda opção é alugar um host dedicado, onde você tem um servidor completo à sua disposição, inclusive com a possibilidade de criar virtualhosts e hospedar outros sites.
Invariavelmente, ao hospedar vários domínios, você precisa configurar um servidor DNS (o mais usado é o Bind) para responder a todos os domínios hospedados no servidor, entregando o endereço IP do seu servidor Apache. Não é necessário que o DNS esteja instalado no mesmo servidor que o Apache, a função dele será unicamente responder às requisições dos clientes, fornecendo o IP correto.
Em muitos casos, a própria empresa que lhe aluga o servidor oferece esse serviço, mas vamos aprender como fazer isso manualmente logo a seguir.
Configurar um servidor DNS pode ser um pouco indigesto, mas a configuração do Apache é bastante simples. Em primeiro lugar, você deve criar uma pasta separada para cada site que será hospedado. Você pode usar a própria pasta "/var/www", como em:
# mkdir /var/www/joao
# mkdir /var/www/maria
Além de configurar o servidor Web, precisaremos fazer com que os responsáveis possam acessar os arquivos nas suas respectivas pastas, a fim de atualizar seus sites. A forma mais simples de fazer isso é criar um usuário para cada um e dar acesso a eles via FTP. Mais adiante veremos como configurar o servidor FTP com o Proftpd. Veja que as três coisas acabam se integrando: o Bind resolve os nomes de domínio, o Apache fornece as páginas e o Proftpd permite que os webmasters atualizem os sites.
Acesse agora a pasta "/etc/apache2/sites-available", onde vai a configuração dos sites disponíveis. Comece editando o arquivo "/etc/apache2/sites-available/default", substituindo as linhas:
NameVirtualHost *
<VirtualHost *>
Por:
NameVirtualHost *:80
<VirtualHost *:80>
Essa configuração é necessária para ativar o suporte a SSL para os virtual hosts. Sem ela, além do SSL não funcionar para os virtual hosts (funcionaria apenas para o site default), você precisaria modificar a configuração de cada um, usando sempre "<VirtualHost *>" ao invés de "<VirtualHost *:80>".
Imagine que vamos hospedar os sites "www.joao.com.br" e "www.maria.com.br", usando as duas pastas criadas anteriormente. Criaríamos, então, um arquivo para cada site, contendo o seguinte:
- /etc/apache2/sites-available/joao:
<VirtualHost *:80>
ServerAdmin joao@joao.com.br
ServerName www.joao.com.br
ServerAlias joao.com.br
DocumentRoot /var/www/joao
</VirtualHost>
- /etc/apache2/sites-available/maria:
<VirtualHost *:80>
ServerAdmin maria@gmail.com
ServerName www.maria.com.br
ServerAlias maria.com.br
DocumentRoot /var/www/maria
</VirtualHost>
Note que adicionei uma nova diretiva, a "ServerAlias", que permite que o site seja acessado tanto com, quanto sem o "www". A linha "ServerAdmin" é, na verdade, opcional, contém apenas o e-mail de contato do administrador do site.
Fazendo dessa forma, os logs de acessos serão misturados no log principal do Apache, o "/var/log/apache2/access.log". Para que cada site tenha seus logs separados, você deve adicionar duas linhas adicionais, especificando a localização. Não é recomendável deixar os logs disponíveis ao público, por isso seria interessante usar diretórios diferentes, como em:
<VirtualHost *:80>
ServerAdmin joao@joao.com.br
ServerName www.joao.com.br
ServerAlias joao.com.br
DocumentRoot /var/www/joao/html
ErrorLog /var/www/joao/logs/error.log
CustomLog /var/www/joao/logs/access.log combined
</VirtualHost>
Caso queira ativar o suporte a SSL para os virtual hosts, adicione (depois de fazer a configuração que vimos no tópico sobre virtual hosts) a sessão referente ao SSL dentro da configuração de cada site, indicando corretamente a pasta do site e os arquivos de log. O SSL pode ser tanto ativado para o raiz do site, permitindo que os visitantes visualizem qualquer parte do site usando o "https://", ou utilizar uma pasta separada, onde está a parte de comércio eletrônico do site, por exemplo, como em:
<VirtualHost *:443>
DocumentRoot /var/www/joao/ssl
ErrorLog /var/www/joao/logs/error.log
CustomLog /var/www/joao/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
Neste caso ao acessar o "http://joao.com.br" o visitante visualizará o conteúdo da pasta "/var/www/joao/html", enquanto ao acessar o "https://joao.com.br", visualizará a "/var/www/joao/ssl".
Depois de feita a configuração, ative ambos os sites usando o comando a2ensite, o que criará links para eles na pasta "/etc/apache2/sites-enabled":
# a2ensite joao
# a2ensite maria
Você pode adicionar quantos sites quiser usando esses mesmos passos. Sempre que alterar a configuração, é necessário dar um force-reload, para que as alterações entrem em vigor:
# /etc/init.d/apache2 force-reload
Note que, como todos os sites ficam hospedados no mesmo servidor, a única forma de chegar ao site desejado é fazendo o acesso através do domínio. Se você tentar acessar diretamente o IP do servidor, vai cair no site padrão (configurado através do arquivo "/etc/apache2/sites-available/default"), que, por padrão, usa o raiz da pasta "/var/www".
Esta página default pode ser usada para mostrar alguma publicidade da empresa responsável pelo servidor, ou uma lista dos sites hospedados.
sábado, 18 de dezembro de 2010
Alterar teclado Terminal para PT_BR [Linux]
- Certifique-se que os seguintes pacotes estejam instalados:
- language-pack-pt
- language-pack-pt-base
$sudo apt-get install language-pack-pt language-pack-pt-base
- Edite o arquivo /var/lib/locales/supported.d/local e adicione a seguinte linha no início do arquivo (requer sudo / permissão de root):
pt_BR.ISO-8859-1 ISO-8859-1 - Edite o arquivo /etc/locale.alias e adicione a seguinte linha (requer sudo / permissão de root):
pt_BR pt_BR.ISO-8859-1 - Edite o arquivo /etc/environment e altere o parâmetro LANG da seguinte forma (requer sudo / permissão de root):
LANG="pt_BR" - Atualize os locales, com o comando (requer sudo / permissão de root):
$sudo dpkg-reconfigure locales
- Para ativar imediatamente as novas configurações no ambiente gráfico, reinicie o seu X, com a seguinte combinação de teclas:
[Ctrl] + [Alt] + [Backspace] - Abra o arquivo ~.bashrc (no seu home) e adicione a seguinte linha no final do arquivo [NOTA: para mim, este passo não foi necessário]:
source /etc/environment
Copiar arquivos entre servidores via Terminal
SSH mais seguro
Para quem mantém algum servidor exposto à internet com acesso ssh, um
risco comum são as tentativas de acesso por robôs com a finalidade de descobrir
senhas fáceis. Uma maneira de minimizar esse risco é instalar o fail2ban;
esse programa monitora os arquivos de log e bloqueia os endereços IP dos atacantes, caso um determinado número de tentativas sem sucesso tenha sido alcançado.
A instalação, em sistemas baseados no Debian, é simples
# apt-get install fail2ban
Após a instalação, edite o arquivo /etc/fail2ban/jail.conf.
Nele podemos configurar quais serviços o fail2ban vai monitorar.
O que estamos interessados no momento é o SSH.
Altere o número máximo de tentativas na seção [ ssh ].
Você também pode alterar o tempo de banimento através da opção "bantime".
Após a edição do arquivo, reinicie o serviço para que as configurações entrem em vigor.
# /etc/init.d/fail2ban restart
Acompanhe quais IPs foram banidos através do arquivo /var/log/fail2ban.log. Você vai se surpreender com a quantidade de IPs banidos.
risco comum são as tentativas de acesso por robôs com a finalidade de descobrir
senhas fáceis. Uma maneira de minimizar esse risco é instalar o fail2ban;
esse programa monitora os arquivos de log e bloqueia os endereços IP dos atacantes, caso um determinado número de tentativas sem sucesso tenha sido alcançado.
A instalação, em sistemas baseados no Debian, é simples
# apt-get install fail2ban
Após a instalação, edite o arquivo /etc/fail2ban/jail.conf.
Nele podemos configurar quais serviços o fail2ban vai monitorar.
O que estamos interessados no momento é o SSH.
Altere o número máximo de tentativas na seção [ ssh ].
Você também pode alterar o tempo de banimento através da opção "bantime".
Após a edição do arquivo, reinicie o serviço para que as configurações entrem em vigor.
# /etc/init.d/fail2ban restart
Acompanhe quais IPs foram banidos através do arquivo /var/log/fail2ban.log. Você vai se surpreender com a quantidade de IPs banidos.
sexta-feira, 3 de dezembro de 2010
Vídeo Aulas AD, Windows Server 2003 e 2008
Links:
Active Directory 1ª estrela
O que é o active directory?
Active Directory 2ª estrela
Grupo Global
Active Directory 3ª estrela
Estrutura
Active Directory 4ª estrela
Introdução
Active Directory 5ª estrela
Mestre de Operações
Backup e Restore
Gerenciando contas de usuários
GPMC1
GPMC2
Mestre de Operações (Rulles)
Gerenciando replicação entre DC's
Unidade Organizacional
Monitorando replicação
DCPROMO
Níveis funcionais de domínio
Relação Transitiva e Intransitiva
Continua...
Active Directory 1ª estrela
O que é o active directory?
Active Directory 2ª estrela
Grupo Global
Active Directory 3ª estrela
Estrutura
Active Directory 4ª estrela
Introdução
Active Directory 5ª estrela
Mestre de Operações
Backup e Restore
Gerenciando contas de usuários
GPMC1
GPMC2
Mestre de Operações (Rulles)
Gerenciando replicação entre DC's
Unidade Organizacional
Monitorando replicação
DCPROMO
Níveis funcionais de domínio
Relação Transitiva e Intransitiva
Continua...
quinta-feira, 18 de novembro de 2010
segunda-feira, 27 de setembro de 2010
Monitorando servidores com NAGIOS
Nesse tutorial, utilizarei o apt para a instalação dos pacotes no servidor
1) Faça a instalação do NAGIOS3 via apt (apt-get install nagios3)
2) Após efetuar a instalação, baixe o arquivo NSCLIENT++ e salve em arquivos de programas da máquinas WINDOWS que deseja monitorar.
obs.: o nsclient já está com as devidas linhas comentadas do arquivo nsc.ini, nenhum alteração será necessária.
3) Descompacte e acesso a pasta pelo prompt de comandos (Iniciar / Executar / CMD - (cd %programfiles%/nsclient))
4) Execute o comando NSClient++.exe /install, para fazer a instalação do serviço responsável por enviar as informações para o servidor.
5) No servidor, acesse o diretório /etc/nagios3 e edite o arquivo nagios.cfg e acrescente o conteúdo:
cfg_file=/etc/nagios3/objects/servidor.cfg
6) No diretório /etc/nagios3/objects crie o arquivo servidor.cfg e adicione o seguinte conteúdo:
Comando para verificar se o nagios está com erros:
Verificar saída de checagem nagios:
cd /usr/local/nagios/var/
tail -f nagios.log
Bom trabalho!
1) Faça a instalação do NAGIOS3 via apt (apt-get install nagios3)
2) Após efetuar a instalação, baixe o arquivo NSCLIENT++ e salve em arquivos de programas da máquinas WINDOWS que deseja monitorar.
obs.: o nsclient já está com as devidas linhas comentadas do arquivo nsc.ini, nenhum alteração será necessária.
3) Descompacte e acesso a pasta pelo prompt de comandos (Iniciar / Executar / CMD - (cd %programfiles%/nsclient))
4) Execute o comando NSClient++.exe /install, para fazer a instalação do serviço responsável por enviar as informações para o servidor.
5) No servidor, acesse o diretório /etc/nagios3 e edite o arquivo nagios.cfg e acrescente o conteúdo:
cfg_file=/etc/nagios3/objects/servidor.cfg
6) No diretório /etc/nagios3/objects crie o arquivo servidor.cfg e adicione o seguinte conteúdo:
### Definicao do Host ###
define host{
use generic-host
host_name Servidor
alias servidor
address 192.168.1.1
check_command check-host-alive
max_check_attempts 2
check_interval 1
notification_interval 30
notification_period 24x7
notification_options d,u,r
contact_groups admins
}
### PING ###
define service{
host_name servidor
service_description PING
check_command check_ping!5000.0,80%!8000.0,100%
max_check_attempts 2
normal_check_interval 1
retry_check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
define service{
use generic-service ; Name of service template to use
host_name servidor
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of service template to use
host_name servidor
service_description Total Processes
check_command check_procs!250!400
}
Lembre de Alterar para o endereço IP do servidor em ADDRESS!
7) Salve e reinicie o serviço com o comando: /etc/init.d/nagios3 restartComando para verificar se o nagios está com erros:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Verificar saída de checagem nagios:
cd /usr/local/nagios/var/
tail -f nagios.log
Bom trabalho!
domingo, 12 de setembro de 2010
Adicionar usuários no AD usando uma planilha XLS
Obs1.: O Microsoft Office deve estar instalado no servidor
Osb2.: Deve executar com a conta 'administrador' (administrator versão inglês)
1) Primeiramene, faça o download da planilha com o exemplo de formado a ser usado;
Osb2.: Deve executar com a conta 'administrador' (administrator versão inglês)
1) Primeiramene, faça o download da planilha com o exemplo de formado a ser usado;
2) Salve-a no C:\ do seu servidor e altere de acordo com sua necessidade (Deixe o nome do arquivo como está);
3) Copie e cole o script abaixo para um arquivo .txt
' UserSpreadsheet .vbs' Sample VBScript to create User accounts from a spreadsheet' Author Guy Thomas http://computerperformance.co.uk/' Version 4.6 - June 2005' ------------------------------------------------------'Option ExplicitDim objRootLDAP, objContainer, objUser, objShellDim objExcel, objSpread, intRowDim strUser, strOU, strSheetDim strCN, strSam, strFirst, strLast, strPWD
' -------------------------------------------------------------'' Important change OU= and strSheet to reflect your domain' -------------------------------------------------------------'
strOU = "OU=Temp ," ' Note the commastrSheet = "c:\UserSpread1.xls"
' Bind to Active Directory, Users container.Set objRootLDAP = GetObject("LDAP://rootDSE")Set objContainer = GetObject("LDAP://" & strOU & _objRootLDAP.Get("defaultNamingContext"))
' Open the Excel spreadsheetSet objExcel = CreateObject("Excel.Application")Set objSpread = objExcel.Workbooks.Open(strSheet)intRow = 3 'Row 1 often contains headings
' Here is the 'DO...Loop' that cycles through the cells' Note intRow, x must correspond to the column in strSheetDo Until objExcel.Cells(intRow,1).Value = ""strSam = Trim(objExcel.Cells(intRow, 1).Value)strCN = Trim(objExcel.Cells(intRow, 2).Value)strFirst = Trim(objExcel.Cells(intRow, 3).Value)strLast = Trim(objExcel.Cells(intRow, 4).Value)strPWD = Trim(objExcel.Cells(intRow, 5).Value)
' Build the actual User from data in strSheet.Set objUser = objContainer.Create("User", "cn=" & strCN)objUser.sAMAccountName = strSamobjUser.givenName = strFirstobjUser.sn = strLastobjUser.SetInfo
' Separate section to enable account with its passwordobjUser.userAccountControl = 512objUser.pwdLastSet = 0objUser.SetPassword strPWDobjUser.SetInfo
'On Error GoTo TrataErroOn Error Resume Next
intRow = intRow + 1LoopobjExcel.Quit
WScript.Quit
4) Altere a OU de destino para onde o Script vai salvar os novos usuários (No script);
5) Feche o .txt, salve com o nome 'UserSpreadsheet.vbs';
6) Execute e veja o resultado!
quarta-feira, 8 de setembro de 2010
segunda-feira, 6 de setembro de 2010
Assinar:
Postagens (Atom)