anúncios

sábado, 29 de setembro de 2018

Configurando Vhost do Apache no CentOS

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada. Assim é possível ter vários domínios ou subdomínios no mesmo servidor.
O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Apache no RHEL/CentOS, mas também funciona em distros derivadas do RHEL/CentOS, como o Fedora por exemplo.

Configuração do Vhost

Considerando que já tenha o ambiente com Apache, PHP e os módulos PHP necessários já instalado, caso ainda não tenha, então segue o howto de configuração do ambiente PHP 7 no Linux (CentOS/Fedora) .

Caso já tenha o ambiente PHP 7 no CentOS/Fedora, então segue os procedimentos abaixo:
Primeiro é necessário adicionar a linha seguinte no final do arquivo /etc/httpd/conf/httpd.conf
# vim /etc/httpd/conf/httpd.conf
IncludeOptional sites-enabled/*.conf

No CentOS/Fedora é necessário criar os diretórios sites-enabled e sites-available, pois esses diretórios são fundamentais dos arquivos Vhosts.

# mkdir /etc/httpd/sites-available
# mkdir /etc/httpd/sites-enabled

O nome app.conf coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.

# vim /etc/httpd/sites-available/app.conf

Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.


< VirtualHost *:80>
ServerName app.local
DocumentRoot "/var/www/html/app/public"
ErrorLog ${APACHE_LOG_DIR}/app.error.log
CustomLog ${APACHE_LOG_DIR}/app.access.log combined
  < Directory "/var/www/html/app/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  < /Directory>
< /VirtualHost>

Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Habilitar o Vhost app.conf

# ln -s /etc/httpd/sites-available/app.conf /etc/httpd/sites-enabled/app.conf

Reiniciar o Apache2


# systemctl restart httpd.service

Liberação do serviço HTTP no Firewalld

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload


Adicionar o nome definido no ServerName do Vhost no arquivo hosts

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.

# vim /etc/hosts
IPSERVIDOR    app.local

Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost e troque o ServerName, DocumentRoot e Directory para o Vhost corresponde, habilita o novo Vhost, reiniciar o Apache e adicione no arquivo hosts.

Feito!

domingo, 23 de setembro de 2018

Configurando Vhost do Apache no Debian

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada.
Assim é possível ter vários domínios ou subdomínios no mesmo servidor.
O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Apache no Debian, mas também funciona em distros derivadas do Debian, como o Ubuntu por exemplo.

Configuração do Vhost

Considerando que já tenha o ambiente com Apache, PHP e os módulos PHP necessários já instalado, caso ainda não tenha, então segue o howto de configuração do ambiente PHP 7 no Linux (Debian/Ubuntu) .

Caso já tenha o ambiente PHP 7 no Debian/Ubuntu, então segue os procedimentos abaixo:
O Apache tem um arquivo de configuração de Vhost de exemplo, então pode fazer uma cópia deste arquivo para cada Vhost que for criar, depois alterar o ServerName, DocumentRoot e Directory para o Vhost correspondente.

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/app.conf
O nome app.conf coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.

# vim /etc/apache2/sites-available/app.conf
Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.
< VirtualHost *:80 >
ServerName app.local
DocumentRoot "/var/www/html/app/public"
ErrorLog ${APACHE_LOG_DIR}/app.error.log
CustomLog ${APACHE_LOG_DIR}/app.access.log combined
< Directory "/var/www/html/app/public" >
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
< /Directory >
< /VirtualHost >
Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Habilitar o Vhost app.conf
# a2ensite app.conf

Reload do Apache2
# systemctl reload apache2

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.
Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.
Adicionar no arquivo hosts
IPSERVIDOR    app.local 
Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost criado anteriormente e troque o ServerName, DocumentRoot e Directory para o Vhost corresponde, habilita o novo Vhost, reload no Apache e adicione no arquivo hosts.

Feito!

sábado, 8 de setembro de 2018

Configurando Webmail RainLoop

O que é RainLoop Webmail?

RainLoop Webmail é um moderno cliente de e-mail que pode instalar em um servidor próprio e permite adicionar os domínios permitidos na respectiva conta do e-mail correspondente.
Possui suporte aos protocolos IMAP e SMTP, incluindo SSL e STARTTLS.
Integração com Facebook, Google, Twitter e Dropbox.

Requerimentos:
Servidores de aplicação web: Apache, Nginx, Lighttp e qualquer outro que tenha suporte a linguagem PHP com a versão mínima 5.4.
PHP extensions: cURL, iconv, json, libxml, dom, openssl, DateTime, PCRE, SPL
Browser: Google Chrome, Firefox, Opera 10+, Safari 3+, Internet Explorer 11 or EDGE RainLoop Webmail foi projetado com o uso eficiente de memória em mente, para que ele funcione bem em servidores web de baixo custo.

Depois de conhecer o RainLoop Webmail e pra que ser serve, podemos seguir os procedimentos de instalação e configuração do RainLoop Webmail em seu servidor GNU/Linux Debian/CentOS/Ubuntu Server.

Procedimentos de instalação e configuração
Considerando que já tenha o Apache+PHP com as extensões do PHP instalados, caso ainda não tenha, segue o howto de instalação do ambiente PHP 7 no Linux
Caso já tenha o ambiente PHP 7 no Debian, então segue os procedimentos abaixo
$ wget -c "https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip"
# mkdir /var/www/html/rainloop
# unzip rainloop-community-latest.zip -d /var/www/html/rainloop
# chown -R www-data:www-data /var/www/html/rainloop

Permissões no /var/www/html/rainloop
# cd /var/www/html/rainloop
# find . -type d -exec chmod 755 {} \;
# find . -type f -exec chmod 644 {} \;


VirtualHost no Apache para o RainLoop Webmail
# vim /etc/apache/sites-available/rainloop.conf
< VirtualHost *:80 >
    ServerAdmin root.saitam@saitam.int
    ServerName webmail.saitam.int
    DocumentRoot "/var/www/html/rainloop"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    < Directory "/var/www/html/rainloop" >
 DirectoryIndex index.php index.html index.htm
 AllowOverride All
 Order allow,deny
 Allow from all
    < /Directory >
< /VirtualHost >
ESC +:wq (salva e sai do editor Vim)
Ativar Vhost RainLoop Webmail
#a2ensite rainloop.conf
Reload do Apache
#systemctl reload apache2

Caso estiver configurando o RainLoop Webmail em um servidor na intranet, então para ser acessível nas máquinas de sua rede deve adicionar o IP do servidor RainLoop Webmail no arquivo hosts com o mesmo nome definido no ServerName.

No Windows o arquivo host o caminho é: C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

No GNU/Linux o caminho do arquivo hosts é: /etc/hosts

O conteúdo do arquivo hosts deve ter a seguinte linha
x.y.z.w webmail.dominio.int
Trocar x.y.z.w pelo respectivo endereço IP do servidor RainLoop Webmail e o webmail.dominio.int pelo mesmo nome definido no ServerName do Vhost.

Acesso ao RainLoop Webmail
Painel de administração do RainLoop Webmail, onde adiciona os domínios do servidor de e-mail e as configurações dos protocolos IMAP e SMTP, incluindo SSL e STARTTLS.
No browser é: http://webmail.dominio.int/?admin OU https://webmail.dominio.com.br/?admin
Por default, o usuário e password administrativo é admin/12345. Obviamente trocar o usuário/password default pelo de sua preferência.

Após adicionar os domínios e configurar os protocolos IMAP e SMTP do servidor de e-mail, pode acessar no browser acesse: http://webmail.dominio.int OU https://webmail.dominio.com.br

Feito!