Skip to content

Virtuaalipalvelin, DNS

Tarkoituksena oli kokeilla virtuaalipalvelinta ja saada useampi DNS-nimi samaan ip-osoitteeseen.

Tehtävä on osa Haaga-Helian Linux palvelimena -kurssia.

Koneen tiedot

OS: Windows 10, 64-bit

CPU: Intel Core i5 2500K @ 4.40 GHz

RAM: 8,00 Gt

Ympäristö

Otin tehtävässä SSH-yhteyden virtuaalipalvelimeen Putty-ohjelmalla.

Virtuaalipalvelin

Alkusäädöissä hyödynsin Pesosen dokumenttia

Vuokrasin itselleni virtuaalipalvelimen DigitalOceanilta hyödyntäen Github education -pakettia. Vuokraamisen jälkeen sain sähköpostilla palvelimen ip-osoitteen ja root-käyttäjän salasanan

Yhdistin palvelimelle Puttyn avulla. Ilmoitin ensin käyttäjän ja sitten salasanan

Palomuuri

Ensimmäiseksi avasin palomuurista portin 22, jotta SSH-yhteys toimii ja sen jälkeen käynnistin palomuurin

sufo ufw allow 22/tcp
sudo ufw enable

Uusi käyttäjä, ympäristö kuntoon

Loin uuden käyttäjän ja lisäsin hänet ryhmään sudo. Noudatin myös Pesosen esimerkkiä ja lisäsin käyttäjän myös ryhmiin adm ja admin.

sudo adduser niko
sudo adduser niko sudo
sudo adduser niko adm
sudo adduser niko admin

Tämän jälkeen kirjauduin ulos rootilta ja kirjauduin takaisin luomallani tunnuksella.

Ubuntu1.png

Seuraavaksi päivitin järjestelmän ajan tasalle, asensin apachen ja avasin palomuurista tarpeelliset portit

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo a2enmod userdir
mkdir public_html
sudo ufw allow 80
sudo /etc/init.d/apache2 restart

Lopuksi loin vielä public_html hakemistoon index.html-tiedoston.

Ubuntu2.png

Tämän jälkeen kirjoitin selaimen hakukenttään ip-osoite/~niko ja selain yhdisti minut palvelimelleni.

Ubuntu3.png

Halusin vielä, että palvelimeen yhdistäminen ohjaisi käyttäjän suoraan kotihakemistooni.

cd /etc/apache2/sites-available
sudo nano niko.conf

Ubuntu4.png

Seuraavaksi otin luomani .conf-tiedoston käyttöön ja samalla otin default.conf-tiedoston pois käytöstä.

sudo a2ensite niko.conf
sudo a2dissite 000-default.conf

Lopuksi käynnistin vielä palvelimen uudelleen

sudo /etc/init.d/apache2 restart

Tämän jälkeen pelkkään ip-osoitteeseen yhdistäminen johti suoraan kotihakemistoni

Ubuntu5.png

DNS

Tätä tehtävää varten käytin virtuaalikonetta jonka sisällä oli Xubuntu 16.04
Koneeseen oli asennettu valmiiksi apache2.

Tehtävässä oli tarkoitus saada useampi dns-nimi yhdistämään samaan palvelimeen.
Hyödynsin tässä tehtävässä Variksen dokumenttia

Loin kahdelle dns-nimelle omat hakemistot ja kopioin niihin jo valmiin index.html-tiedoston

mkdir nkaartinen.com
mkdir nikaar.com
cp index.html nkaartinen.com/
cp index.html nikaar.com/

Tämän jälkeen tein niihin pieniä muutoksia, jotta sivut voidaan erottaa toisistaan

Ubuntu6.png

Ubuntu7.png

Menin hakemistoon /etc/apache2/sites-available ja loin sinne kaksi .conf-tiedostoa molemmille domaineille. Tiedostoissa määrittelin, että molemmat domainit osoittavat omiin hakemistoihin oman kotihakemistoni sisällä.

Ubuntu8.png

Ubuntu9.png

Sitten otin nämä tiedostot käyttöön ja käynnistin palvelimen uudelleen

sudo a2ensite nkaartinen.conf
sudo a2ensite nikaar.conf
sudo /etc/init.d/apache2 restart

Lopuksi muokkasin tiedostoa /etc/hosts. Lisäsin palvelimen osoitteen osoittamaan kahteen domainiin.

sudoedit /etc/hosts

ubuntu10.png

www.nkaartinen.com

Ubuntu11.png

www.nikaar.com

Ubuntu12.png

Ongelmia

En pystynyt lukitsemaan root-käyttäjää komennolla sudo usermod –lock root. Virheilmoitukseksi tuli “usermod: user root is currently used by process 1”. Katsoin topilla prosessien määrää.

Ubuntu13.png

Koska root käyttää noin montaa eri prosessia, oletan että tähän on olemassa fiksumpikin keino, kuin että alkaisin sulkemaan jokaista rootin käyttämää prosessia ennen käyttäjän lukitsemista.

[EDIT 5.10.2016: oikea komento olisi sudo usermod -L root]

Lähteet

http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde
Linux Server – Task 5: Apache Name-Based Virtual Hosting
https://ppesonen.wordpress.com/2016/09/28/linux-palvelimena-kotitehtava-6/

Published inUncategorized

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *