Autor Zpráva
david80
Profil *
Ahoj, prosím vás o radu, už jsem to tady celé prohledal, trápím se s tím už asi týden, ale pořád bez úspěchu.
Spustil jsem si doma webserver apache na ubuntu, mám pevnou a veřejnou ip adresu a zakoupenou domenu a snažím se o to, aby mi fungovalo z venku z internetu např. www.neco.mojedomena.cz a zobrazil se mi index v adresáři www/neco/index.php
Prohlížel jsem různá forka ale asi to špatně chápu, nebo nevím, všechno mi to funguje ale jen na na pc na kterým běží apache, ale už jsem nepřišel na to, jak to udělat, aby to fungovalo i z internetu, z internetu můžu zadávat www.cokoliv.mojedomena.cz a vždycky se mi zobrazí obsah kořenového adresáře to je www/index.php. Mohl by mi to prosím někdo ještě jednou a polopatě vysvětlit? děkuji.
yFang
Profil
david80:
Musíš to nastavit. Hledej .htaccess.
david80
Profil *
Takže se to nenastavuje v configu virtualhost? A ten .htaccess musím vytvořit, nebo by už tam někde měl být?
david80
Profil *
A ještě kde bych ten .htaccess našel? Diky O .htaccess je toho tady dost, takže jestli je to jen v tom tak to už snad zvládnu, všude jsem četl že se musí nastavit virtualhost, to mě asi zmátlo.
david80
Profil *
udělal jsem si .htaccess, ale když jsem ho nakopíroval do rootu webu, tak se mi žádná stránka nechtěla zobrazit, hláška forbiden, znamená to, že jsem v .htaccess něco špatně napsal, nebo že mám htaccess zakázán?
Zechy
Profil
Pokud se ti zobrazuje forbiben, znamená to, že ti to odepřelo přístup.
david80
Profil *
vím, ale když zas ten htaccess smažu, tak stránky jedou v pohodě, takže by mohla být chyba v tom co jsem napsal do htaccess, nebo v tom, že server nemá povolení číst htaccess, nebo že nemám správně povolen htaccess na serveru?
Davex
Profil
Je nutné nakonfigurovat nový VirtualHost, který bude směřovat do adresáře s webem a zároveň k němu povolí přístup. Ve zkratce:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/virtual-neco.cz
nano /etc/apache2/sites-available/virtual-neco.cz
  (provést změny v konfiguraci pro nový VirtualHost - ServerName, DocumentRoot, Directory, ErrorLog, CustomLog)
a2ensite virtual-neco.cz
/etc/init.d/apache2 restart


Potom stačí v DNS nastavit A záznam a mělo by to běžet.
david80
Profil *
Tak ještě jeden problém, ale už jsem snad blízko :-)
Když se kouknete na www.dorty.zatraceni.cz tak to vypíše chybu serveru, neví někdo kde mám ještě chybu?
.htaccess - RewriteEngine On
RewriteBase /
RewriteRule ^dorty/ - [S]
RewriteCond %{HTTP_HOST} ^dorty\.zatraceni\.cz [NC]
RewriteRule ^(.*)$ dorty/$1 [L]

Jestli spíš ale nebudu mít chybu v hosts, nevím přesně co tam napsat, když mám veřejnou adresu 77.48.72.167

nebo ve virtualhosts to taky přesně nevím,ale na localhostu mi to jede bez problému -

<VirtualHost *:80>
ServerAdmin david.hons@centrum.cz
ServerName zatraceni.cz

DocumentRoot /home/david00/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /home/david00/www/dorty
ServerName dorty.localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /home/david00/www/dorty
ServerName dorty.zatraceni.cz
</VirtualHost>

a hosts -

127.0.0.1 server.zatraceni.cz localhost.localdomain localhost
192.168.1.175 server.zatraceni.cz server
192.168.1.175 dorty.zatraceni.cz
127.0.0.1 dorty.localhost
77.48.72.167 dorty.zatraceni.cz

Je tam toho asi zbytečně moc, ale to proto že jsem zkoušel různé varianty, podle toho co jsem kde našel za návody :-)
Díky za rady.
david80
Profil *
omlouvám se, ta adresa je bez www takže jen http://dorty.zatraceni.cz/
Davex
Profil
Jaká chyba je zaznamenána v error.log? Nikde nevidím povolení přístupu pro adresář /home/david00/www, takže se divím, že to na dorty.localhost funguje.
<VirtualHost *:80> 
  DocumentRoot /home/david00/www/dorty 
  ServerName dorty.zatraceni.cz 

  <Directory /home/david00/www/dorty> 
    Options FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
  </Directory> 
</VirtualHost>


Pokud bude nastaveno toto, tak není uvedený .htaccess potřeba.

Druhá možnost vytvoření subdomény je pomocí mod_rewrite - poslední VirtualHost nedefinuj. Do první definice VirtualHostu přidej pod ServerName podle potřeby ServerAlias dorty.zatraceni.cz nebo ServerAlias *.zatraceni.cz a uprav cestu <Directory /home/david00/www/>.
david80
Profil *
Super, díky už to jede :-) Změnil jsem virtualhost jak napsal Davex, ale žádná změna, pořát stejná chyba, pak jsem ale smazal .htaccess a už to běží tak jak má :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: