Asennus
Jotta Apache:n lokitietoja voisi tutkia niin pitää Apache olla asennettuna. Alla olevilla komennoilla Apachen asennus onnistui.
sudo apt-get update #pakettivarastojen päivitys sudo apt-get install apache2 #apache2 asennus
Seuraavaksi vierailin localhost –osoitteessa selaimella, missä luki It works! This is the default web page for this server…”. Tämän jälkeen kokeilin päästä kotihakemistooni localhost/~anttiville. Menin sitten katsomaan Apachen lokeja käyttämällä less-ohjelmaa.
$ less /var/log/apache2/error.log [Fri Feb 01 09:54:41 2013] [notice] Apache/2.2.22 (Ubuntu) configured -- resuming normal operations [Fri Feb 01 09:59:34 2013] [error] [client 193.166.13.253] File does not exist: /var/www/~anttiville
Viimeisin rivi error.log -tiedostossa kertoo ongelman, eli minulla ei ole tiedostoa /var/www/~anttiville.
Kotihakemiston käyttöönotto
Mutta en halua tehdä edes tiedostoa /var/www/ –sijaintiin, vaan omaan kotihakemistoon. Tämä onnistuu alla olevaa komentoa käyttäen.
sudo a2enmod user #käyttäjänkotihakemisto käyttöön sudo service apache2 restart # apache2 uudelleenkäynnistys, jotta muutokset tulevat käyttöön
Tämän jälkeen kokeilin päästä uudestaan kotihakemistoon. Mutta taas tuli virheilmoitus selaimessa “404 error Page not found”. Apachen error.log:iin oli tullut uusi rivi, josta selvisi ettei minulla ole kyseessä olevaa kansiota.
[Fri Feb 01 10:02:25 2013] [error] [client 193.166.13.253] File does not exist: /home/anttiville/public_html
Jotta saisin kotihakemiston lopullisesti toimimaan, tein public_html-kansion. Ja sinne index.html -tiedoston, joka toimii etusivuna.
$ mkdir public_html $ cd public_html/ $ nano index.html
Tämän jälkeen selain pääsi kotihakemistooni ja hommat skulas.
Nimipohjainen virtuaalipalvelin – Virtual Name Based Host
Lisäksi tehtävänannossa käskettiin tehdä nimipohjainen virtuaalipalvelin.
Aloitin tekemällä kaksi eri kansiota public_html -kansioon.
$ mkdir kuvat # eli polku on /home/anttiville/public_html/kuvat $ mkdir tiedostot # polku: /home/anttiville/public_html/tiedostot
Seuraavaksi lisäsin yhden rivin /etc/apache2/apache2.conf -tiedoston loppuun. Tämä kertoo Apachelle että käytämme nimipohjaista selaamista, emmekä IP-pohjaista.
NameVirtualHost ip.address:port # Korvasin ip-osoitteen omallani ja portin laitoin 80,koska se on HTTP-protokollan käyttämä oletusportti.
Tämän jälkeen molemmille (kuvat ja tiedostot) omat tiedostot, jotka tein /etc/apache2/sites-available -kansioon.
$ sudoedit kuvat.avjokela.eu
<VirtualHost 164.138.27.119:80> ServerName kuvat.avjokela.eu ServerAlias www.kuvat.avjokela.eu ServerAdmin antti-ville@avjokela.eu DocumentRoot /home/eitsei/public_html/kuvat </VirtualHost>
Tein myös tiedostot.avjokela.eu -tiedoston samaan paikkaa, mutta muutin ServerName:n ja ServerAlias:n.
Näiden jälkeen otin nämä tiedostot käyttöön ja päivitin apachen tiedot.
$ sudo a2ensite kuvat.avjokela.eu Enabling site kuvat.avjokela.eu. To activate the new configuration, you need to run: service apache2 reload $ sudo service apache2 reload
Ja sitten vain selaimella katsomaan mitäs sieltä kansioista löytyy. Eli osoiteriville kuvat.avjokela.eu pitäisi viedä eri tiedostoon kuin tiedostot.avjokela.eu.
Lähteet
Tero Karvinen – Linux palvelimena -kurssi
Ubuntu tutorial – Setting Up Name Based Virtual Hosting
– Antti-Ville Jokela