Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ubuntu Server: virheitä nettisivuissa

Sivun loppuun

Macro [06.03.2010 17:37:24]

#

Kun siirsin sivut Linux-palvelimelle, niin missään ei näy kuvat (Tiedostot ovat gif, bmp ja png päätteisiä). Ihmetyttää, että missä voisi olla vika, kun PHP:llä tuotettu kuvakaan ei näy. Kaikki tiedostot ovat paikallaan.

Linuxissa on myös nuo CHMOD-arvot, voinko oletuksena muuttaa koko www-kansion tiedostot ja tulevat tiedostot arvoon 0777? Entä miksi jokaiseen kansioon on estetty pääsy? Saan aina vastauksen 403.

Entä, miten asetetaan virtual hosteja? Windowsissa ne olivat niin helposti laitettavissa. Nyt saan vain erroria 500.

Macro [07.03.2010 09:54:55]

#

Jatkoa niistä Virtual Hosteista...

Ihmettelen, että miksi saan errorin "500 Internal Server Error". Olen asettanut tähän mennessä kaksi Virtual Hostia, jotka kuvaavat molempia palvelimelle kohdistuvia domaineja.

<VirtualHost *:80>
	ServerName domain1.fi
	ServerAlias domain1.fi
	DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:80>
	ServerName domain2.com
	ServerAlias domain2.com
	DocumentRoot /var/www/domain2
</VirtualHost>

Kysyn varmuuden vuoksi vielä, että mihin nämä kuuluisi kirjoittaa - mihin tiedostoon?

Ps. Mikä tätä Firefoxia nyppii, kun ihan puhdasta suomenkieltä kirjoitan ja jokainen sana on aliviivattu punaisella?

Metabolix [07.03.2010 12:17:44]

#

Apachen asetuksiin. Muistaakseni Ubuntussa Apachella oli erillinen hakemisto, johon sai kirjoittaa pieniä konfiguraatiotiedostoja – jos löydät, tee sinne uusi tiedosto omille vhosteillesi. Varmaankin sanoilla Ubuntu Apache configuration files löytyisi netistä lisätietoa.

Edelleenkin suosittelen myös lighttpd:n kokeilemista. Sen konfigurointi on paljon suoraviivaisempaa, esimerkiksi osoitteeseen perustuvat vhostit saa käyttöön todella yksinkertaisesti:

server.modules += ( "mod_simple_vhost" )
simple-vhost.server-root = "/sivustot/"
simple-vhost.default-host = "domain1.fi"
simple-vhost.document-root = ""

Neljä riviä, rajattomasti vhosteja. Nyt esimerkiksi domain1.fi haetaan hakemistosta /sivustot/domain1.fi ja domain2.com hakemistosta /sivustot/domain2.com. Jos host-tieto puuttuu, käytetään oletuksena domain1.fi-hakemistoa.

Macro kirjoitti:

Ps. Mikä tätä Firefoxia nyppii, kun ihan puhdasta suomenkieltä kirjoitan ja jokainen sana on aliviivattu punaisella?

Ehkäpä oikoluku puuttuu. Itselläni on ollut sama ongelma siitä asti, kun päivitin versioon 3.6. Voikko-oikolukijasta ei ilmeisesti ole vieläkään tehty yhteensopivaa versiota.

Macro [07.03.2010 15:04:56]

#

Minusta vhostit menevät vähän tyhmästi kyllä tuossa. Mitä sitten olen lukenut netistä, niin jokaiselle vhostille pitäisi luoda oma tiedosto (?).

Nyt en ota kantaa kannattaako minun alkaa vaihtamaan ohjelmaa, kun tämä toimii jo täällä.

Windowsin puolella oli helppo kirjoittaa virtual hostit, kun kaikki pystyivät olemaan samassa kansiossa. Onhan yksi ratkaisu tietenkin kirjoittaa ne .htaccess tiedostoon?

Macro [07.03.2010 19:02:42]

#

Äh

Tein tämän mukaan aliaksen, ainakin koitin. Ensimmäinen laatikko: Mitä pitäisi tehdä? Kun ensin ajoin komennon cd /etc/apache2/conf.d, ja sen jälkeen cat alias sain vain virheen: cat: alias: Tiedostoa tai hakemistoa ei ole.

Koitin myös kirjoittaa tiedostoon /etc/apache2/mods-enabled/alias.conf linkittämälläni sivulla mainitun pätkän (Alias /...). Koitin myös kirjoittaa sitä apache2.conf tiedostoon. Olen myös muistanut käynnistää Apachen uudelleen aina tallenuksen jälkeen.

Tarkoitus olisi asettaa seuraaville aliaksille ja domaineille nuo hakemistot.

domain.fi:        /var/www/domain.fi/
domain.com:       /var/www/domain.com/
alias.domain.fi:  /var/www/domain.fi/alias/
alias.domain.com: /var/www/domain.com/alias/
alias2.domain.fi: /var/www/domain.fi/alias2/

Metabolix [07.03.2010 19:16:23]

#

Ohjelma cat tulostaa parametreina annettujen tiedostojen sisällön. Ohjeessa siis näytetään, mitä tiedoston kuuluisi sisältää. Voit tehdä sen millä tahansa tekstieditorilla. Tiedoston nimellä sinänsä ei ole merkitystä, joten jälkimmäinen ratkaisusi oli aivan oikea. Itse virheestä en tiedä, kun en Apachea käytä, mutta jotenkin tuntuisi, että aliakset täytyisi ehkä määritellä joka vhostille erikseen.

Sen sijaan tuo, mitä yrität saada aikaan, ei liity aliaksiin millään tavalla, joten olet yrittänyt aivan väärällä tavalla. Tee vain jokaiselle nimelle oma vhost, joka osoittaa haluamaasi paikkaan.

Macro kirjoitti:

Minusta vhostit menevät vähän tyhmästi kyllä tuossa. Mitä sitten olen lukenut netistä, niin jokaiselle vhostille pitäisi luoda oma tiedosto (?).

Ei suinkaan, vaan lighttpd:llä nuo neljä riviä riittävät rajattomaan vhost-määrään. Jos osoitettu hakemisto (/sivustot/jokin.domain.fi) ei kelpaa, voi aina tehdä siitä symbolisen linkin jonnekin muualle. Esimerkiksi tuo yllä mainitsemasi rakenne onnistuisi asettamalla vhost-juureksi /var/www ja luomalla tarvittavat symboliset linkit tällaisilla komennoilla:

ln -s /var/www/domain.fi/alias /var/www/alias.domain.fi

Macro kirjoitti:

Windowsin puolella oli helppo kirjoittaa virtual hostit, kun kaikki pystyivät olemaan samassa kansiossa.

Millä tavalla tämä mielestäsi eroaa Linuxin toiminnasta? Luultavasti kyse on taas kerran vain siitä, ettet vielä oikein hallitse Linuxia.

Macro [07.03.2010 19:57:27]

#

Ahaa, en tiennyt tuosta catista mitään.

Aluksi errorit johtuivat siitä, että en ollut huomannut laittaa sites-available -kansioon tekemiäni tiedostoja myös sites-enabled -kansioon. Kun tein sen, sivut myös toimivat. Ainakin hetkenaikaa. Sitten koitin lisätä sinne myös alias.domain.fi tiedoston, ja siihen vastaavan tekstin. Siinä meni sitten nekin yritykset, ja nyt vastaus on aina vain Error 500. Palautin kyllä kaikki muutokset takaisin mitä olin tehnyt sen jälkeen, kun olin aluksi sen saanut toimimaan.

Metabolix kirjoitti:

Ei suinkaan, vaan lighttpd:llä nuo neljä riviä riittävät rajattomaan vhost-määrään. Jos osoitettu hakemisto (/sivustot/jokin.domain.fi) ei kelpaa, voi aina tehdä siitä symbolisen linkin jonnekin muualle. Esimerkiksi tuo yllä mainitsemasi rakenne onnistuisi asettamalla vhost-juureksi /var/www ja luomalla tarvittavat symboliset linkit tällaisilla komennoilla: ...

En tarkoittanut sanalla "tuo" lighttpd:ä, vaan yleisesti Apachen Linux-versiota. Yllä mainitsinkin, että tiedoston pitää olla kahdessa eri kansiossa, jotta alkaisi toimimaan. Se on vähän kömpölöä.

Metabolix [07.03.2010 20:54:38]

#

Apachessakin on vastaavanlainen "automaattinen" toiminnallisuus, VirtualDocumentRoot. Kannattaa minusta käyttää sitä, jos ei erityisesti tarvitse joka sivustolle omanlaisiaan asetuksia.

Cornix [11.03.2010 20:16:10]

#

Macro kirjoitti:

En tarkoittanut sanalla "tuo" lighttpd:ä, vaan yleisesti Apachen Linux-versiota. Yllä mainitsinkin, että tiedoston pitää olla kahdessa eri kansiossa, jotta alkaisi toimimaan. Se on vähän kömpölöä.

Tarkoituksena on luoda symbolinen linkki, "pikakuvake", sinne sites-enabled/-hakemistoon siitä sites-available/:ssa olevasta konfiguraatiosta komentamalla esimerkiksi:

ln -s /etc/apache2/sites-available/jotain /etc/apache2/sites-enabled/jotain

Tämä toimii ikään kuin tiedoston kopiointi cp-komennolla. "ln -s <Mistä olemassa olevasta tiedostosta luodaan linkki> <mihin syntyy uusi linkkitiedosto>"

Tiedostolla ei siis ole tarvetta sijaita oikeasti kahdessa paikassa identtisenä.

Kannattaa tarkistaa /etc/apache2/apache2.conf läpi tekstieditorilla pääkäyttäjän oikeuksin, eli esimerkiksi nano-tekstinkäsittelyohjelmalla seuraavasti:

sudo nano /etc/apache2/apache2.conf

Jos pidät enemmän graafisista tekstieditoreista, vaihda sellaisen nimi tuohon nanon tilalle.

Tiedostojen oikeuksia ei kannata /var/www/:stä vaihtaa 777:ään, vaan lisätä Apachen käyttämä käyttäjätili samaan ryhmään kuin /var/www/:n omistajaryhmä on. Liian löysillä oikeuksilla varustettuja tiedostoja Apache ei välttämättä edes tarjoa, vaan selain näyttää juurikin Access Forbidden -viestiä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta