Ubuntu Suomen keskustelualueet
Ubuntun kehittäminen ja yhteisö => Oppaiden kehittäminen => Aiheen aloitti: EeroL - 23.06.10 - klo:00.02
-
Tein mahdollisimman yksinkertaisen web-palvelimen josta on graafinen liittymä jätetty käynnistymättä. Sen voi käynnistää halutessaan. Etsin pitkään ohjetta joka sisältäisi kaikki yhdessä mutta en löytänyt. Niinpä kalusin lukemattomia sivuja läpi ja sain tehtyä systeemin johon voi luoda Apache:en useita sivuja, käyttäjätunnuksella ja salasanalla suojatun sivuston ja https-yhteydellä salatun sivuston.
Palvelimen osoite on 192.168.1.100
Palomuurista on estetty kaikki muu liikenne ulkoa sisäänpäin paitsi portit 80 ja 443 ja ohjattu osoitteeseen 192.168.1.100. Ei siis koko sisäverkkoon.
Se tapahtui seuraavasti:
Asennetaan Ubuntu 10.04 server.
Jätä kaikki palvelut pois.
Asennetaan gui
sudo aptitude update
sudo aptitude install gnome-core xinit
Bootataan kone ja kirjaudutaan sisään. Käynnistetään graaffinen liittymä komennolla startx
Laitetaan verkko kuntoon
sudo gedit/etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Laitetaan DNS kuntoon (omat dns-palvelimet, palomuurin osoite tai julkiset dns-palvelimet)
sudo gedit /etc/resolv.conf
192.168.1.2
192.168.1.3
Voit poistaa DHCP-määrityksen sudo apt-get remove dhcp-client
Käynnistetään verkko uusiksi sudo /etc/init.d/networking restart
Asennetaan synaptic
sudo apt-get install synaptic
Asennetaan vielä päivitykset ja puuttuva suomen kielen paketti synaptic:lla
update-manager
language-pack-gnome-fi
Kännistetään kone uusiksi. Muista ajaa päivitykset.
Asennetaan Apache
sudo aptitude install apache2 php5 apache2.2-common libapache2-mod-auth-mysql php5-mysql mysql-server
Asennetaan GD-tuki
sudo aptitude install php5-gd
Apache:n ja MySQL:n uudelleenkäynnistys
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart
Monta sivustoa
Luodaan sivut http://www.ekasivu.fi ja http://www.tokasivu.fi. Virtuaalipalvelimen saat käyttöösi luomalla asetustiedoston, jossa määrittelet virtuaalipalvelimen nimen sekä juurihakemiston. Asetustiedosto luodaan hakemistoon:
/etc/apache2/sites-available/. Juurihakemistot ovat /var/www/ekasivu ja /var/www/tokasivu
Luodaan hakemistot ekasivu ja tokasivu
sudo mkdir /var/www/ekasivu
sudo mkdir /var/www/tokasivu
Muista asentaa joku php- tai html-sivu myös yllä oleviin hakemistoihin jotta saat testattua.
Siirry oikeaan hakemistoon komennolla
cd /etc/apache2/sites-available
Luo asetustiedosto komennolla:
sudo gedit ekasivu
Kirjoita seuraava:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.ekasivu.fi
ServerAlias ekasivu.fi
DocumentRoot /var/www/ekasivu
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/ekasivu/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/ekasivu_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ekasivu_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>
Tehdään toinen sivu
sudo gedit tokasivu
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.tokasivu.fi
ServerAlias tokasivu.fi
DocumentRoot /var/www/tokasivu
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/tokasivu/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/tokasivu_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/tokasivu_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>
Ota virtuaalipalvelin käyttöösi komennolla:
sudo a2ensite ekasivu
sudo a2ensite tokasivu
Käynnistä palvelin uudelleen komennolla:
sudo /etc/init.d/apache2 restart
Yksittäisen virtuaalipalvelimen saat sammutettua komennolla:
sudo a2dissite ekasivu
Jotta sivu näkyy paikallisesti täytyy asentaa Firefox ja muokata hosts-tiedostoa.
Asenna firefox synaptic:sta
Muokkaa hosts
sudo gedit /etc/hosts
Lisää rivit:
192.168.1.100 http://www.ekasivu.fi
192.168.1.100 http://www.tokasivu.fi
Nyt kun kirjoitat www.ekasivu.fi aukeaa ekasivu ja tokasivu kun kirjoitat www.tokasivu.fi
Salasanasuojaus
Voit suojata sivusi salasanasuojauksella. Salasanasuojatulle sivulle pyrkiminen avaa ruudulle nimi-salasana-ikkunan, josta eteenpäin pääsee vain oikeilla tunnuksilla.
Salasanasuojauksen saat käyttöösi luomalla .htaccess-tiedoston salattavaan hakemistoon. Lisäksi on luotava salasanatiedosto, jossa määritellään käyttäjätunnus sekä salasana, jolla sivuille pääsy sallitaan.
Salasanatiedosto luodaan htpasswd-komennolla ja se tallennetaan johonkin muuhun hakemistoon kuin www-palvelimen juurihakemistoon. Salasanasuojaus vaatii myös Apachen asetuksien muokkaamista.
Luodaan salasanasuojaus sivustolle ekasivu
Avaa Apachen asetukset komennolla:
sudo gedit /etc/apache2/sites-available/ekasivu
Vaihda AllowOverride-rivillä None-merkinnän tilalle AuthConfig
<Directory /var/www/ekasivu>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
Käynnistä apache uudelleen komennolla:
sudo /etc/init.d/apache2 restart
Luo /var-hakemistoon htpasswd-tiedosto, jossa määritellään käyttäjätunnus ja salasana.
siirrytään hakemistoon /var
cd ..
cd /var
Seuraava komento luo salasanatiedoston /var-hakemistoon käyttäjätunnukselle testi ja pyytää antamaan käyttäjälle salasanan:
sudo htpasswd -c salasana testi (salasana on tiedoston nimi jossa salasanat ovat)
Tee .htaccess-tiedosto salattavaan hakemistoon eli tässä tapauksessa /var/www/ekasivu komennolla:
Siirrytään hakemistoon ekasivu
cd www/ekasivu (huomaa että olet var-hakemistossa)
Luodaan .htaccess-tiedosto
sudo gedit .htaccess
Kirjoita tiedostoon seuraavat rivit:
AuthType Basic
AuthName "Salattu sivu"
AuthUserFile /var/salasana
Require user testi
AuthType Basic kertoo, että käytetään normaalia autentikointityyppiä. AuthName kertoo, mitä lukee salasanan kyselyikkunassa. Tämän tekstin tulee olla lainausmerkeissä. AuthUserFile kertoo .htpasswd-tiedoston sijainnin. Require user määrittelee käyttäjätunnuksen.
Kun tiedosto on tallennettu salattavaan hakemistoon, hakemisto ja kaikki sen alihakemistot on suojattu salasanalla. Huomaa, että .htaccess on piilotiedosto, joten nähdäksesi sen sinun on muutettava hakemiston näkymää valitsemalla Näytä | Näytä piilotiedostot.
Käynnistä apache uudelleen komennolla:
sudo /etc/init.d/apache2 restart
SSL-salaus
Tehdään ekasivu:sta salattu sivu. Sertifikaatti sijaitsee /etc/apache2/ssl-hakemistossa. Itse tiedosto hakemistossa /etc/apache2/sites-available/
Luo kansio /etc/apache2/ssl komennolla sudo mkdir /etc/apache2/ssl
Aseta omistajaksi root komennolla sudo chown root:root /etc/apache2/ssl
SERTIFIKAATTI
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.
Luo kotihakemistoon scripti ssl.sh ja kopioi koodi:
(muokkaa pem-tiedosto haluamaksesi. sertifikaatti voimassa 3650 päivää eli n. 10 vuotta)
#!/bin/sh -e
if [ "$1" != "--force" -a -f /etc/apache2/ssl/ekasivu.pem ]; then
echo "/etc/apache2/ssl/ekasivu.pem exists! Use \"$0 --force.\""
exit 0
fi
if [ "$1" = "--force" ]; then
shift
fi
echo
echo creating selfsigned certificate
echo "replace it with one signed by a certification authority (CA)"
echo
echo enter your ServerName at the Common Name prompt
echo
echo If you want your certificate to expire after x days call this programm
echo with "-days x"
# use special .cnf, because with normal one no valid selfsigned
# certificate is created
export RANDFILE=/dev/random
openssl req $@ -config ssleay.cnf \
-new -x509 -nodes -out /etc/apache2/ssl/ekasivu.pem \
-keyout /etc/apache2/ssl/ekasivu.pem -days 3650
chmod 600 /etc/apache2/ssl/ekasivu.pem
ln -sf /etc/apache2/ssl/ekasivu.pem \
/etc/apache2/ssl/`/usr/bin/openssl \
x509 -noout -hash < /etc/apache2/ssl/ekasivu.pem`.0
Anna tiedostolle suoritusoikeudet klikkaamalla hiiren oikealla, valitsemalla Ominaisuudet, valitsemalla Oikeudet ja laittamalla täppi kohtaan Salli tiedoston suoritus ohjelmana
Luo samaan hakemistoon tiedosto ssleay.cnf ja kopioi koodi:
#
# SSLeay example configuration file.
#
RANDFILE = $ENV::HOME/.rnd
[ req ]
default_bits = 1024
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
countryName = Maan nimi
countryName_default = FI
countryName_min = 2
countryName_max = 2
stateOrProvinceName = Lääni
stateOrProvinceName_default = Varsinais-Suomi
localityName = Kaupunki
organizationName = Organisaatio
organizationName_max = 64
organizationalUnitName = Yksikkö
organizationalUnitName_max = 64
commonName = Sivuston nimi (Sama kuin osoite. Esim. www.ekasivu.fi)
commonName_max = 64
emailAddress = Sähköpostiosoite
emailAddress_max = 40
Aja koodi komennolla sudo ./ssl.sh
Vastaile tuleviin kysymyksiin.
Aktivoidaan SSL-moduuli
sudo a2enmod ssl
Lisätään ekasivulle portti 443
sudo gedit /etc/apache2/sites-available/ekasivu
Lisätään koodi (älä poista mitään):
NameVirtualHost *:443
<virtualhost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/ekasivu.pem
ServerAdmin webmaster@localhost
ServerName www.ekasivu.fi
ServerAlias ekasivu.fi
DocumentRoot /var/www/ekasivu
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/ekasivu/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/ekasivu_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ekasivu_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>
Aktivoidaan asetukset.
sudo a2ensite ekasivu
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.
sudo /etc/init.d/apache2 restart
Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan.
Nyt käyttäjä pystyy valitsemaan käyttääkö hän salausta vai ei. Usein halutaan pakottaa käyttäjä käyttämään salattua yhteyttä. Se onnistuu Mod rewritella.
Aktoivoidaan moduuli.
sudo a2enmod rewrite
Muokataan tiedostoa /etc/apache2/sites-available/ekasivu lisäämällä <VirtualHost *>-tagin sisään:
sudo gedit /etc/apache2/sites-available/ekasivu
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/salainen(.*)$ https://%{SERVER_NAME}/salainen$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2
Nyt http://www.ekasivu.fi/salainen/ ohjautuu automaattisesti SSL-salattuun yhteyteen https://www.ekasivu.fi/salainen/. Jos haluat kaikki sivut SSL-salauksen alle voit jättää edelliseen hakemiston kohdalle pelkästään /:n. Eli jätä vain sana "salainen" pois. Tämä salainen on jotta muistaisi miten tehdään jos ei haluakaan salata juurihakemistoa.
Muutokset tulevat voimaan käynnistämällä Apache uusiksi.
sudo /etc/init.d/apache2 restart
Asennetaan vielä etähallintaa varten SSH-yhteys, FTP-palvelin ja phpmyadmin kantojen luontia varten.
SSH-palvelu
sudo apt-get install openssh-server
Uudelleenkäynnistys sudo /etc/init.d/ssh restart
Nyt voit ottaa toiselta koneelta yhteyden esim. Putty:llä ja bootata tarvittaessa kone.
FTP-palvelin
Hieno graafinen ftp-palvelin on PROFTPD
Valitse synaptic:sta proftpd-basic
Asennuksen jälkeen se löytyy Sovellukset -> Järjestelmätyökalut -> GADMIN-PROFTPD
Anna seuraavat tiedot:
Servers-välilehti:
Palvelimen nimi
Palvelimen osoite
Sertifikaatin salasana
Valitse alhaalla oleva Apply
Luo käyttäjiä Users-välilehdeltä
Anna käyttäjänimi ja salasana
Määrittele kotihakemisto. Voi olla esim /var/www/ekasivu. Tallöin tälle tunnukselle aukeaa automaattisesti ekasivu jolloin sivuja on helppo muokata.
Muut asetukset saat itse miettiä
Siinä kaikki. Muista tarkastaa että tila on Activated
PHPMYADMIN
Asennetaan phpmyadmin hallintaa varten. Näin voit luoda uusia tietokantoja.
Valitse Synaptic:sta phpmyadmin tai komentoriviltä sudo aptitude install phpmyadmin
Asennuksen jälkeen kirjaudu osoitteesta http://192.168.1.100/phpmyadmin
Siinä kaikki. Jos tulee jotain ajatuksia, kysymyksiä, kritisoitavaa parannusehdotuksia, niin kirjoitelkaa ihmeessä. Varsinkin kaikki kritiikki on tervetullutta.
Ilman kritiikkiä ei tapahdu kehitystäkään.
Huomatkaa että olen täys tumpelo Ubuntun kanssa vielä. Ylläpidän työkseni Windows-palvelimia ja hoitelen normaaleja atk-tuen hommia. Ubuntu on kyllä hieno systeemi kun olisi vaan aikaa opetella se kunnolla.
-
Hieno ohje!
Kannattaa kirjoittaa näitä ohjeita tuonne Ubuntu Suomen wikin puolelle. Siellä niitä voi sitten kuka tahansa muokata ja ylläpitää tarvittaessa.
-
Sen verran täytyy nalkuttaa, että vaihdatko
sudo gedit
joko muotoon sudo nano
tai gksudo gedit
ettei riskeerata oikeuksien muuttumista kotihakemistossa.
Hieno ohje tosiaan! Tämän turvin minäkin uskallan ehkä viritellä viimeinkin useamman sivuston toimimaan samassa palvelimessa. Tähän mennessä se on aina kaatunut johonkin säätöön.
-
Mihin palvelimessa tarvitaan graafista käyttöliittymää?
-
Olen utelias vielä "/etc/apache2/ports.conf" -tiedoston sisällöstä. Mainiota että olet jaksanut kirjoitella ylös nuo vaiheet, tuo helpottaa varmasti monen tietä.
Taustatietona vielä, Apachen pystyy määrittelemään kahdella eri tavalla palvelemaan montaa sivustoa samalla koneella:
- "Name-based" : Käytössä vain yksi ip-osoite jossa kaikki sivustot sijaitsevat, oikea sivusto tunnistetaan nimen avulla.
- "IP-based": Jokaiselle sivustolle on oma ip-osoite johon sivusto on liitetty.
http://httpd.apache.org/docs/2.1/vhosts/name-based.html (http://httpd.apache.org/docs/2.1/vhosts/name-based.html)
-
Moi
Kiitos vastauksista.
Kirjoittelen tästä lähtien Wikiin jos tulee tällaista vielä. En tiedä kun ei koskaan tiedä mitä tulevaisuus tuo tullessaan. Päätinpä vaan siirtää julkiset web-sivustot Linux-palvelimelle niin sain Windows-lisenssin toiseen käyttöön. Ja piti dokumentoida asennus. Varmistuskin on tehtynä mutta laitan sen Wikiin kun ehdin.
Nyt vähän hävettää. Mä en luonut gedit:llä kotihakemistoon mitään. Vedin ne vinukka-tyyliin hiiren oikealla ja annoin oikeat nimet (ssl.sh ja ssleay.cnf) ja taas hiiren oikealla ja suoritusoikeuden ssl.sh:lle. Muita tiedostojahan ei tule kotihakemistoon. Nekin voi poistaa kun on sertifikaatti luotu. Mutta kiitos vinkistä. Opettelin uuden komennon :).
Graafista käyttöliittymää käytin oikeastaan kaikkeen konffaamiseen. Ilman graafista ei gedit toimi ja se on ainut mitä osaan kunnolla käyttää. Vi on musta turhan vaikee käyttää. Lisäksi FTP:tä, päivityksiä ja varmistusta (joka puuttuu tästä) hallitaan graaffisen kautta. Musta se on huomattavasti helpompaa kuin ruveta ihmettelee jumalatonta tekstitiedostoa. Ja toimii aivan yhtä hyvin. Sitten kun serveri pyörii kunnolla, niin sitten ei graafista enää mihinkään tarvitakaan. Tässähän graafinen ei käynnisty automaattisesti vaan se on käynnistettävä komennolla startx ;)
Tämä on nimenomaan systeemi jossa on vaan yksi ip-osoite. Mä en oikein ymmärrä mitä hyötyä on määritellä jokaiselle sivustolle oma ip-osoite. Jos serverillä pyörii esim kahdeksan sivustoa niin sehän tarkoittaa että yhdellä koneella tarvii olla kahdeksan ip-osoitetta. Nyt riittää yksi. Lisäksi rautapalomuurissa se on mahdotonta. Julkisen DNS:n nimet pitää ohjata johonkin julkiseen ip-osoitteeeseen tässä tapauksessa oman palomuurin WAN:in. ja sieltä ohjataan nat:n kautta koneelle 192.168.1.100. Lisäksi ulkoa sisään on vain portit 80 ja 443 auki. Nat ei tue samojen porttien ohjausta eri osoitteisiin. (ainakaan niissä jotka ovat mun hallinnassa)
/etc/apache2/ports.conf on oletusasetuksissa. Siihen ei tarvi koskea. Siellä kuunnellaan porttia 80 ja jos löytyy *:443 niin kuunnellaan porttia 443. Tämä sallii https-yhteyden. Mä en saa sitä nyt kopioitua tähän. Jos käytetään jotain ei-standardia porttia esim. 8080 niin lisätään se ports.conf:in samaan tyyliin kuin siellä on *:443. En oo tosin testannut mutta silleen nopeesti ajateltuna se menee noin. Toki täytyy olla myös tiedosto hakemistossa /etc/apache2/sites-available jossa on portti 8080 määritelty.
-
Osaako kukaan Lighttpd:llä samaa?
-
Mikähän minulla on vikana kun ei enää toimi. Liitteenä konffit (.txt-päätteet lisätty). Symboliset linkit löytyvät sites-enabled-hakemistosta (tehty sillä a2ensite:llä). Mitä muuten tuohon ServerNameen pitäisi kirjoittaa default-tiedostossa?
Muokkaus: Liitteet poistettu.
-
Katsoin joitain malli-defaultteja, niissä ei ollut tuota ServerName -riviä ollenkaan. Onhan sinulla /etc/apache2/server.d/virtual.conf ja ja siellä "NameVirtualHost *" ? Mikä asia ei toimi ?
Tuli muuten mieleen muuan varoitus jonka näin että Apache pitäisi konffata (hakkereiden takia) niin että pelkällä ip: llä ei pääsisi kiinni mihinkään järkevään sivustoon. Tuolla tosin ei ole merkitystä jos Apache tarjoilee sivuja vain sisäverkkoon jolloin se ei näy ulkopuolisille ollenkaan.
http://stackoverflow.com/questions/719925/how-to-prevent-hackers-from-exploiting-apache-sites-available-default-file (http://stackoverflow.com/questions/719925/how-to-prevent-hackers-from-exploiting-apache-sites-available-default-file)
Toinen mielenkiintoinen silmään osunut asia oli että defaulttina toimii aakkosissa ensimmäinen sivusto. Tuota en ole tarkastanut mutta erittäin mahdollista.
-
Katsoin joitain malli-defaultteja, niissä ei ollut tuota ServerName -riviä ollenkaan. Onhan sinulla /etc/apache2/server.d/virtual.conf ja ja siellä "NameVirtualHost *" ? Mikä asia ei toimi ?
Ei ole edes server.d-hakemistoa tuolla. Mitä tuo NameVirtualHost * tekee käytännössä? En oikein tajunnut Apachen ohjeita (http://httpd.apache.org/docs/2.2/vhosts/). Laitoin sen kuitenkin /etc/apache2/conf.d/virtual.conf-tiedostoon, jota ei ollut olemassa.
Ongelma on se, että palvelimen IP:llä olevaksi tarkoitettu sivu näkyy kaikissa palvelimen IP:seen ohjatuissa osoitteissa, vaikka silloin pitäisi näkyä sille tarkoitettu erillinen sivu, mutta sain sen nyt toimimaan oikein.
Tuli muuten mieleen muuan varoitus jonka näin että Apache pitäisi konffata (hakkereiden takia) niin että pelkällä ip: llä ei pääsisi kiinni mihinkään järkevään sivustoon. Tuolla tosin ei ole merkitystä jos Apache tarjoilee sivuja vain sisäverkkoon jolloin se ei näy ulkopuolisille ollenkaan.
http://stackoverflow.com/questions/719925/how-to-prevent-hackers-from-exploiting-apache-sites-available-default-file (http://stackoverflow.com/questions/719925/how-to-prevent-hackers-from-exploiting-apache-sites-available-default-file)
Tuota pitää miettiä. :) Varmaankin on parasta tehdä oma hakemisto (jonne laitan jonkun sivun) tuota varten, jos en laita tuota virheilmoitusta. :)
Toinen mielenkiintoinen silmään osunut asia oli että defaulttina toimii aakkosissa ensimmäinen sivusto. Tuota en ole tarkastanut mutta erittäin mahdollista.
Laitoin default-tiedoston <VirtualHost ...>-kohtaan <VirtualHost _default> ja rupesi toimimaan.
Siirsin vielä pari oikeuksiin liittyvää juttua pois <VirtualHost>:sta, jotta ne pätisivät aina. Vai olenko ymmärtänyt tämän väärin?
Kiitos vinkeistä. :)
-
Ongelma on se, että palvelimen IP:llä olevaksi tarkoitettu sivu näkyy kaikissa palvelimen IP:seen ohjatuissa osoitteissa, vaikka silloin pitäisi näkyä sille tarkoitettu erillinen sivu...
Eli virtual hosting ei ole aktiivinen.
Ei ole edes server.d-hakemistoa tuolla. Mitä tuo NameVirtualHost * tekee käytännössä? En oikein tajunnut Apachen ohjeita. Laitoin sen kuitenkin /etc/apache2/conf.d/virtual.conf-tiedostoon, jota ei ollut olemassa.
Tuon pitäisi aktivoida virtual hosting. Ei osunut silmään Apachen dokumentista jotka eivät ole aivan helppolukuiset mutta löysin tuon vinkin muualta. Miksi se määritys on tuolla --- en tiedä. Jäi tutkimatta tarkemmin kun itselläni se aikoinaan alkoi toimia tuolla mutta sen voinee (?) virittää muuallekin. Jossain tuo "NameVirtualHost *" pitää kuitenkin olla, en tiedä mistä kaikkialta Apache löytää sen.