Linux palvelimet – Virtual Private Server (VPS)

Tehtävänanto:

h4.
“Kokeile virtuaalipalvelinta (VPS). Voit vuokrata palvelimen esimerkiksi Linodelta, Amazonilta, DigitalOceanilta, OVH:lta tai monista muista paikoista. Amazonilla saattaa olla ilmainen kokeilupaketti, DigitalOcean on halvin. Vaihtoehto: jos et jostain syystä halua vuokrata virtuaalipalvelinta, voit kokeilla tehdä oman vagrantilla.
Laita käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna.
Vapaaehtoinen lisätehtävä:
Laita monta DNS-nimeä samaan IP-osoitteeseen. Apache Name Based Virtual Hosting.
=======================
Linkeissä on ohjeita kotitehtäviin, ne kannattaa silmäille ennen aloittamista.
Linkkejä:
Apachen oletussivu:
http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde
Monta nimeä samaan IP-osoitteeseen
https://jvaris.wordpress.com/2014/03/03/linux-server-task-5-apache-name-based-virtual-hosting/
Virtuaalipalvelimia vuokrataan:
http://www.linode.com/?r=16774ec53118157d3f5d6e9be9147875cdb167bb(associate-linkki, ilman: http://www.linode.com)
https://www.digitalocean.com/
http://aws.amazon.com/vpc/ (monet Amazonin palvelut skaalautuvat automaattisesti, maksimihinnan rajoittaminen voi olla tarpeen)
Julkisia nimiä vuokrataan
https://www.namecheap.com
https://www.gandi.net
Harjoittelua varten voit kokeilla myös http://www.dot.tk/ (ei tärkeille nimille)
Päivitetty: DNS nimiä myydään -> vuokrataan”.
Ohjeiden lähde: http://terokarvinen.com/2016/aikataulu-linux-palvelimet-alkusyksy-2016

Harjoituksessa käytetty laitteisto:

  • 16GB Kingston DataTraveler 100 G3 USB 3.0 muistitikku
  • Tietokone (Asus Z170-A, i7-6700K , 16GB DDR4 3200MHz, Evga 1070 sc)
  • Oheishärpäkkeet

Alustavat valmistelut:

Seuraavat toimet suoritan aina, kun alan tekemään linux-harjoitusten eri osioita.
Boottasin Xubuntu-livetikulle valitsemalla USB-muistitikun käynnistyksen yhteydessä bootattavaksi levyksi.  Kun kysyttiin haluanko testata Xubuntua vaiko asentaa sen, valitsin vaihtoehdon “Try Xubuntu without installing“. Lyhyen latauksen päästä pääsin työpöydälle.
Yhdistin heti kotini langattomaan verkkoon työpöydän oikeasta yläkulmasta sekä muutin näppäimmistön layoutin suomiversioksi. Tämä onnistui asetukset -> näppäimmistö -> layout -> täppä pois “use system defaults”, jonka jälkeen alhaalta “add”-painikkeesta lisätään suomi näppäimmistön kieleksi. Sitten oikealla olevista nuolista siirretään Finnish-vaihtoehto English-vaihtoehdon yläpuolelle, ja ääkköset pelittää.
Avasin terminaalin, johon syötin heti ensimmäisenä komennon “$ sudo apt-get update“. Kyseinen komento päivittää pakettivarastot, ja se kannattaa suorittaa aina ennen kuin hyödyntää paketinhallintaa mihinkään.

Virtuaalipalvelimen vuokraus:

Aloitin harjoituksen tekemisen perjantaina 23.9.2016. kello 14.15. Rekisteröidyin Github:iin, josta sain DigitalOceanille 50€ edestä credittiä. Tämän jälkeen Rekisteröidyin DigitalOceaniin, joka vaati joko luottokortti – tai paypal-tunnukset rekisteröinnin yhteydessä. Loin uuden Dropletin Ubuntulle. Datacenterin valitsin Frankfurttiin Saksaan ja palvelimen ominaisuuksiksi seuraavat:

  • 1 GB / 1CPU
  • 30 GB SSD disk
  • 2TB transfer

Kokonaisuutena palvelimen hinnaksi tulee 10€ kuukaudessa. Sain kuitenkin Githubin educational packin myötä sen 50€ credit, joten omia kustannuksia tästä ei pitäisi kertyä kurssin aikana.
DigitalOcean droplet.png

Apachen oletussivun muuttaminen

Aivan ensimmäisenä asensin ssh:n 2. harjoituksen raportin mukaisesti komennolla “$ sudo apt-get install ssh“.
Seuraavaksi otin ssh yhteyden DigitalOceanilta saamillani root-tunnuksin. “$ ssh root@46.101.199.190“. Salasanan sain myös DigitalOceanilta sähköpostiini. Minun täytyi heti vaihtaa root-salasana, mutta vaihdettuani sen pääsin sisään.

root@ubuntu:~#

Sitten loin itselleni uuden käyttäjätunnuksen komennolla “$ sudo adduser markus“. Asetin käyttäjälle salasanan ja menin eteenpäin. Liitin uuden käyttäjäni myös sudo-ryhmään sekä adm-ryhmään komennoilla “$ sudo adduser markus sudo” ja vastaavasti “$ sudo adduser markus adm“.
Kirjauduin ulos rootin ssh-yhteydestä komennolla “exit“. Ja kokeilin nyt kirjautua uudella omalla uudella tunnuksellani: “$ ssh markus@46.101.199.190“.
Screenshot_2016-09-23_15-35-58.png
Näyttäisi pelittävän oikein. Kokeilin kuitenkin vielä echo-komennolla “$ sudo echo terve“.
Seuraavaksi aion poistaa root tunnukset pois käytöstä. Ssh yhteydellä omalle käyttäjälleni yritin lukita rootin komennolla “$ sudo usermod -lock root“. Kirjoitin salasanani pyydettäessä, mutta vastaukseksi tuli “user root is currently used by process 1“. Kokeilin kirjautua ulos ssh-yhteydestä ja sitten kirjautua takaisin sisään, mutta ei mitään vaikutusta. Rootkäyttäjä on selkeästi jossain prosessissa nyt mukana, enkä voi poistaa sitä. En ollut varma mitä tehdä tässä kohtaa, joten jatkoin vain eteenpäin.
EDIT: Root-tunnusten poistaminen ei onnistunut, koska komento oli väärä. Lisää ylläolevaan komentoon yksi “-” lisää.
(Muokattu 12.10.2016 Markus Pyhäranta)
Tämän jälkeen asensin Apachen terminaalin komennolla “$ sudo apt-get install apache2“.
Tässä vaiheessa ajattelin avata pari porttia tulimuurin läpi:
$ sudo ufw allow 80/tcp” eli HTTP-portti.
$ sudo ufw allow 22/tcp” eli ssh-portti.
Nyt, kun navigoin palvelimeni ip-osoitteeseen saan apachen oletussivun näkyviin.
Tarkoituksen oli seuraavaksi muuttaa tuo oletussivu omaksi html-sivuksi. Ohjeina käytin: http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde
Tein conf tiedoston komennolla: “$ sudoedit /etc/apache2/sites-available/markus.conf“.
Kyseiseen conf-tiedostoon laitoin ohjeiden mukaisesti:
/etc/apache2/sites-enabled/tero.conf

DocumentRoot /home/tero/public_html/

Require all granted

Tallensin ja seuraavaksi lisäsin kyseisen oletussivukseni terminaalin komennoilla:
$ sudo a2ensite markus.conf” ja “$ sudo a2dissite 000-default.conf“.
Muutosten jälkeen apache piti käynnistää uudelleen komennolla “$ sudo service apache2 restart“.
Seuraavaksi halusin tehdä simppelin html sivun, joka sitten tulisi myös näkyviin julkisen palvelimeni sivuille.
Seuraavat vaiheet on seurattu harjoitus 3:n apachen asennus kohdasta.
Loin kotihakemistooni kansion “public_html” komennolla: “$ mkdir public_html
Seuraavaksi nano-tekstieditoria hyödyntäen, tein simppelin index.html tekstitiedoston kotihakemiston kansioon public_html. Laitoin sinne simppelin html-pohjan, jonka katsoin sivulta http://www.w3schools.com/html/. Tallensin teksitiedoston painamalla Ctrl + x -> y (yes) ja sitten enter.
Nyt, kun päivitän sivuni, se näyttää 403 forbidden error. Jostain syystä en saa apachen access tai error.logiin tapahtumasta mitään tietoa. “$ tail -F /var/log/apache2/access.log“.
Screenshot_2016-09-23_16-31-55.png
EDIT: Tunari nimeltä Pyhäranta Markus oli sitten päättänyt kopioida conf-tiedostoon kaiken sanatarkasti, eikä muuttanut conf-tiedoston ja käyttäjän kotihakemiston tietoja oikeiksi… Laita sinne omat tietosi oikein!
Nyt sivu apachen aloitussivu näkyy oikein.
(Muokattu 12.10.2016 Markus Pyhäranta)

Yhteenveto:

Tässä harjoituksessa vuokrattiin onnistuneesti virtuaalipalvelin DigitalOceanilta, joka otettiin sitten käyttöön Xubunun puolella. Palvelimen root-tunnusten sulkeminen epäonnistui syystä tai toisesta (Syy selvisi. Katso EDIT). Apachen oletusivua en myöskään saanut yrityksistäni huolimatta vaihdettua itse tehtyyn index.html tiedostoon. (Syy selvisi. Katso EDIT).

Lähteet:

http://terokarvinen.com/2016/aikataulu-linux-palvelimet-alkusyksy-2016
http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde
https://www.digitalocean.com/
http://www.w3schools.com/html/

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html” Markus Pyhäranta

1 thought on “Linux palvelimet – Virtual Private Server (VPS)”

  1. Pingback: Ubuntu-virtuaalipalvelimen käyttöönotto ja Domain-nimen osoittaminen palvelimeen DigitalOceanissa – Markus Pyhäranta

Leave a Comment

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

Scroll to Top