Redirecionamento para contas

1. Redirecionamento para contas

Juliano Colere Ceccon Moreira
JulianoCCM

(usa Manjaro Linux)

Enviado em 15/12/2021 - 16:25h

Olá! Tudo bem?
Eu tenho um servidor VPS hospedado na Hostgator. Ele tem 4 contas, onde cada conta tem seu domínio próprio.
Mas duas contas irão rodar serviços, um na porta 3000 outro na 3004. O serviço da porta 3000 é do dominio1, já o da porta 3004 é do dominio2.
Precisava saber como faço para que as requisições da porta 3000 fiquem abertas e redirecionem para o dominio1, e o mesmo para a porta 3004 - porém com o dominio2.
Como faço isso? Alguém sabe o que devo pesquisar? Esse é meu primeiro contato com apache.


  


2. Re:

Rafael Grether
rafael_grether

(usa FreeBSD)

Enviado em 15/12/2021 - 18:50h

Olá,

Não tem problema. Você se refere ao Apache httpd Server né?
Voce vai ter dois vhosts, um pra cada domínio, e cada um apontando para o seu DocumentRoot específico.
Por padrão o Apache escuta na porta 80.
No unix padrão você vai ter no httpd.conf a diretiva "Listen 80"
Voce vai alterar para Listen 3000
E adicionar outra linha como "Listen 3004"

E quando voce for construir os seus arquivos .conf para cada vhost (gosto de fazer um para cada vhost, mas voce pode fazer tudo num único arquivo), voce informa a porta em que cada um vai escutar.
Ex:

dominio1.conf:

<VirtualHost *:3000>
DocumentRoot /var/www/dominio1
ServerName www.dominio1.com
</VirtualHost>

dominio2.conf:

<VirtualHost *:3004>
DocumentRoot /var/www/dominio2
ServerName www.dominio2.com
</VirtualHost>



3. Re: Redirecionamento para contas

Juliano Colere Ceccon Moreira
JulianoCCM

(usa Manjaro Linux)

Enviado em 15/12/2021 - 20:37h

MUIIIITO OBRIGADO!
Eu li tanta coisa complexa na internete, e você foi um facilitador! Muito obirgado!


4. Re: Redirecionamento para contas

Juliano Colere Ceccon Moreira
JulianoCCM

(usa Manjaro Linux)

Enviado em 16/12/2021 - 10:02h

Olá novamente! Eu estou tentando implementar o arquivo de configuração.
Eu estou fazendo pelo WHM, lá tem duas opções: pre_virtualhost.conf e post_virtualhost.conf.
Eu implementei o seguinte arquivo de configuração (no post):


Listen 3000
Listen 3004

#Site1
<VirtualHost *:3000>
ServerAdmin email@dominio
ServerName dominio.br
DocumentRoot /home/user1/public_html

<Directory home/user1/public_html>
Options -Indexes
Allow from all
AllowOverride all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

#Site2
<VirtualHost *:3004>
ServerAdmin email@dominio
ServerName dominio2.br
DocumentRoot /home/user2/public_html

<Directory home/user2/public_html>
Options -Indexes
Allow from all
AllowOverride all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


As fontes para criar este documento foram:
- Este tópico;
- Este tópico do apache: https://httpd.apache.org/docs/2.4/vhosts/examples.html
- Esta pergunta no stackoverflow: https://stackoverflow.com/questions/70370237/apache-configuration-file-and-ports
- Este manual de digital ocean: https://www.digitalocean.com/community/tutorials/apache-ubuntu-14-04-lts-ru

As minhas perguntas são:
1. Qual dos arquivos do WHM devo configurar? O Pre ou o Post?
2. O DocumentRoot e o Directory eu posso deixar o caminho deste modo (apontando para a /home da conta)? Dentro destas pastas vai ter um site em NextJS. Irá funcionar?
3. E quando vou salvar ele mostra um erro:
Cannot access directory '/etc/apache2/${APACHE_LOG_DIR}/ 
. Como reoslver?

Desde já peço perdão pela quantidade de perguntas, é a primeira vez que realizo isso


5. Re:

Rafael Grether
rafael_grether

(usa FreeBSD)

Enviado em 17/12/2021 - 13:24h


JulianoCCM escreveu:
As minhas perguntas são:
1. Qual dos arquivos do WHM devo configurar? O Pre ou o Post?
2. O DocumentRoot e o Directory eu posso deixar o caminho deste modo (apontando para a /home da conta)? Dentro destas pastas vai ter um site em NextJS. Irá funcionar?
3. E quando vou salvar ele mostra um erro:
Cannot access directory '/etc/apache2/${APACHE_LOG_DIR}/ 
. Como reoslver?


Olá Juliano,

1. Eu nunca usei o WHM. Você não tem acesso por SSH não?
Esse negócio de pre_virtualhost e post_virtual é coisa desse WHM, porque em tese não existe isso.
Segundo a documentação do WHM:
Pre VirtualHost Include — Inserts your content in the httpd.conf file before the first VirtualHost entry. Use this option to modify only a part of the httpd.conf file before the system configures virtual hosts.
Post VirtualHost Include — Inserts your content in the httpd.conf file after the last VirtualHost entry. Use this option to permanently modify a piece of the httpd.conf file.

Se eu fosse arriscar, eu colocaria o "Listen" no Pre_VirtualHost, e o restante no PosVirtualHost. Mas se voce tiver acesso pelo ssh é melhor, esse negócio de painel WHM, não gosto não.
Prefiro fazer pelo modo tradicional, via terminal, assim sei exatamente no que estou mexendo.

2. Não. Primeiro porque cada /home/ tem seu próprio dono (UID). E o Apache geralmente roda sob um único usuário como www (padrão unix) ou www-data.
Assim, o apache pode não ter permissões para acessar a /home/ de cada usuário em questão. A não ser voce fizer setuid, o que não recomendo.
Então a minha recomendação é deixar os diretórios tudo dentro de /var/www/
Como /var/www/dominio1 e /var/www/dominio2/, sendo que todos eles deve ter o www ou www-data como dono do diretório.

3. Voce provavelmente está alterando o httpd.conf como um usuario comum. Você deve alterar esse arquivo como usuario root.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts