Não consigo criar um subdomínio funcional no Apache. Antes de postar aqui, pesquisei na internet, li muitas perguntas semelhantes em sites de pilha, perguntei ao chatgpt, li a documentação do Apache e tentei várias configurações diferentes. (E claro. Eu reinicio httpd
sempre :)
Mas estou preso. Eu diria que tenho bastante experiência em Linux, mas sou iniciante em Apache. Além disso, muitos recursos online são escritos a partir da perspectiva baseada no Debian, que difere consideravelmente do RedHat.
Meu ambiente
Estou usando Manjaro
como meu sistema operacional host. Aí eu tenho Rocky9 minimal
com httpd
, rodando no Virtual box. É uma instalação nova, portanto não há configurações incorretas do passado.
O que eu quero alcançar
Quero acessar duas páginas diferentes da minha máquina host.
idd.ph
deveria mostrar/var/www/html/index.html
example.idd.ph
deveria mostrar/var/www/example/index.html
No entanto, sempre obtenho o mesmo index.html
para ambos os subdomínios.
idd.ph
retorna/var/www/example/index.html
example.idd.ph
também retorna/var/www/example/index.html
Se eu mudar a ordem do meu VirtualHosts
, receberei /var/www/html/index.html
os dois subdomínios.
Minha configuração
idd.ph
é um domínio arbitrário e está configurado /etc/hosts
no meu host Manjaro :
192.168.0.109 idd.ph
192.168.0.109 example.idd.ph
No Rocky eu criei um arquivo normal.conf
dentro/etc/httpd/conf.d
<VirtualHost *:80>
ServerName example.localhost
DocumentRoot /var/www/example
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
</VirtualHost>
Esta é a estrutura de /var/www
ou Rocky :
.
├── cgi-bin
├── example
│ └── index.html
└── html
└── index.html
Eu também editei /etc/hosts
no Rocky assim:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 example.localhost
Agradeço antecipadamente.
Como você tem em
hosts
arquivo isto:você deve adicionar na configuração do Apache isto:
Os nomes de host no Apache devem corresponder aos nomes resolvidos por DNS.
Se você mudar,
hosts
você quebrará a resolução local (não é possível ver os hosts http da mesma máquina). E se você tiver uma fonte de nome externa (como DNS) o restante das máquinas acessará o apache.