Kirjoittaja Aihe: 10.04 server, web-palvelin jossa monta sivustoa, salasanakysely ja ssl-salaus  (Luettu 13503 kertaa)

EeroL

  • Käyttäjä
  • Viestejä: 57
    • Profiili
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
Koodia: [Valitse]
   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
Koodia: [Valitse]
   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:
Koodia: [Valitse]
<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

Koodia: [Valitse]
<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:
Koodia: [Valitse]
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
Koodia: [Valitse]
<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:
Koodia: [Valitse]
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)
Koodia: [Valitse]
   #!/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:
Koodia: [Valitse]
   #
    # 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):
Koodia: [Valitse]
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
Koodia: [Valitse]
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.
« Viimeksi muokattu: 23.06.10 - klo:01.03 kirjoittanut EeroL »

Ilokaasu

  • Käyttäjä
  • Viestejä: 1547
    • Profiili
Hieno ohje!

Kannattaa kirjoittaa näitä ohjeita tuonne Ubuntu Suomen wikin puolelle. Siellä niitä voi sitten kuka tahansa muokata ja ylläpitää tarvittaessa.


Tha-Fox

  • Käyttäjä
  • Viestejä: 3315
  • Arch Linux && CentOS
    • Profiili
    • http://kettu.dy.fi
Sen verran täytyy nalkuttaa, että vaihdatko
Koodia: [Valitse]
sudo gedit joko muotoon
Koodia: [Valitse]
sudo nano tai
Koodia: [Valitse]
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.

mrl586

  • Käyttäjä
  • Viestejä: 4638
    • Profiili
Mihin palvelimessa tarvitaan graafista käyttöliittymää?

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
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
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

EeroL

  • Käyttäjä
  • Viestejä: 57
    • Profiili
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.

« Viimeksi muokattu: 24.06.10 - klo:21.27 kirjoittanut EeroL »

Karvameduusa

  • Käyttäjä
  • Viestejä: 1055
    • Profiili
Osaako kukaan Lighttpd:llä samaa?

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11433
    • Profiili
    • Tomin kotisivut
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.
« Viimeksi muokattu: 10.09.10 - klo:18.03 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
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

Toinen mielenkiintoinen silmään osunut asia oli että defaulttina toimii aakkosissa ensimmäinen sivusto. Tuota en ole tarkastanut mutta erittäin mahdollista.

« Viimeksi muokattu: 10.09.10 - klo:00.28 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11433
    • Profiili
    • Tomin kotisivut
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. 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
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ä. :)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Lainaus
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.

Lainaus
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.  
« Viimeksi muokattu: 11.09.10 - klo:21.10 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.