Configurando Servidor WEB Completo [Apache2 + Postfix/Courier + Bind9 + ISPConfig + Roundcube Webmail]

Depois de muito procurar na Internet e com várias dúvidas, resolvi criar este artigo para sanar dúvidas de muitos iniciantes, ou até mesmo de experientes, no assunto. Trata-se de um manual de instalação e configuração de um Servidor WEB, testado e funcional, desenvolvido por mim para uma empresa.

[ Hits: 195.703 ]

Por: Gabriel Nadai em 05/08/2013


Instalação - I



Instalação do Postfix, Courier, Saslauthd, mysql, phpmyadmin, rkhunter, binutils

Vamos instalar os pacotes necessários para o nosso servidor de correio funcionar. Antes, vamos a uma pequena explicação sobre cada um deles:
  • Postfix :: Software que atua como agente de transporte de e-mails, garante alta performance e é de código aberto.
  • Courier :: É um agente de entregas de correio (MTA), integrado à um servidor SMTP baseado em protocolos abertos como: imap, pop3, ldap, etc.
  • Saslauthd :: Serve para a administração da base de dados do SASL.
  • Mysql :: Servidor de banco de dados.
  • phpmyadmin :: Interface web para gerenciamento do banco de dados.
  • rkhunter :: ferramenta para detecção de rootkits, exploits e backdoors.
  • binutils :: ferramenta de programação e manipulação de código.

Agora que já sabemos o papel de cada pacote, vamos por a mão na massa:

# aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils

No decorrer da instalação, surgiram algumas perguntas, e você deve estar atento e respondê-las da seguinte maneira:
  • Tipo de configuração de correio→ Escolha: Site Internet
  • Sistema de nome de correio→ Verifique se o nome que você definiu em "etc/hosts" apareça. Se sim, tecle: Enter. Se não, preencha com aquele mesmo nome.
  • Nome do administrador MySQL (ou algo do tipo)→ verifique se aparece root. Se sim, só tecle: Enter. Se não, escreva root e dê Enter.
  • Senha do administrador MySQL→ coloque a senha que será utilizada para o Administrador do banco de dados.
  • Criar diretórios baseados em administração WEB? Escolha: Não
  • SSL requer certificado→ Selecione: OK

Agora, vamos a algumas partes críticas, que geram muitos problemas de mau funcionamento externo do seu servidor.

Vamos fazer com que nosso banco de dados MySQL responda a todas as interfaces:

Edite o arquivo:

# nano /etc/mysql/my.cnf

Procure a linha:
bind_address = 127.0.0.1
E a Comente:

#bind_address = 127.0.0.1

Reinicie o MySQL:

# /etc/init.d/mysql restart

Vamos testar para verificar se nosso DB está ouvindo corretamente:

# netstat -tap | grep mysql

A saída deverá ser correspondente há:
root@servidorwebhosting.minidns.net:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 10457/mysqld

Durante a instalação, os certificados SSL do IMAP e POP3 foram criados para o "localhost". Vamos criar agora, novos certificados com os nomes FQDN corretos.

Primeiramente, vamos remover os existentes:

# cd /etc/courier

# rm -f /etc/courier/imapd.pem
# rm -f /etc/courier/pop3d.pem


Vamos agora modificar os arquivos:

# nano /etc/courier/imapd.cnf

Troque a linha:
CN = localhost
Para:

CN = NOME DO SEU FQDN

Ou seja, o nome definido no arquivo "/etc/hosts".

Repita o passo anterior para o arquivo:

# nano /etc/courier/pop3d.cnf

Depois de feito estes passos, vamos gerar os certificados:

# mkimapdcert
# mkpop3dcert


Depois, reiniciamos os serviços:

# invoke-rc.d courier-imap-ssl restart
# invoke-rc.d courier-pop-ssl restart


Instalação do Amavisd-New, SpamAssassin e do Clamav

Vamos adicionar uma pitada de segurança ao nosso servidor, instalando o antivirus Clamav, o filtro de spam.

Execute o comando:

# aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Instalação do Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt

Vamos direto ao assunto, sem complicações, podemos instalar esses pacotes pelo comando:

# aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby

Algumas perguntas apareceram, vamos as respostas:

Reconfigurar automaticamente o Servidor WEB→ Selecione: Apache2
Configurar a base de dados de PHPmyAdmin com dbconfig-comun?→ Selecione: Não

Vamos agora ativar os módulos suexec, rewrite, ssl, include e actions:

# a2enmod suexec rewrite ssl actions include
# a2enmod dav_fs dav auth_digest


Reinicie o Apache:

# invoke-rc.d apache2 restart

Página anterior     Próxima página

Páginas do artigo
   1. Pré-requisitos / Configurações
   2. Instalação - I
   3. Instalação - II
   4. Instalação - III
   5. Finalização
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando e configurando um servidor DNS (Bind)

Qualidade de Serviços para Gateways Linux (QoS)

Instalando o modem NetDragon 56K

#Vivaolinux, agora com canal IRC

Servidor FTP externo no Ubuntu 12.04 - Criação e configuração

  
Comentários
[1] Comentário enviado por danniel-lara em 05/08/2013 - 08:03h

Parabéns pelo artigo , é bom muito bom mesmo

[2] Comentário enviado por linuxware em 05/08/2013 - 09:40h


[1] Comentário enviado por danniel-lara em 05/08/2013 - 08:03h:

Parabéns pelo artigo , é bom muito bom mesmo


Obrigado danniel-lara!

[3] Comentário enviado por valdirviana em 05/08/2013 - 16:09h

Parabéns pelo artigo, sou um pouco iniciante em linux, conseguir executar todo o tutorial sem problemas, muito esclarecedor.

Só uma dúvida não consigo saber o usuario para logar no ISP e no webmail.
Outra dúvida se quiser publicar isso na web como faria?

Att,

Desde já agradeço

[4] Comentário enviado por linuxware em 05/08/2013 - 16:14h

Primeiramente, muito obrigado pelos elogios!!

O Usuário do ISPConfig é: admin , senha:admin

Pra usar o webmail você vai ter que cadastrar um dominio no ISP, criar as entradas de DNS pelo gerenciador de DNS do próprio ISP e criar os usuarios de email.

Não entendi mt bem a última pergunta, você explicar denovo o que quis dizer com "Publicar isso na web ?"

Novamente, obrigado!!

Att,
Gabriel

[5] Comentário enviado por valdirviana em 05/08/2013 - 16:18h

Por exemplo, tenho meu dominio comprado no registro br e esta hospedado no godaddy, queria apontar o web mail do meu hosting (godaddy) para esse servidor, penso que é algo relacionado com dns MX, não sou muito bom disso, em suma é : COLOCAR EM PRODUÇÃO ESTE SERVIDOR PARA USAR EM UM CLIENTE JA TENDO O DOMINIO COMPRADO.

MUITOOOO OBRIGADO

[6] Comentário enviado por linuxware em 05/08/2013 - 16:28h

Entendi.


É isso aí mesmo, você tem que alterar as entradas lá no seu painel na GoDaddy mesmo, porque no registro.br você só pode estar alterando os DNS's.

Você precisa pegar o ip que utilizou na configuração, ir até o gerenciador de entradas dns da godady, alterar o IP que está lá para o seu (: , daí você pode colocar o seu ip aonde quiser lá, tanto nos emails, quanto nas entradas tipo A... ( Mais lembre-se de salvar o ip "padrão" da Godady hein,rs" )


Se você quiser também, pode tá usando um dominio no minidns.net, daí você cria seus proprios DNS ( ex: ns1.servidorhospedagem.minidns.net ), daí trocava lá na registro.br e então tudo passaria a responder direto no seu servidor. Se você tiver IP FIXO fica melhor ainda, daí você cria dois NS lá no minidns.net pra responder pelo seu ip e depois era só alterar as entradas no seu proprio servidor ao invés de ficar alterando no godady.

Espero que tenha esclarecido sua dúvida ^^!

Estou pensando na hipótese de dar "continuidade" a este artigo, desenvolvendo um novo,sobre o ISPConfig, sobre configurações e etc,efim...

Se precisar estamos aí!

Boa sorte! (:



[7] Comentário enviado por valdirviana em 05/08/2013 - 16:30h

Opa, cara foi muito esclarecedor, realmente fico muito agradecido.

Abraços

[8] Comentário enviado por l0g1in em 05/08/2013 - 22:33h

Parabéns muito bom o artigo, por favor desenvolve um novo sobre o ISPConfig, se não for pedir de mais... =D
Abraços [];

[9] Comentário enviado por linuxware em 05/08/2013 - 23:39h

aletrindadee,

Obrigado pelo elogío!

Sobre o novo artigo irei desenvolver sim, pode ficar tranquilo! (:

É que hoje retornaram minhas aulas na faculdade, e ciência da comp. é puxadinho >.< , mais nesse final de semana passo pelo fórum novamente pra estar montando, alias, "Dessecando" o ISPConfig, rs.

Abraços!

[10] Comentário enviado por zendrael em 06/08/2013 - 08:42h

Muito bom seu artigo, agora, só uma dúvida quando editando o /etc/hosts: Como fica se eu tiver um IP dinâmico e usando o NO-IP?

Até +!

[11] Comentário enviado por linuxware em 06/08/2013 - 13:14h

Então, daí é o seguinte...

Você vai ter que ficar trocando o seu ip real no /etc/hosts toda vez qe você desconectar a rede e usar o seu dominio no-ip. Por ex:

182.250.0.4 meudominio.no-ip.com


Outra coisa é sobre as portas, as operadoras bloqueiam as portas utilizadas nesse artigo,para usuários "normais", então você vai ter que alterar as portas de funcionamento dos pacotes instalados.

Em ubuntu/debian você pode fazer isso no arquivo, se não me engano -> nano /etc/services. lá estaram todas as portas usadas no seu sistema.

Eu acho que isso resolve parte do seu problema, vou dar uma olhada mais afundo nisso e estarei te dando uma resposta melhor... mais de qualquer forma arrisque alguns testes e me informe os resultados : )

Obrigado!!

Abraços

[12] Comentário enviado por prviana em 09/11/2013 - 09:53h

Gabriel, bom dia, me tire um duvida, na instalação do mysql, no teste que vc manda fazer me responde dessa maneira;
root@viana:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* OUÇA 27209/mysqld tem algo de errado na configuração mysql?

[13] Comentário enviado por linuxware em 09/11/2013 - 10:08h

Eduardo, bom dia!

Seu servidor mysql está funcionando sim, veja que em

#tcp 0 0 *:mysql *:* LISTEN

ele está ouvindo na porta do mysql... O fato do # ... LISTEN 27209/mysqld ser difrente de LISTEN 10457/mysqld não interfere em nada não , varia de pc para pc mesmo... pode ficar tranquilo!


Abraço!

[14] Comentário enviado por prviana em 09/11/2013 - 10:35h

outra duvida o bind não sofre nenhuma alteração, pois vc manda instala-lo também? Desculpe se estiver atrapalhando, sou apaixonado por linux, porem sou novo no assunto.

[15] Comentário enviado por linuxware em 09/11/2013 - 12:01h

Não não, quando você instala o bind ( gerenciador de dns's ) você não vai ter que criar nada na mão, por isso não é feita nenhuma alteração. Toda configuração de domínios DNS é feita direto pelo painel do ISPConfig :-D ( Via interface Web ) , e no próprio ISPConfig é muito fácil, pois ele tem um assistente que te ajuda, a unica coisa que você vai ter que por é o seu domínio. Boa sorte, qualquer dúvida estou a disposição! Abraço.

[16] Comentário enviado por prviana em 10/11/2013 - 12:53h

gabriel, bom dia, estou fazendo uns teste pelo seu tutorial e deu certo, só os plugins do roundcube queo debian não esta aceitando entalar, dá essa mensagem; Nenhum pacote será instalado, atualizado ou removido.
0 pacotes atualizados, 0 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 0 B de arquivos. Depois do desempacotamento, 0 B serão usados.ai quando abro no navegador o roundcube,dá essa; DATABASE ERROR: CONNECTION FAILED!

Unable to connect to the database!
Please contact your server-administrator.
o que fazer, me ajuda, por favor?

[17] Comentário enviado por prviana em 10/11/2013 - 13:19h

a configurarção do iptables que vc colocou serve para um servidor iptables separado, se não qual seria a conf?

[18] Comentário enviado por linuxware em 10/11/2013 - 20:04h


[16] Comentário enviado por prviana em 10/11/2013 - 12:53h:

gabriel, bom dia, estou fazendo uns teste pelo seu tutorial e deu certo, só os plugins do roundcube queo debian não esta aceitando entalar, dá essa mensagem; Nenhum pacote será instalado, atualizado ou removido.
0 pacotes atualizados, 0 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 0 B de arquivos. Depois do desempacotamento, 0 B serão usados.ai quando abro no navegador o roundcube,dá essa; DATABASE ERROR: CONNECTION FAILED!

Unable to connect to the database!
Please contact your server-administrator.
o que fazer, me ajuda, por favor?


Então Eduardo, creio que as ppa's do debian sejam diferente do ubuntu... Tente baixar o pacote do roundcube pelo site e instala-lo manualmente;
Sugiro um tuto bacana -> http://www.vivaolinux.com.br/artigo/Configurando-o-Roundcube-Webmail

qualquer dúvida estou a disposição!

[19] Comentário enviado por linuxware em 10/11/2013 - 20:07h


[17] Comentário enviado por prviana em 10/11/2013 - 13:19h:

a configurarção do iptables que vc colocou serve para um servidor iptables separado, se não qual seria a conf?



Serve sim, pela pergunta, acho que você está querendo dizer o seguinte:


Infraestrutura local:


COMPUTADOR GATEWAY -> REDE LOCAL -> COMPUTADOR SERVIDOR WEB;

Se for isso, dá certo do mesmo jeito, porém, no servidor Gateway, aonde você tem que colocar esse script ( e também no próprio computador servidor web, para liberar acesso as portas ), terá que acrescentar uma regra de redirecionamento de endereços ip, de modo que todas as requisições na porta :80, :53, :587, :8080, etc... sejam direcionadas para a sua rede interna (ip do servidor web );


Era essa a dúvida?
Att,
Gabriel

[20] Comentário enviado por prviana em 11/11/2013 - 09:54h

Gabriel, esse tutorial é de +, consegui instalar tudo e funcionou só estou tendo dificuldade em configurar o ispconfig, se vc pode me ajudar,
mas desde já tew agradeço por existir, rapaz por sua causa estou dando passos (lentos) no conhecimento linux e quero avançar cada vez mais.
MUITO OBRIGADO.

[21] Comentário enviado por linuxware em 11/11/2013 - 10:08h

Eduardo, obrigado pelos elogios!! Conhecimento é isso aí, partilhar com todos :)
Não sei se vai contra as regras do vol, mais se quiser me add no skype, posso te explicar melhor algumas funcionalidades do ISP
-> gabriel_nadai


Boa sorte e viva o linux! \o/

Att,
Gabriel Nadai

[22] Comentário enviado por prviana em 11/11/2013 - 11:02h

quando faço a busca pelo nome gabriel_nadai, aparece muitas opções, talvez vc fazendo a busca pelo meu seja melhor: eduardo.v.r72

[23] Comentário enviado por prviana em 11/11/2013 - 20:22h

Gabriel, o email que eu criei envia normalmente porem não recebe, fiz um log no mail.log e me deu essa resposta:
Nov 11 19:09:15 Nov 11 19:18:33 viana postfix/cleanup[27545]: 5C08E2680091: message-id=<20131111221833.5C08E2680091@viana.com>
Nov 11 19:18:33 viana postfix/bounce[27555]: 20748268008C: sender non-delivery notification: 5C08E2680091
Nov 11 19:18:33 viana postfix/qmgr[26877]: 5C08E2680091: from=<>, size=2894, nrcpt=1 (queue active)
Nov 11 19:18:33 viana postfix/trivial-rewrite[27547]: warning: do not list domain viana.com in BOTH mydestination and virtual_mailbox_domains
Nov 11 19:18:33 viana postfix/qmgr[26877]: 20748268008C: removed
Nov 11 19:18:33 viana postfix/local[27554]: 5C08E2680091: to=<eduardo@viana.com>, relay=local, delay=0.15, delays=0.08/0/0/0.07, dsn=5.1.1, status=bounced (unknown user: "eduardo")
Nov 11 19:18:33 viana postfix/qmgr[26877]: 5C08E2680091: removed
tem algum problema?


[24] Comentário enviado por luizgr em 27/11/2013 - 13:54h

Primeiramente gostaria de agradecer pelo tutorial, muito bem explicado, ficou excelente!
Tudo deu certo aqui, mas quando cadastro um DNS pelo ISPConfig ele não gera os arquivos corretamente. O arquivo de zone gerado é "pri.dominio.com.br.err" e o arquivo named.conf.local é esvaziado sempre quando cadastro um DNS. Ou seja, na hora de configurar no registro.br ele não tem resposta do servidor.
Já refiz o tutorial 3 vezes e o erro persiste.
Pode me ajudar?

[25] Comentário enviado por cgonzagaskill em 12/12/2013 - 15:59h

Olá!

Muito interessante o seu How to e parabéns... Pois pergunto eu tenho uma conexão banda larga com ip dinâmico o virtual, neste procedimento poderia rolar na minha configuração que não tenho ip Fixo roteado ?

Desde já, Agradeço!

Carlos Gonzaga

[26] Comentário enviado por linuxware em 22/12/2013 - 12:01h


[23] Comentário enviado por prviana em 11/11/2013 - 20:22h:

Gabriel, o email que eu criei envia normalmente porem não recebe, fiz um log no mail.log e me deu essa resposta:
Nov 11 19:09:15 Nov 11 19:18:33 viana postfix/cleanup[27545]: 5C08E2680091: message-id=<20131111221833.5C08E2680091@viana.com>
Nov 11 19:18:33 viana postfix/bounce[27555]: 20748268008C: sender non-delivery notification: 5C08E2680091
Nov 11 19:18:33 viana postfix/qmgr[26877]: 5C08E2680091: from=<>, size=2894, nrcpt=1 (queue active)
Nov 11 19:18:33 viana postfix/trivial-rewrite[27547]: warning: do not list domain viana.com in BOTH mydestination and virtual_mailbox_domains
Nov 11 19:18:33 viana postfix/qmgr[26877]: 20748268008C: removed
Nov 11 19:18:33 viana postfix/local[27554]: 5C08E2680091: to=<eduardo@viana.com>, relay=local, delay=0.15, delays=0.08/0/0/0.07, dsn=5.1.1, status=bounced (unknown user: "eduardo")
Nov 11 19:18:33 viana postfix/qmgr[26877]: 5C08E2680091: removed
tem algum problema?



Eduardo, bom dia!!
Peço perdão pela demora exorbitante, mais não estava com tempo nem para dormir ultimamente rs.
bom, vamos lá!

Pelo que vi nesse log:

1- "warning: do not list viana.com in BOTH mydestination and virtual_mailbox_domains" - Isso aqui ocorre quando você usa um domínio que não é seu ( ou não existe ) ou quando você não configura um domínio de e-mail e uma caixa de entrada no ISPConfig. Ctz que viana.com é seu? Pois um servidor web só trabalha com domínios reais, ou seja, comprados em alguma registrar, por ex: Locaweb, Registro.br, etc..

2- to=<eduardo@viana.com>, relay=local, delay=0.15, delays=0.08/0/0/0.07, dsn=5.1.1, status=bounced (unknown user: "eduardo") - relay = local? Vc leu certinho a parte de mynetworks...? Dá uma olhada denovo pra ver se está em All e algumas linhas mais acima, veja se no seu arquivo tem algo como, relay = "Aqui está em branco", caso tenha algo ali, retire tudo e deixei assim relay =

3 - Se mesmo assim continuar com os problemas, teremos que tentar mudar a porta de saída, ou então, tenta configurar uma conta no outlook, pra ver se dá a mesma coisa ( O outlook usa saída autenticada, nas portas 995 e smtp - 587 );

Abraço!!
Aguardo return 0 :D

[27] Comentário enviado por linuxware em 22/12/2013 - 12:07h


[24] Comentário enviado por luizgr em 27/11/2013 - 13:54h:

Primeiramente gostaria de agradecer pelo tutorial, muito bem explicado, ficou excelente!
Tudo deu certo aqui, mas quando cadastro um DNS pelo ISPConfig ele não gera os arquivos corretamente. O arquivo de zone gerado é "pri.dominio.com.br.err" e o arquivo named.conf.local é esvaziado sempre quando cadastro um DNS. Ou seja, na hora de configurar no registro.br ele não tem resposta do servidor.
Já refiz o tutorial 3 vezes e o erro persiste.
Pode me ajudar?


Luizgr, bom dia!! Peço perdão pela demora também!!

Rapaz, esse erro é estranho :S, vc pode postar esses arquivos de zone e o named.conf.local pra gente? e se possível dar um ls -laF pra poder ver as permissões nos dois arquivos...

Porque eu tenho um domínio no registro.br (gamescorp.com.br) e ele responde normalmente pelo meu servidor ( que foi a "inspiração" ) deste tuto.

Aguardo os posts,
Att
Gabriel

[28] Comentário enviado por linuxware em 22/12/2013 - 12:10h


[25] Comentário enviado por cgonzagaskill em 12/12/2013 - 15:59h:

Olá!

Muito interessante o seu How to e parabéns... Pois pergunto eu tenho uma conexão banda larga com ip dinâmico o virtual, neste procedimento poderia rolar na minha configuração que não tenho ip Fixo roteado ?

Desde já, Agradeço!

Carlos Gonzaga


Carlos, bom dia!!
Perdão pela demora, também!!

Dá sim, se vc usar um roteador depois do modem da sua internet, vc pode configura-lo para obter um endereço fixo ( por exemplo, 182.156.0.1 e dai vc pega as configurações do seu provedor, como, gateway, servidor dns, etc.. ) só que a porta padrão da web ( 80 ) e as de saída de e-mail e tals, teria que ser mudadas no servidor, porque a internet "convencional" bloqueia essas portas para o cliente... Ou caso contrario, vc tbm poderia comprar um serviço de DDNS ( Dynamic dns ), que cairia como uma luva tbm =D

Att,
Gabriel

[29] Comentário enviado por herculeslira em 05/01/2014 - 14:55h

Parabéns pelo tutorial. Muito bom!!! Mesmo eu não entendendo muito de linux consegui concluir a instalação seguindo o tutorial. Valeu pela iniciativa.

[30] Comentário enviado por thiagonmat em 07/01/2014 - 15:07h

Mano seu tuto esta ótimo!!!!
Muito obrigado mesmo
Porém estou com algumas dificuldades aqui, na real é apenas uma e uma duvida rsrs
Então coloquei o meu ip certinho e o gatway tbm tudo funcionou de boa, porém minha conexão com a internet foi pro saco, tipo qq maquina da minha rede acessa a net exceto esta, ai mudei o ip pro padrão e a net voltou porem a isp parou de funfar.
Aqui eu uso modem da vivo pode ser isso?
e a duvida é que meu dominio ao inves de estar como nome qu eeu criei esta como nome do seu server (servidorwebhosting.minidns.net) sendo que eu não coloquei esta nome el lugar nenhum.
Mano vc pode me ajudar com isto?
abraços





Ps. só mais uma perguntinha, como eu configuro o miniupdate? é aquela ferramenta que tem no site do minidns.net

[31] Comentário enviado por prviana em 24/01/2014 - 20:21h

Gabriel, boa noite segui o tutorial e aparentemente deu tudo certo, porem quando acesso o roundcubedá esse erro:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache/2.2.22 (Debian) Server at iurdmt.com Port 80

[32] Comentário enviado por prviana em 26/01/2014 - 10:33h

bom dia gabriel, fui no log do apache e me retornou esse erro:
root@iurdmt:/home/dti# tail -f /var/log/apache2/error.log
[Sun Jan 26 09:27:01 2014] [notice] Digest: done
[Sun Jan 26 09:27:01 2014] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 26 09:27:01 2014] [notice] Apache/2.2.22 (Debian) DAV/2 mod_fcgid/2.3.6 PHP/5.4.4-14+deb7u7 mod_ruby/1.2.6 Ruby/1.8.7(2012-02-08) mod_ssl/2.2.22 OpenSSL/1.0.1e configured -- resuming normal operations
[Sun Jan 26 09:27:01 2014] [warn] long lost child came home! (pid 5217)
[Sun Jan 26 09:27:11 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:11 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php


[33] Comentário enviado por linuxware em 01/02/2014 - 12:44h


[32] Comentário enviado por prviana em 26/01/2014 - 10:33h:

bom dia gabriel, fui no log do apache e me retornou esse erro:
root@iurdmt:/home/dti# tail -f /var/log/apache2/error.log
[Sun Jan 26 09:27:01 2014] [notice] Digest: done
[Sun Jan 26 09:27:01 2014] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Jan 26 09:27:01 2014] [notice] Apache/2.2.22 (Debian) DAV/2 mod_fcgid/2.3.6 PHP/5.4.4-14+deb7u7 mod_ruby/1.2.6 Ruby/1.8.7(2012-02-08) mod_ssl/2.2.22 OpenSSL/1.0.1e configured -- resuming normal operations
[Sun Jan 26 09:27:01 2014] [warn] long lost child came home! (pid 5217)
[Sun Jan 26 09:27:11 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:11 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www"
[Sun Jan 26 09:27:13 2014] [error] [client 192.168.0.200] Premature end of script headers: index.php



Eduardo, bom dia!

Desculpe-me pela demora, mais este erro é tradicional rs...

"Premature end of script headers:index.php"

E o erro anterior "Internal Server Error" tbm se refere à erros nessa parte do tuto:

http://www.vivaolinux.com.br/artigo/Configurando-Servidor-WEB-Completo-Apache2-PostfixCourier-Bind9-...

Na parte da instalação do roundcube, verifica se o arquivo

/etc/apache2/conf.d/roundcube

tem as partes :

# ESSAS LINHAS SÃO EXTREMENTE IMPORTANTES!!!!
Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube

# Access to tinymce files
<Directory "/usr/share/tinymce/www/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>


##### O ERRO ACONTECE PORQUE ESSA PARTE , OU NAO ESTA PRESENTE NO SEU ARQUIVO, OU ESTA ERRADA... ###########
<Directory /var/lib/roundcube/>
Options +FollowSymLinks
DirectoryIndex index.php

<IfModule mod_php5.c>
AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off

</IfModule>

# This is needed to parse /var/lib/roundcube/.htaccess. See its
# content before setting AllowOverride to None.
AllowOverride All
order allow,deny
allow from all
</Directory>

Usa o gedit, ele destaca a sintaxe e facilita pra vc :D

Qualquer coisa estamos a disposição! Abraço!!

[34] Comentário enviado por linuxware em 01/02/2014 - 12:50h


[30] Comentário enviado por thiagonmat em 07/01/2014 - 15:07h:

Mano seu tuto esta ótimo!!!!
Muito obrigado mesmo
Porém estou com algumas dificuldades aqui, na real é apenas uma e uma duvida rsrs
Então coloquei o meu ip certinho e o gatway tbm tudo funcionou de boa, porém minha conexão com a internet foi pro saco, tipo qq maquina da minha rede acessa a net exceto esta, ai mudei o ip pro padrão e a net voltou porem a isp parou de funfar.
Aqui eu uso modem da vivo pode ser isso?
e a duvida é que meu dominio ao inves de estar como nome qu eeu criei esta como nome do seu server (servidorwebhosting.minidns.net) sendo que eu não coloquei esta nome el lugar nenhum.
Mano vc pode me ajudar com isto?
abraços





Ps. só mais uma perguntinha, como eu configuro o miniupdate? é aquela ferramenta que tem no site do minidns.net


Senão me engano no próprio site tem um how to deles :D, mais se for parecido com os outros DDNS, vc baixa um scriptzinho deles e poe pra rodar auto, dai ele faz o resto pra você... Senão

Em relação ao seu problema anterior:

Você colocou as netmask e dns-namservers certinho, de acordo com a sua rede?? Se omitir eles dá pau kkkk, quando vc diz "ip padrao" seria voltar a placa pra dhcp? Vc tem que pegar todas suas cfgs da vivo certinho pra botar aí no seu servidor. Pode deixar que ele mesmo autentique ( o modem ) mais pegar as informações certinhas de rede dele...

Agora, certeza mesmo que não usou servidorwebhosting.minidns.net em nenhum lugar mesmo??? nem na instalação do S.O nem nada? kkkk Isso parece feitiçaria! rsrs, brincadeiras à parte, verifica o hostname seu e posta suas configurações aqui, caso continue issso.

Abraço, e desculpe pela demora rsrs




[35] Comentário enviado por srmm em 02/02/2014 - 21:10h

Ola, boa noite, bom artigo li tuo antes de fazer mais quero tirar umas duvidas!, Tenho um dominio no NO-IP minha internet é PPPOE uso roteador e modem, agora quero que esse dominio que eu tenho seja uma pagina em HTML que eu tenho aqui pra hospedar, com tudo isso que você fez explicando e tudo sera que eu consigo hospedar sou novo em linux fixo com essa pulga atas da orelha. Sera que depois desse artigo seu e consiguirei hospedar minha html... Se for hospedar tem como me ensinar a hospedar meus arquivos.....

[36] Comentário enviado por lucasparker10 em 07/03/2014 - 11:27h

Parabéns pelo artigo!! Bom, fiz tudo e aparentemente foi tudo certo, mas quando coloco lá o "IPDOSERVER/webmail" sempre me aparece a página com "Internal Server Error" já li reli tudo o que fiz comparei aqui e não achei erros... Sou iniciante no linux e sei pouca coisa ainda se puder ajudar agradeço XD

[37] Comentário enviado por carllosmelo1981 em 21/03/2014 - 17:16h

Boa tarde!

Obrigado por compartilhar este grande tutorial, sou novo no Linux, e preciso instalar um servidor WEB para trabalho na faculdade e estas configurações vai me ajudar e muito kkkk!

Tenho algumas dúvidas;

Eu não vou usar dominio registrado na registro.br
Há possibilidade de criar um dominio provisório que seja visivél via web?
Utilizo roteador, conexão PPOE Vivo Fibra, se eu fazer as configurações com o ip local 192.xxx.xx.xxx, e atrelar o MAC do servidor Web no Roteador para receber o ip 192.XXX.XXX.XXX, e abrir as portas alternativas de navegação e email irá rodar para o mesmo ip, isto sera funcional?

Fico no aguardo!

Obrigado!

[38] Comentário enviado por linuxware em 18/04/2014 - 21:28h


[37] Comentário enviado por carllosmelo1981 em 21/03/2014 - 17:16h:

Boa tarde!

Obrigado por compartilhar este grande tutorial, sou novo no Linux, e preciso instalar um servidor WEB para trabalho na faculdade e estas configurações vai me ajudar e muito kkkk!

Tenho algumas dúvidas;

Eu não vou usar dominio registrado na registro.br
Há possibilidade de criar um dominio provisório que seja visivél via web?
Utilizo roteador, conexão PPOE Vivo Fibra, se eu fazer as configurações com o ip local 192.xxx.xx.xxx, e atrelar o MAC do servidor Web no Roteador para receber o ip 192.XXX.XXX.XXX, e abrir as portas alternativas de navegação e email irá rodar para o mesmo ip, isto sera funcional?

Fico no aguardo!

Obrigado!


carllosmelo1981, desculpe pela demora ao responder!

Então, vamos por partes:

1- Você não pode criar um domínio "provisório". Esse é o papel das "registrars", pois têm de haver autorização ICANN, um monte de burocracia e tal. O que vc pode fazer, senão estiver afim de gastar uma grana, é usar aqueles subdomínios gratuitos, para testes é muito bom. Pelo tutorial eu indiquei o minidns.net, vc pode personalizar sua URL e agregar um IP, mais não mais que isso.

2- Verifique se sua internet não bloqueia as portas :80, :110, :3306, :995, :587, :443, que são as utilizadas nesse how-to. Quando vc trabalhar com roteador, vc pode sim fazer como se referiu, adicionar um ip "fixo" (internamente pelo roteador, igual o seu exemplo 192.XXX.XXX...). Entretando, vc vai ter que fazer algumas coisas, como:
-> Criar uma rota de redirecionamento do seu ip da VIVO para apontar para seu ip do servidor WEB, o que dependendo do router, pode ser feito diretamente por ele.
Eu recomendaria, substituir seu roteador, por outra máquina Linux, mesmo sendo "fraquinha", porque?
Bem, assim vc pode configurar na mão os redirecionamentos via iptable ( usando NAT ), sendo a origem o ip REAL da VIVO, apontando para o ip INTERNO na porta X, entende? Vc pode usar 2 placas de rede neste servidor "gateway", fica mais fácil pra controlar o fluxo das informacoes.
Ficando assim, por exemplo:
eth0 -> Rede ( pega a internet da vivo)
eth1 -> rede local ( distribui o sinal da vivo para sua rede interna)

Desta mesma maneira que descrevi à você acima, é funcional, consegui usar o servidor de emails, web, dns, etc.. tranquilamente. Porém, não se assuste, internamente seu servidor de e-mails não irá funcionar usando seu ip REAL, mais sim o LOCAL ( 192.... ).

Outro ponto importante à destacar é que, as internet's "convencionais", como vc já deve saber, trocam seu ip há cada nova conexão, então certifique-se de que, ao desligar seu servidor ou a net cair, entrar no painel do seu domínio escolhido ( os famosos ddns) e atualizar o ip atual do seu servidor.

Abraço, Happy Hacking!




[39] Comentário enviado por linuxware em 18/04/2014 - 21:33h


[36] Comentário enviado por lucasparker10 em 07/03/2014 - 11:27h:

Parabéns pelo artigo!! Bom, fiz tudo e aparentemente foi tudo certo, mas quando coloco lá o "IPDOSERVER/webmail" sempre me aparece a página com "Internal Server Error" já li reli tudo o que fiz comparei aqui e não achei erros... Sou iniciante no linux e sei pouca coisa ainda se puder ajudar agradeço XD


Rapaz, desculpe pela demora!

Mais infelizmente, não tenho uma noticia boa há você. Esse problema geralmente é porque vc se esqueceu e/ou escreveu de forma errada alguma coisa em # /etc/apache2/conf.d/roundcube . Atente novamente aos detalhes, se quiser dê um ctrl+c e um shift+ctrl+v no "nano".

Abraço! Happy hacking!

[40] Comentário enviado por aluasena em 30/04/2014 - 10:49h

Estou impressionado com a qualidade desse artigo Linuxware e por você ser bem atencioso nos detalhes, parabéns pelo artigo e espero ver mais artigos com um conteúdo tão rico como o seu.

Tenho uma dúvida que parece até ter sido abordada, mas se você puder me ajudar. Eu criei um dominio no godaddy, mas eu quero criar esse servidor em minha rede domestica que tenho como provedor a netvirtua, mas sei que precisarei de um Host para ter um funcionamento do dns para meu ip do servidor, a pergunta: Teria como eu configurar um IP fixo no meu servidor (maquina virtual), por exempo 187.16.109.99 e fazer com que ele possa ser enxergado fora e usado como host no godady? Se eu estiver perguntando besteira, me corrija hehe.

Abrç e Deus o abençoe.

[41] Comentário enviado por edson7mendes em 30/04/2014 - 13:45h


Mostra o seguinte erro quando faço login no roundcube

SERVICE CURRENTLY NOT AVAILABLE! Error No. [500]

No log aparece isso

/var/log/roundcube/errors

[30-Apr-2014 11:50:40 -0300]: PHP Error: Could not perform encryption; make sure Mcrypt is installed or lib/des.inc is available in /usr/share/roundcube/program/lib/Roundcube/rcube.php on line 752$

Alguma sugestão?

[42] Comentário enviado por rochaacs40 em 27/05/2014 - 10:18h

Bom dia Gabriel Nadai!
Desculpe incomodar com esse assunto ainda, mas eu fiz toda a configuração o isp está funcionando perfeitamente, mas quando tento entrar no roundcube a mensagem que vem é essa (Not Found, The requested URL /webmail was not found on this server. Apache/2.2.16 (Debian) Server at 127.0.0.1 Port 80). O que devo estar fazendo de errado?
Agradeço qualquer ajuda.

[43] Comentário enviado por Marcos20 em 03/07/2014 - 16:42h

Olá, parabéns pelo artigo muito esclarecedor!

Minha dúvida é o seguinte: utilizo um cloud (vm da locaweb) e acredito que não vou precisar do bind certo? pois eu configuro os domínios pelo painel de controle deles isso?

Outra dúvida ainda mais importante: Eu vou conseguir configurar dois domínios para usar o webmail? Ex: tem o domínio a.com.br e b.com.br ai existem dois e-mails com mesmo nome de usuário: usuario@a.com.br e usuario@b.com.br eu consigo fazer isto utilizando o mesmo servidor?

Para o caso de ter mais de um domínio apontando para o servidor o hostname seria apenas o ip fixo externo e o nome do computador mas não o nome do domínio? ou para cada domínio eu coloco o mesmo ip externo exemplo:

177.87.87.100 a.com.br
177.87.87.100 b.com.br

Agradeço se puder esclarecer pois a tempos estudo sobre este assunto mas até agora o mais completo que achei foi o seu artigo...

[44] Comentário enviado por serra_h em 24/07/2014 - 12:44h

Parabéns pelo tutorial que me ajudou muito.

Só um problema: quando tento acessar por um cliente ftp com o ftp.dominio.com não consigo, mas em rede local consigo colocando o ip da rede local e não com o ip real.

nem pela rede consigo acessar o ftp.dominio.com só com o ip 192.168.x.x

como resolvou?

Uso um roteador,

consigo acessar o site pelo endereço cadastrado no ispconfig tudo certo. Só tenho esse problema de não acessar o ftp externo e pelo endereço correto! Preciso de sua ajuda.

[45] Comentário enviado por lucasdcsp em 27/08/2014 - 10:51h

Bom dia, Gabriel.
Estou com dúvidas após a instalação do roudCube:
Posso substituir tudo que tem no arquivo nano /etc/apache2/conf.d/roundcube limpando tudo e colando somente o que você informou no passo a passo?


No aguardo.

Obrigado.

[46] Comentário enviado por lucasdcsp em 27/08/2014 - 11:56h

Gabriel, outro detalhe.

Não consigo salvar no registrobr o master e o slave1 com o mesmo endereço.
meu master ficou nexter.multisolucoes.inf.br
agora o slave nao sei pq vc nao citou no tutorial.

Onde posso encontrar?

Obrigado.

[47] Comentário enviado por henriquefp em 21/11/2014 - 10:31h

Bom dia Gabriel;

Poderia me ajudar nesse parte:

Quando mando restartar fail2ban tenho o seguinte erro:

* Restarting authentication failure monitor fail2ban
WARNING 'ignoreregex' not defined in 'Definition'. Using default one: ''
ERROR Found no accessible config files for 'filter.d/courierpop3' under /etc/fail2ban
ERROR Unable to read the filter
ERROR Errors in jail 'courierpop3'. Skipping...


[48] Comentário enviado por henriquefp em 21/11/2014 - 11:02h

Outro detalhe após a instalação do RoundCube

temos que modificar o arquivo: /etc/apache2/conf.d/roundcube

Mas nem a pasta conf.d e nem este arquivo existem, como proceder?

[49] Comentário enviado por invurtado em 03/12/2014 - 14:05h

Cara, instalo tudo certinho, mas não consigo logar no roundcube, na verdade não faço ideia de qual seja o usuário e senha dele, pode me dar uma dica?
mas desde já, seu tuto está perfeito, muito bom mesmo, obrigado cara.

[50] Comentário enviado por danillomoura em 21/12/2014 - 16:21h

Muito bom o artigo, muito bom mesmo! Parabéns!!

Completei todos os passos do artigo mesmo tendo deixado para trás o "erro"
"
Forbidden
You don't have permission to access /webmail on this server.
Apache/2.4.10 (Ubuntu) Server at 192.168.1.128 Port 80
"
Quando tento acessar http://localhost/webmail...

Alguém passou pelo mesmo problema?
Deve ser alguma permissão em algum arquivo, mas qual seria?

Dando um tail em error.log do apache, ele diz que foi negado pela configuração do servidor /var/lib/roundcube.

Alguma luz?
Valeu!!

[51] Comentário enviado por wellingt86 em 21/01/2015 - 09:08h


Bom dia amigo,

Segui o seu tutorial a risca só que estou tendo um certo problema.
O ISPConfig e o Roundcube funciona perfeitamente, mas quando tento acessa o roundcube pelo endereço:
http://IPDOSERVER/webmail não acessa !!

Então imaginei que o roundcube estive dentro do ipsconfig e tentei acessar pelo link http://IPDOSERVER:8080/webmail e caiu na tela de autenticação do roundcube, entao comecei a briga para muda isso para mail.exemplo.com, mas nao tive sucesso até agora..

Criei o virtualhost no apache e tudo, mas não consigo fazer meu roundcube ficar acessivel pelo link mail.exemplo.com e muito menos por mail.exemplo.com/webmail.
Ele so funciona pelo link mail.exemplo.com:8080/webmail.

Será que pode me ajudar ??

[52] Comentário enviado por removido em 20/03/2015 - 17:21h

Olá linuxware e internautas....

Eu não consegui passar desta parte que da erro, da pagina 3:

root@hsj1:/# mount -o remount /
mount: permission denied

Estou utilizando Ubuntu 12.04 64bit, Como prosseguir? Como ganhar permissão pra dar o comando e continuar com o tutorial? Lembrando que estou logado no root.

[53] Comentário enviado por hackmbh em 23/10/2015 - 17:35h


linuxware,

Excelente artigo. Tava pesquisando igual por algo parecido. Esclareceu bastante coisa. miniDNS.net, nossa não conhecia. Gostei do serviço. Parabéns! Tenho algumas dúvidas quanto a possibilidades para minha necessidade.

Tenho um server ubuntu 14.04, quero fazer dele uma espécie de servidor para streamming de áudio e vídeo. É o Big Blue Button. Ele não pode rodar no mesmo servidor com Apache, porque uma das depedências utiliza a porta 80. Então, ele utiliza o nginx é um requisito.

Gostaria de saber se é possível fazer o que você nesse artigo com o Nginx. É possível?

Minha intenção é fazer a conexão extenar com o server. O servidor já está funcionando na rede interna. Quando digito o IP do server ele acessa a página de boas vindas do Big Blue Button, mas como eu faria para quando um aluno digitar, por exemplo o IP Fixo da GVT (ip real) e cair na tela de boas vindas?

[54] Comentário enviado por soulfx em 11/12/2015 - 17:37h

Cara, até criei uma conta aqui apenas para comentar seu artigo. Parabéns aew ;)

[55] Comentário enviado por fvmoraes em 14/01/2016 - 18:13h

Muito bom o tutorial, mas lembre de uma coisa; dependendo da distro na hora da mudança do hostname precisa mandar reiniciar a maquina para ele associar o novo hostname. Para evitar isso use;
# echo new.host.br > /proc/sys/kernel/hostname

[56] Comentário enviado por linuxware em 04/02/2016 - 16:27h


[55] Comentário enviado por F_Vinicius em 14/01/2016 - 18:13h

Muito bom o tutorial, mas lembre de uma coisa; dependendo da distro na hora da mudança do hostname precisa mandar reiniciar a maquina para ele associar o novo hostname. Para evitar isso use;
# echo new.host.br &gt; /proc/sys/kernel/hostname


Bem lembrado amigo! Obrigado pela dica!

[57] Comentário enviado por linuxware em 04/02/2016 - 16:28h


[54] Comentário enviado por soulfx em 11/12/2015 - 17:37h

Cara, até criei uma conta aqui apenas para comentar seu artigo. Parabéns aew ;)


Obrigado caro amigo! Adicione-me no skype gabriel_nadai, assim podemos conversar e trocar ideias! Abraços!

[58] Comentário enviado por santosrh3080 em 31/10/2016 - 15:43h

Boa tarde e parabens pelo tutorial..excelente qualidade !
Instalei o ispconfig , configurei os dns e servidor de email normalmente.
Acesso uma conta pelo Squirremail e mando email normalmente e o mesmo chega. Envio dele pra ele mesmo e chega tambem
Acabei de mandar de uma conta exter ( gmail ) chegou normalmente.
Agora o problema : Tenho uma aplicacao web que usa essa conta para enviar emails aos usuarios quando solicitam troca de senha , manda logs de erro e outras coisas....Segue um trecho do mail.log , onde o mesmo mostra que o erro poder ser TLS ou SSL
A aplicacao ta configurada com email e senha de uma conta resgistrada no ispconfig.

SSL_accept error from unknown[10.0.0.8]: Connection timed out
Oct 31 14:10:15 ispconfig postfix/smtps/smtpd[18786]: lost connection after CONNECT from unknown[10.0.0.8]
Oct 31 14:10:15 ispconfig postfix/smtps/smtpd[18786]: disconnect from unknown[10.0.0.8]
Oct 31 14:11:45 ispconfig dovecot: imap-login: Login: user=<system@meudominio.com.br


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts