Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: kx - 17.02.17 - klo:14.23
-
Minulla on Soneran laajakaista liittymä ja modeemi, josta lähtee 3 ethernet linjaa ja wlan. Nyt on käytössä yksi Ubuntu16.04lts-pöytäkone kiinteästi ja yksi läppäri wlan:n kautta ja siinä on W10.
Nyt heräsi ajatus laittaa yksi läppäri toimimaan www-palvelimena myös kiinteän linjan kautta. Siinä olisi näytettävänä vain yksi staattinen taulukko, ei muuta. Koko olisi luokkaa 2x20 ruutua. Yhdessä on valokuva ja viereisessä tekstiä. Ja näitä on sitten 20 alakkain.
IP osoitteita on käsittääkseni yksi tuohon modemiin.
Mitä pitää ottaa huomioon, jos itse oppimismielessä yrittää eikä halua täysin mokata heti. Miten pitää toimia, että ulkopuoliset pääsee katsomaan vain tuota 2x20 taulukkoa.
-
Haluat siis www-palvelimen, jolla on tuollainen taulukko. Yleensä tuo hoidetaan niin, että yksi kone toimii www-palvelimena (tässä tapauksessa se kannettava) ja reitittimestä laitetaan kyseiselle koneelle kiinteä IP-osoite sekä porttiohjaus ulkoverkon portista 80 tuon koneen porttiin 80. Tällöin, kun selaimeen laittaa osoitteeksi liittymäsi julkisen IP-osoitteen, pitäisi ilmestyä kyseinen sivu. Tuota voi toki testata ensin lähiverkossa tietokoneen omalla IP-osoitteella (siihen ei tarvita porttiohjausta tai edes koneen kiinteää IP-osoitetta). Jossakin modeemeissa tuo porttiohjaus ei toimi lähiverkosta päin eli sen toimivuuden testauksen joutuukin tekemään toisesta liittymästä (esimerkiksi kännykän dataliittymällä tai vaikka kirjaston koneella). Jos haluat käyttää domainnimeä, niin pitää vielä ottaa käyttöön jokin palvelu, joka tarjoaa dynaamista DNS:ää. Näistä kaikista löytyy valmiiksi keskusteluja tältä foorumilta, mutta jos jokin on epäselvää, niin kysy pois.
WWW-palvelinohjelmistona voi käyttää esimerkiksi Apachea, Nginx:ää tai lighthttpd:tä. Millä tahansa näistä tuo onnistuu kyllä hyvin (itse asiassa tässä tapauksessa luultavasti onnistuisi skriptaamallakin, mutta suosittelen käyttämään jotain kevyttä www-palvelinta). Taulukko kannattaa tehdä nettisivuksi, joko nettisivujen editointiin tehdyllä ohjelmalla tai käsin kirjoittamalla. Tässä tapauksessa LibreOfficesta HTML:ksi tallentaminenkin saattaisi riittää, riippuen siitä millaisen lopputuloksen haluat.
-
Kiitos näistä vinkeistä. Olen tehnyt alustavasti taulukon ohjelmalla Bluegriffon ja se tekee html-tiedostoa, jota voin katsella omalla koneella firefoxilla. Eli se puoli kai on ok.
Idea olisi käyttää pelkästään tuota kiinteää IP-osoitetta muutaman kuukauden ajan nyt keväällä ja sitten tuhota koko järjestelmä,
tai saattaahan tietenkin innostua rupeamaan lisää.
No pitää tutkia asiaa lisää.
lisäystä: Nyt ollaan tässä vaiheessa eli ilmeisesti kaikki on ok tähän asti. Tuota osoitetta pitää nyt kai säätää.
kari@kari-HP-255-G3-Notebook-PC:~$ service apache2 status
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since pe 2017-02-17 21:42:53 EET; 9s ago
Docs: man:systemd-sysv-generator(8)
Process: 2382 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 2410 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/apache2.service
├─2427 /usr/sbin/apache2 -k start
├─2430 /usr/sbin/apache2 -k start
└─2431 /usr/sbin/apache2 -k start
helmi 17 21:42:52 kari-HP-255-G3-Notebook-PC systemd[1]: Starting LSB: Apache2 web server...
helmi 17 21:42:52 kari-HP-255-G3-Notebook-PC apache2[2410]: * Starting Apache httpd web server apache2
helmi 17 21:42:52 kari-HP-255-G3-Notebook-PC apache2[2410]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1
helmi 17 21:42:53 kari-HP-255-G3-Notebook-PC apache2[2410]: *
helmi 17 21:42:53 kari-HP-255-G3-Notebook-PC systemd[1]: Started LSB: Apache2 web server.
~
~
~
~
~
lines 1-18/18 (END)
-
Jos oikein helpolla haluat päästä, niin käytä SimpleHTTPServeriä. Mene kansioon, jossa jaettavat tiedostot on ja anna komento python -m SimpleHTTPServer 8000 Korvaa viimeinen luku haluamallasi porttinumerolla.
Voit tehdä siitä sitten vaikka skriptin ja lisätä sen vaikka crontabiin, niin serveri lähtee automaattisesti aina käyntiin.
Esim.
#!/bin/bash
cd /home/xx/webserver/
python -m SimpleHTTPServer 8000
Tuolla on omaa nettisivua tullut ylläpidettyä ja hyvin toimii.
-
Olen edennyt tuota apache2 koodausta seuraavasti.
Kun kirjoitan läppärin firefoxin osoitteeseen tuon läppärini sisäverkon osoitteen 192......., niin näen silloin omassa julkisessa kansiossani olevan tiedostonimen, siis "koe2.html". Mutta en sen sisältöä, vaikka sehän olisi tärkeintä.
Ja kirjoittamalla firefoxin osoitekenttään julkisen IP-osoitteen 84......, näen reitittimeni etusivun.
Nyt sitten pitäisi saada reitti, joka vie netissä tuon julkisen IP-osoitteen avulla suoraan tuohon "koe2.html" sisään.
Joo, enemmän pitäisi tietää, kun alkaa tällaisiin hommiin. :)
-
Kun kirjoitan läppärin firefoxin osoitteeseen tuon läppärini sisäverkon osoitteen 192......., niin näen silloin omassa julkisessa kansiossani olevan tiedostonimen, siis "koe2.html". Mutta en sen sisältöä, vaikka sehän olisi tärkeintä.
Muuta se koe2.html nimelle index.html ja kokeile uudestaan (tai tee symbolinen linkki).
Ja kirjoittamalla firefoxin osoitekenttään julkisen IP-osoitteen 84......, näen reitittimeni etusivun.
Nyt sitten pitäisi saada reitti, joka vie netissä tuon julkisen IP-osoitteen avulla suoraan tuohon "koe2.html" sisään.
Oletko jo säätänyt reitittimestä porttiohjauksen (Port Forwarding)? Jos olet, niin kannattaa kokeilla jostain toisesta verkosta käsin, koska voi olla ettei siihen pääse sisäverkon kautta kiinni julkisella osoitteella (näin esimerkiksi täällä käytössä olevalla Intenon valokuitumodeemilla). Jos et, niin sitten se pitäisi laittaa ja kannattaa ottaa se HTTP-etäohjaus (ja kaikki muutkin reitittimen säätömahdollisuudet ulkoverkosta päin) pois päältä, mikäli siellä on sellainen käytössä. Sitä ei yleensä tarvita ja siitä on silloin vain tietoturvan kannalta haittaa.
-
Joo, tuo koe2 tai index2 palautuu näköjään täältä:
index.html(/var/www/esimerkki.com/public_html -gedit
<html>
<head>
<title>Welcome to esimerkki.com!</title>
</head>
<body>
<h1>index2.html</h1>
</body>
</html>
Ei kai sen noin pidä ?
Nyt sain myös reitin selväksi, että pääsen toiselta koneeltani julkisella IP-osoitteella suoraan tuohon tekstiin " index2.html". Eli näyttää menevän
jo perille asti.
Nyt pitäisi vain saada tuon tiedoston sisältö näkyviin näytölle,! Nyt näkyy pelkkä tiedostonimi.
Eikä näytä myöskään tuota "Welcome to esimerkki.com"
"
Taitaa olla tuo haluttu tiedostoni nyt talletettuna väärässä paikassa, oliskohan siinä syy?
-
Siis Apache tarjoilee oletuksena käyttäjälle hakemistosta sen tiedoston, jonka nimi on index.html (tai index.php, jos käytetään php-koodia). Tarkoitin siis, että nimeäisit tuon tiedoston nimelle index.html. Jos samassa hakemistossa on index.html, jossa ei ole mitään itsellesi tärkeää, niin voit sen poistaa.
Eikä näytä myöskään tuota "Welcome to esimerkki.com"
Olet laittanut sen sivun otsikkotagiin, jolloin se näkyy selaimen välilehden nimenä.
-
Siis pitääkö se näytettävä tiedosto olla talletettuna tuossa ;
/var/www/nimi.com/public_html/index.html -tiedostossa.
Miten sen sinne saan talletettua? Nyt se on: Home/kari/Julkinen/index.html - tiedostossa.
-
Siis pitääkö se näytettävä tiedosto olla talletettuna tuossa ;
/var/www/nimi.com/public_html/index.html -tiedostossa.
Kyllä, kun olet konfiguroinut Apachen noin. Oletusasetuksilla hakemisto on /var/www/html
Miten sen sinne saan talletettua? Nyt se on: Home/kari/Julkinen/index.html - tiedostossa.
Vaikka kopioimalla cp-komennolla:
sudo cp ~/Julkinen/index.html /var/www/nimi.com/public_html/index.html
Symbolinen linkki voi toimia myös, jos www-data-käyttäjällä on lukuoikeus kotihakemistoosi. Voit vaikka linkata Julkinen-kansion kotihakemistostasi tuonne public_html:n tilalle, kun siirrät nykyisen hakemiston ensin pois alta:
sudo mv /var/www/nimi.com/public_html /var/www/nimi.com/public_html_original
sudo ln -s /home/kari/Julkinen /var/www/nimi.com/public_html
Tai konfiguroi Apachen asetuksissa tuo Julkinen-kansio sivuston juureksi.
-
<nyt onnistuin jotain tuhoamaan;
kari@kari-HP-255-G3-Notebook-PC:~$ sudo service apache2 stop
kari@kari-HP-255-G3-Notebook-PC:~$ sudo service apache2 restart
kari@kari-HP-255-G3-Notebook-PC:~$ sudo apache2ctl configtest
AH00112: Warning: DocumentRoot [/var/www/esimerkki.com/public_html] does not exist
Syntax OK
kari@kari-HP-255-G3-Notebook-PC:~$ sudo cp ~/Julkinen/index.html /var/www/esimerkki.com/public_html/index.html
cp: ohitetaan hakemisto '/home/kari/Julkinen/index.html'
kari@kari-HP-255-G3-Notebook-PC:~$ sudo ln -s /home/kari/Julkinen /var/www/esimerkki.com/public_html/
ln: kohde '/var/www/esimerkki.com/public_html/' ei ole hakemisto: Tiedostoa tai hakemistoa ei ole
kari@kari-HP-255-G3-Notebook-PC:~$
Onko mitään tehtävissä. Ensimmäisen kerran komento toimi oikein, kun copioin komennolla julkisen tuonne.
Mutta sitten vaihdoin index.html-sisältöä ja kopioin uudelleen ja nyt se ei enää kopioi oikein?
Sitten siirsin tuon var/www/esimerkki.com/public_html/index.html syrjään ja kopion taas uudelleen ekaa komentoa, mutta nyt on koko tiedosto poissa.
Lopuksi komensin vielä tuon ln:
-
Pitänee koota rakennelma uudelleen. Miten saan 2 hakemistoa tyhjäksi?
purge apache2 jätti esim hakemiston var/www/html jäljelle.
-
kari@kari-HP-255-G3-Notebook-PC:~$ sudo cp ~/Julkinen/index.html /var/www/esimerkki.com/public_html/index.html
cp: ohitetaan hakemisto '/home/kari/Julkinen/index.html'
/home/kari/Julkinen/index.html on nyt hakemisto. Sen pitäisi olla tiedosto.
kari@kari-HP-255-G3-Notebook-PC:~$ sudo ln -s /home/kari/Julkinen /var/www/esimerkki.com/public_html/
ln: kohde '/var/www/esimerkki.com/public_html/' ei ole hakemisto: Tiedostoa tai hakemistoa ei ole
Esimerkkikomennossani oli ylimääräinen kauttaviiva kohdepolun lopussa. Tällä komennolla pitäisi onnistua:
sudo ln -s /home/kari/Julkinen /var/www/esimerkki.com/public_html
Mutta ehkä tyylikkäämpää olisi muuttaa Apachen konfiguraatiossa DocumentRootia.
Pitänee koota rakennelma uudelleen. Miten saan 2 hakemistoa tyhjäksi?
purge apache2 jätti esim hakemiston var/www/html jäljelle.
sudo rm -r /var/www/html
-
Asensin apache2 uudelleen. Nyt tuo komento antaa palautteen:
kari@kari-HP-255-G3-Notebook-PC:~$ sudo apache2ctl configtest
[sudo] salasana henkilölle kari:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 84.kkk.hhh.bb. Set the 'ServerName' directive globally to suppress this message
Syntax OK
kari@kari-HP-255-G3-Notebook-PC:~$
Ja osoiteriville kirjoitus antaa palautteen 403 forbidden. Yritin kuitenkin asettaa tuon home/kari/julkinen olemaan se juuri.
Käytin tätä ohjetta.
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04
tuollainen määritys , lienneekö oikea?
ServerAdmin admin@julkinen
ServerName 84.bbb.jjj.ll
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
-
Ja osoiteriville kirjoitus antaa palautteen 403 forbidden. Yritin kuitenkin asettaa tuon home/kari/julkinen olemaan se juuri.
Käytin tätä ohjetta.
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04
tuollainen määritys , lienneekö oikea?
ServerAdmin admin@julkinen
ServerName 84.bbb.jjj.ll
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
Noilla varmaan pitäisi toimia, jos tuo on VirtualHost-tagien sisällä, ja asetukset on kirjoitettu oikean paikkaan (/etc/apache2/sites-available/sivusto.conf) ja kytketty käyttöön a2ensite-komennolla ohjeen mukaisesti.
Aiemmin tuo "julkinen" oli isolla alkukirjaimella. Muutitko sen? Testaa komentorivillä vaikka ls-komennolla, että polku on oikein:
ls /home/kari/julkinen/public_html
-
Muutin tässä uudelleen yrityksessä julkinen muotoon.
Nyt huomaan, että koti - hakemistossa onkin kaksi kansiota. Toinen on se entinen Julkinen ja toinen on uusi julkinen, jossa on lukko?
Eli pitänee vielä kerran muuttaa Julkinen muotoon?
-
Nyt huomaan, että koti - hakemistossa onkin kaksi kansiota. Toinen on se entinen Julkinen ja toinen on uusi julkinen, jossa on lukko?
Eli pitänee vielä kerran muuttaa Julkinen muotoon?
Ei tarvitse muuttaa nimeä. Korjaat vain sen nykyisen kansion oikeudet. Miltä ne näyttävät nyt?
ls -ld /home/kari/julkinen
Näillä korjaantuu:
sudo chown -R kari:kari /home/kari/julkinen
sudo chmod -R a+rX /home/kari/julkinen
-
No ehdin tehdä korjaukset ja nyt ne näyttää noin:
kari@kari-HP-255-G3-Notebook-PC:~$ ls -ld /home/kari/julkinen
drwxr-xr-x 3 root root 4096 helmi 19 21:06 /home/kari/julkinen
kari@kari-HP-255-G3-Notebook-PC:~$ ls -ld /home/kari/Julkinen
drwxr-xr-x 4 kari kari 4096 helmi 19 19:41 /home/kari/Julkinen
kari@kari-HP-255-G3-Notebook-PC:~$
-
No ehdin tehdä korjaukset ja nyt ne näyttää noin:
drwxr-xr-x 3 root root 4096 helmi 19 21:06 /home/kari/julkinen
Edelleen rootin omistuksessa. Ajapa vielä tämä ja tarkista että omistaja muuttui:
sudo chown -R kari:kari /home/kari/julkinen
Toimiiko nyt Apachen kautta?
-
nyt
kari@kari-HP-255-G3-Notebook-PC:~$ ls -ld /home/kari/julkinendrwxr-xr-x 3 kari kari 4096 helmi 19 21:06 /home/kari/julkinen
kari@kari-HP-255-G3-Notebook-PC:~$
Sama palaute eli
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 84.kkk.hhh.bb. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Epäilen, että tuo IP-osoite otetaan nyt jostain vanhasta hakemistosta, joka sotkee. Eka kerralla asentaessani meni hienosti läpi sinne
Julkinen-tiedostoon saakka, vakkei näyttänytkään oikeaa sisältöä. Se osoite on jossain sotkemassa??
-
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 84.kkk.hhh.bb. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Ilmoitus viittaa siihen että ServerName ei ole asetettu, eli asetustiedostosi ei ehkä ole kytketty käyttöön, tai oletusasetukset menevät sen edelle. Oletusasetuksilla DocumentRoot on /var/www/html. Mitä /etc/apache2/sites-enabled/ sisältää?
ls -l /etc/apache2/sites-enabled/
-
Tuota antaa; Eli käynnistin aamulla koneen ja tuollaista antoi:
kari@kari-HP-255-G3-Notebook-PC:~$ ls -l /etc/apache2/sites-enabled/
yhteensä 0
lrwxrwxrwx 1 root root 32 helmi 19 21:16 julkinen.conf -> ../sites-available/julkinen.conf
lrwxrwxrwx 1 root root 32 helmi 19 22:25 Julkinen.conf -> ../sites-available/Julkinen.conf
kari@kari-HP-255-G3-Notebook-PC:~$
Kun asetteluna on nyt tuo: (Muutin sen IP:stä tähän)
ServerAdmin admin@julkinen
ServerName julkinen
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
Ja konfitest antaa entisen virheen, jossa on viittaus IP-numeroon eli jossain on se asetus päällimmäisenä ja varmaan perua ekasta asennuksesta.
-
lrwxrwxrwx 1 root root 32 helmi 19 21:16 julkinen.conf -> ../sites-available/julkinen.conf
lrwxrwxrwx 1 root root 32 helmi 19 22:25 Julkinen.conf -> ../sites-available/Julkinen.conf
Poista varmuuden vuoksi linkki Julkinen.conf -tiedostoon, kun sitä konfiguraatiota ei nyt tarvita:
sudo rm /etc/apache2/sites-enabled/Julkinen.conf
ServerAdmin admin@julkinen
ServerName julkinen
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
Siellä konfitiedostossa pitäisi olla myös VirtualHosts-tagit. Näytä vielä koko tiedoston sisältö:
cat /etc/apache2/sites-enabled/julkinen.conf
-
poistin linkin ja näytän tässä
kari@kari-HP-255-G3-Notebook-PC:~$ sudo rm /etc/apache2/sites-enabled/Julkinen.conf
[sudo] salasana henkilölle kari:
kari@kari-HP-255-G3-Notebook-PC:~$ cat /etc/apache2/sites-enabled/julkinen.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin admin@julkinen
ServerName julkinen
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
ja nämä on näin nyt:
kari@kari-HP-255-G3-Notebook-PC:~$ ls -l /etc/apache2/sites-enabled/
yhteensä 0
lrwxrwxrwx 1 root root 32 helmi 19 21:16 julkinen.conf -> ../sites-available/julkinen.conf
kari@kari-HP-255-G3-Notebook-PC:~$ ls -ld /home/kari/julkinen
drwxr-xr-x 3 kari kari 4096 helmi 19 21:06 /home/kari/julkinen
kari@kari-HP-255-G3-Notebook-PC:~$
-
Jep, näyttää ihan hyvältä. Käynnistä sitten Apache uudelleen:
sudo systemctl restart apache2
Jos ei vieläkään lähde toimimaan, voisi seuraavaksi katsoa Apachen lokitiedostoista lisätietoja 403-virheestä:
cat /var/log/apache2/access.log
cat /var/log/apache2/error.log
-
Näyttää näin:
kari@kari-HP-255-G3-Notebook-PC:~$ sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 84.. Set the 'ServerName' directive globally to suppress this message
Syntax OK
kari@kari-HP-255-G3-Notebook-PC:~$ cat /var/log/apache2/access.log
84. - - [20/Feb/2017:09:02:54 +0200] "GET / HTTP/1.1" 403 505 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84.2 - - [20/Feb/2017:09:02:54 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84.2 - - [20/Feb/2017:09:02:54 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84.2 - - [20/Feb/2017:11:02:09 +0200] "GET / HTTP/1.1" 403 505 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84.2 - - [20/Feb/2017:11:02:09 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84.2 - - [20/Feb/2017:11:02:09 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
191.96.249.42 - - [20/Feb/2017:11:07:42 +0200] "GET /phpmyadmin/scripts/setup.php HTTP/1.0" 403 491 "-" "-"
84.2 - - [20/Feb/2017:13:42:32 +0200] "GET / HTTP/1.1" 403 505 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84. - - [20/Feb/2017:13:42:32 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
84. - - [20/Feb/2017:13:42:32 +0200] "GET /favicon.ico HTTP/1.1" 403 515 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
kari@kari-HP-255-G3-Notebook-PC:~$
ja tällaista: Serverin nimenä on ollut nyt "julkinen"
eilisestä asti
kari@kari-HP-255-G3-Notebook-PC:~$ cat /var/log/apache2/error.log
[Mon Feb 20 08:15:32.686951 2017] [mpm_event:notice] [pid 1498:tid 140110145410944] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Mon Feb 20 08:15:32.687005 2017] [core:notice] [pid 1498:tid 140110145410944] AH00094: Command line: '/usr/sbin/apache2'
[Mon Feb 20 09:02:54.750279 2017] [authz_core:error] [pid 3358:tid 140110030198528] [client 84.:54503] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/
[Mon Feb 20 09:02:54.817576 2017] [authz_core:error] [pid 3358:tid 140110038591232] [client 84.:54503] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/favicon.ico
[Mon Feb 20 09:02:54.844942 2017] [authz_core:error] [pid 3358:tid 140109953365760] [client 84.:54503] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/favicon.ico
[Mon Feb 20 11:02:09.335297 2017] [authz_core:error] [pid 3358:tid 140109944973056] [client 84.:53877] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/
[Mon Feb 20 11:02:09.412053 2017] [authz_core:error] [pid 3358:tid 140109936580352] [client :53877] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/favicon.ico
[Mon Feb 20 11:02:09.438247 2017] [authz_core:error] [pid 3358:tid 140109928187648] [client 84.:53877] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/favicon.ico
[Mon Feb 20 11:07:42.156821 2017] [authz_core:error] [pid 3358:tid 140109919794944] [client 191.96.249.42:35488] AH01630: client denied by server configuration: /home/kari/Julkinen/public_html/phpmyadmin
[Mon Feb 20 13:41:18.118591 2017] [mpm_event:notice] [pid 1498:tid 140110145410944] AH00491: caught SIGTERM, shutting down
[Mon Feb 20 13:41:19.320789 2017] [mpm_event:notice] [pid 7508:tid 140181643941760] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Mon Feb 20 13:41:19.321085 2017] [core:notice] [pid 7508:tid 140181643941760] AH00094: Command line: '/usr/sbin/apache2'
[Mon Feb 20 13:42:32.368689 2017] [authz_core:error] [pid 7511:tid 140181491414784] [client 84.:54488] AH01630: client denied by server configuration: /home/kari/julkinen/public_html/
[Mon Feb 20 13:42:32.443435 2017] [authz_core:error] [pid 7511:tid 140181483022080] [client 84.:54488] AH01630: client denied by server configuration: /home/kari/julkinen/public_html/favicon.ico
[Mon Feb 20 13:42:32.464920 2017] [authz_core:error] [pid 7511:tid 140181474629376] [client 84.:54488] AH01630: client denied by server configuration: /home/kari/julkinen/public_html/favicon.ico
kari@kari-HP-255-G3-Notebook-PC:~$
-
Okei, täytyy sallia pääsy tuonne hakemistoon Directory-säännöllä:
<Directory /home/kari/julkinen/public_html>
Options Indexes FollowSymlinks
AllowOverride None
Require all granted
</Directory>
Sen voi lisätä vaikka julkinen.conf-tiedostoon VirtualHost-konfiguraation sisään:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin admin@julkinen
ServerName julkinen
ServerAlias kari.julkinen
DocumentRoot /home/kari/julkinen/public_html
<Directory /home/kari/julkinen/public_html>
Options Indexes FollowSymlinks
AllowOverride None
Require all granted
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
/etc/apache2/apache2.conf-tiedostossa on vastaavat säännöt /var/www-hakemistolle. Homma toimi aiemmin ilman tätä säätöä, koska sivustosi oli /var/www:n alla esimerkki.com-hakemistossa.
-
Eikös palvelimen nimi pitäisi lisätä myös IP-numeron kanssa /etc/hosts-tiedostoon, ettei Apache valittaisi FQDN:n puuttumisesta?
-
Ok, nyt pääsin ilmeisesti oikeaan julkinen- kansioon, mutta näkyy vain tiedoston nimi näytöllä eli index.html.
Vielä pitäisi saada tiedoston sisältö näkyviin. Miten se onnistuu?
Sisältö on tehty bluegriffonilla .
host-tiedosto on tällainen:
192. localhost
84. kari-HP-255-G3-Notebook-PC
111.111.111.111 julkinen
-
Ok, nyt pääsin ilmeisesti oikeaan julkinen- kansioon, mutta näkyy vain tiedoston nimi näytöllä eli index.html.
Onhan se nyt tiedosto eikä hakemisto?
ls -ld /home/kari/julkinen/public_html/index.html
Jos on tiedosto, mitä se sisältää?
cat /home/kari/julkinen/public_html/index.html
-
tällainen on
kari@kari-HP-255-G3-Notebook-PC:~$ ls -ld /home/kari/julkinen/public_html/index.html
-rw-rw-r-- 1 kari kari 129 helmi 19 21:49 /home/kari/julkinen/public_html/index.html
kari@kari-HP-255-G3-Notebook-PC:~$
ja tällainen
<html>
<head>
<title> Terve </title>
</head>
<body>
<h1> index.html </h1>
</body>
</html>
-
Oho, vasta nyt vihdoin hokasin virheeni. Minulla oli julkinen-kansiossa tiedosto index.html sekä kansio public_html , jonka sisällä oli myöskin index.html tiedosto. Eli sivu otettiinkin tuon public-kansion sisältä. Nyt siirsin tuon "oikeaa sisältöä" olevan index.html:n tuonne publicin sisään, niin jo alkoi näyttää oikeaa sivua.
Suuret kiitokset kaikille osallistuneille, ja erityisesti jäsenelle nm!