Kirjoittaja Aihe: [ ratkaistu ] Moni-isännöinti toimimaan Ubuntu 18.04 Apache2:ssa?  (Luettu 2450 kertaa)

teele

  • Käyttäjä
  • Viestejä: 809
    • Profiili
Pilvipalvelimessa on Ubuntu 18.04 ja Apache2. Toivomuksena olisi saada moni-isännöinti (virtual hosting) toimimaan niin, että palvelimella voidaan pitää portissa 80 muutamaa eri sivustoa, esimerkiksi kissasivut, koirasivut ja pupusivut.

Palvelin näyttää

Koodia: [Valitse]
/etc/apache2/sites-available$ ls
000-default.conf  default-ssl.conf  koirasivut.conf


joten koirasivujenkin pitäisi olla näkyvissä. 000-defaultissa on osoitteena kissasivujen index.html:n sisältävä hakemisto.

Koodia: [Valitse]
cat /etc/apache2/sites-available/000-default.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 webmaster@localhost
DocumentRoot /var/www/html/kissasivut

# 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>

koirasivut.conf on muuten samanlainen kuin 000-default.conf:kin, mutta siellä on

Koodia: [Valitse]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/koirasivut

DocumentRoot:na.

Netistä on paljon kysymyksiä samasta asiasta, mutta olen mielestäni tehnyt kaikki vaadittavat temput palvelimen uudelleenkäynnistys mukaan luettuna. Koska sivut ovat saatavissa, se kertoo, että a2ensite:kin on tehty (varmaan jo monta kertaakin ).

Vielä en ole kokeillut a2dissite:ä kissasivuille eli 000-defaultille, koska vaarana on, että kaikkien sivujen näkyminen loppuisi. Nyt tilanne on siis se, että kun pyydetään koirasivua, palvelin lähettää kissasivun ja kissasivun saa myös sitä pyydettäessä.



« Viimeksi muokattu: 07.04.19 - klo:10.19 kirjoittanut teele »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11433
    • Profiili
    • Tomin kotisivut
Vs: Moni-isännöinti toimimaan Ubuntu 18.04 Apache2:ssa?
« Vastaus #1 : 06.04.19 - klo:10.51 »
ServerName pitää määritellä koirasivujen asetuksissa. Muuten Apache ei tiedä, että haluat tarjoilla ne.

https://httpd.apache.org/docs/2.4/vhosts/name-based.html
https://httpd.apache.org/docs/2.4/mod/core.html#servername

Eli lisää sinne jonnekin ServerAdminin lähistölle seuraavaa:
Koodia: [Valitse]
ServerName koirasivut.dy.fi tai mikä onkaan sen domain.

Tuo kuvaillaan myös tuossa lainaamassasi kommentissa.
« Viimeksi muokattu: 06.04.19 - klo:10.53 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

teele

  • Käyttäjä
  • Viestejä: 809
    • Profiili
Vs: Moni-isännöinti toimimaan Ubuntu 18.04 Apache2:ssa?
« Vastaus #2 : 06.04.19 - klo:11.43 »
nyt on (sivujen nimet eivät ole todellisia) eli Servername on se osoite, josta sivuja pyydetään selaimella ja DocumentRoot on sen hakemiston osoite, jossa on sivujen index.html -tiedosto. Varmuuden vuoksi vielä lainausmerkitkin on lisätty DocumentRootiin linkissä olleen ohjeen perusteella.

Koodia: [Valitse]
ServerAdmin webmaster@localhost
        ServerName koirajutut.dy.fi
DocumentRoot "/var/www/html/koirasivut"


ja sitten on tehty

Koodia: [Valitse]
sudo /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.

Mutta kun pyydetään selaimessa koirajutut.dy.fi, tulee kissajutut, joka on siis oletuksena 000-defaultissa, tai siis kissajuttujen hakemiston osoite on 000-defaultissa DocumentRootina.

Muokk.

Nyt näyttäisi toimivan, en tiedä, missä kaikissa kohdissa tein aluksi väärin, mutta tässä vielä ilmeisesti oikeat temput. Kiitos neuvoista  :)

// tämä on dy.fi-päivitystiedosto, uuden  sivuston nettiosoite lisätään tänne. siis
// esim. koirajutut.dy.fi
sudo nano /usr/local/etc/dyfi-update.conf 
 
// sitten tehdään koirajuttujen hakemisto palvelimella, yhdysviiva on kielioppivirhe, mutta
// auttaa selventämään asiaa
sudo mkdir /var/www/html/koira-sivut

// kopioidaan vaikka kissajuttujen hakemistosta valmista aineistoa pohjaksi
sudo cp -r /var/www/html/kissa-sivut/*.* /var/www/html/koira-sivut

// kirjoitetaan uudet jutut vanhojen tilalle kopioituun pohjaan
sudo nano /var/www/html/koira-sivut/index.html

// tehdään hakemistoon  /etc/apache2/sites-available/ koira-sivut.conf -tiedosto
// voidaan kopioida ja muokata kissa-sivut.conf -tiedostosta,  pääsee helpommalla
cd /etc/apache2/sites-available/
sudo nano koira-sivut.conf

// kerrotaan apachelle, että uudet koira-sivut ovat käytettävissä
sudo a2ensite koira-sivut

// lopuksi uudelleenkäynnistetään apache
sudo systemctl restart apache2



« Viimeksi muokattu: 07.04.19 - klo:10.23 kirjoittanut teele »