Perché gli host virtuali Apache su Ubuntu 14.04 non funzionano?


23

Ho installato Apache 2.4 su Ubuntu 14.04 e funzionava bene per http://localhost/indirizzo. Ma quando ho provato ad aggiungere un nuovo host virtuale, ad esempio http://bow.locriavviando apache, il nuovo indirizzo non era disponibile http://bow.loce disponibile su http://localhost.

La mia configurazione è:

<VirtualHost *:80>
    ServerName www.bow.loc
    ServerAlias bow.loc
    DocumentRoot /var/www/html/bow/web

    <Directory /var/www/html/bow>
        AllowOverride All
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Come posso ottenere il mio sito da http://bow.loc?



Controlla la mia risposta qui . Ha un problema simile e risulta essere il problema con la configurazione DNS del sistema.
jmarceli,

Risposte:


29

A partire da Apache 2.4, ogni file host virtuale dovrebbe avere l'estensione .conf.

È possibile rinominare ciascun file host virtuale per includere l'estensione .conf:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

Utilizzare il comando a2ensite per aggiungere l'host virtuale:

a2ensite example.com.conf

E ricaricare Apache:

service apache2 reload

Grazie! E dopo queste azioni non ho bisogno di modificare manualmente il /etc/hostsfile e aggiungere host ad esso? Apache scriverà automaticamente nuovi host?
Victor Bocharsky,

Apache non scrive automaticamente nuovi host, dovresti scriverlo manualmente. CMIIW
Ari Pratomo,

Quindi, la mia configurazione è corretta e il problema è che ho dimenticato di aggiungere l'host in/etc/hosts
Victor Bocharsky,

l'altro modo è modificare apache2.conf e rimuovere l'estensione ".conf" dalla direttiva "IncludeOptional sites-enabled / *". Uso i domini di siti Web come nomi di file, quindi non mi piace il requisito ".conf" aggiuntivo.
lepe,

17

Ho dimenticato di aggiungere l'host in /etc/hosts:

127.0.0.1   localhost
127.0.0.1   bow.loc

Pensavo che Apache lo facesse automaticamente.


Non ho dovuto farlo in nessun momento prima su un server. Lo faccio sempre dal cliente a scopo di test. Puoi chiarire cosa stai dicendo qui?
flickerfly,

@flickerfly Cosa intendi? Ho fatto i punti dei miei host virtuali sul mio computer locale per gestirli con il Apacheserver installato
Victor Bocharsky,

Ho dimenticato di aggiungere anche questo! : P
Rishi Kulshreshtha,

Accidenti, ne ho sprecato uno su questo su una Debian 8 VM! Grazie!!!
lucaferrario,

@lucaferrario haha, neanche io. Semplici bug difficili da rivelare;) Prego!
Victor Bocharsky,

3

Bene, ho provato tutte queste soluzioni offerte ... ma purtroppo nulla ha funzionato! Purtroppo ho modificato

    /etc/hosts

per entrare

    127.0.1.1 example.com test.com

e ha funzionato !!

(Scusa se non sto parlando molto tecnicamente!)


1

Ho scritto uno script Python che automatizzerà i passaggi di creazione dell'host virtuale apache ... questo video spiega come scaricare / codice su GitHub


-3
Options FollowSymLinks MultiViews

È necessario char '+': + FollowSymLinks + Multiviews

Order allow,deny
Allow from all

Ora = Richiedi tutto concesso


Per favore, spiega dove mettere questo e cosa fa. Non pubblicare solo comandi o artefatti di configurazione. Vedi Come posso scrivere una buona risposta?
David Foerster,

1
Devi solo mettere un + o - prima delle varie Opzioni se stai usando un - per escluderne uno. Altrimenti, vanno bene. Richiesto tutto concesso è per Apache 2.4. L'ordine, Consenti righe sono una sintassi 2.2.
flickerfly,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.