Terve taas!
Viimekerralla vihjaisin, että tällä kertaa käymme läpi tuota digitaloceanin virtuaaliserveriä.
Aloitetaan siis katsomalla miten digitaloceanin virtuaaliserverin saa pystyyn. Opiskelijoille githubin education paketista on todella paljon hyötyä, koska siitä saa tervetuliais “lahjan” tähän palveluun. Jos siis olet opiskelija kannattaa tämä tilaisuus käyttää hyödyksi!!
Kirjauduttuasi sisään saadaan tämän näköinen sivu esille, ilman droplettiä. Olen jo laittanut itselleni virtuaaliserverin omilla asetuksilla.
Oikalta ylhäältä painetaan “Create” ja valitaan mikä palvelu halutaan, tässä tapauksessa luodaan “Droplet”
Tässä näemme mitä vaihtoehtoja on valittavissa käyttöjärjestelmäksi.
Itse valitsin Ubuntu 16.04.3 x64, koska tämä on saman tyyppinen kuin xubuntu mitä olemme käyttäneet aiemmissa tehtävijotta tulimuuri saadaan päälle.ssä.
Seuraavaksi on mahdollista valita minkä kokoisen/tehoisen palvelimen haluaa, yleensä tälläiseen käyttöön riittää ihan tuo ensimmäinen vaihtoehto.
Seuraavaksi voidaan valita halutaanko lisätilaa omalle virtuaalipalvelimelle, tätä en itse tarvitse. Virtuaalipalvelimen paikan voi myös valita. Itse valitsin EU:n sisällä olevan alueen, Saksan.
Viimeisinä vaihtoehtoina on lisäosia, HUOM! Kaikki nämä eivät ole ilmaisia, joistain voi tulla lisämaksuja.
SSH-avaimia voi lisätä virtuaalipalvelimelle tässä. Mitä ovat SSH avaimet? jos ei valitse tässä kohdassa SSH avainta, lähetetään sinulle sähköpostiin ROOT:in salasana millä voit kirjautua sisään.
Lopulta voidaan valita montako virtuaalipalvelinta halutaan tehdä näillä asetuksilla, sekä nimi.
Painetaan “Create” ja odotetaan pari minuuttia ja virtuaalipalvelin on valmiina käyttöösi.
Kirjaudutaan sisään terminaalista komennolla: ssh root@<ip>
Ip osoitteen saat Droplets valikosta digitaloceanin sivuilta ja root:n salasanan sähköpostista.
Ensimmäisenä kannattaa laittaa virtuaalipalvelimelle tulimuuripäälle, mutta muista avata portti ssh yhteydelle komennolla: sudo ufw allow 22/tcp
Tämän komennon jälkeen annetaan komento: sudo ufw enable, jolla tulimuuri aktivoidaan.
Voimme tehdä virtuaalipalvelimesta mahdollisimman turvallisen laittamalla “root” käyttäjä pois päältä.
Luodaan ensin uusi käyttäjä komennolla: sudo adduser jjekku
ja lisätään tämä ryhmiin sudo,adm,admin komennolla:
sudo adduser jjekku <ryhmä>
Kokeillaan tätä käyttäjää kirjautumalla ssh yhteydellä kyseiselle virtuaalipalvelimelle: ssh jjekku@<ip>
Jos yhteys toimii hyvä! nyt voidaan lukita “root” käyttäjä.
komento: sudo usermod –lock root
lukitsee vain root käyttäjän salasanan.
Jotta “root” käyttäjälle ei voi yhdistää ssh yhteydellä, muokataan asetustiedostoa sshd_config komennolla:
sudoedit /etc/ssh/sshd_config
Täältä vaihdetaan rivi: PermitRootLogin yes -> PermitRootLogin no
ja käynnistetään ssh demoni uudelleen komennolla
sudo service ssh restart
Nyt “root” käyttäjällä ei ole mahdollista kirjautua tälle virtuaaliserverille, voit vaikka kokeilla.
Tämän virtuaaliserverin ideana on hostata verkkosivuja, joten meidän täytyy luoda tulimuuriin aukko portille 80, jotta saadaan apache näkymään ulkomaailmaan. 443 portti avaa yhteydet https osoitteille.
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Nyt voimme asentaa apachen ja kokeilla näkyvätkö sivut tuon dropletin/virtuaaliserverin ip osoitteella. Viimeviikolla kävin apachen, mysql ja php:n asennuksen läpi, ohjeet löytyvät niihin täältä!
Apachen asennuksen, sekä käyttäjän omien kotisivujen kokeilemisen osotteessa <ip>/~jjekku jälkeen voimme kokeilla miten saamme käyttäjän kotisivut näkymään virtuaalipalvelimella suoraan <ip> osoitteesta ilman “/~jjekku” osoitetta perässä.
Sekä näitä sivuja on mahdollista muokata ilman sudo oikeuksia, sillä ne ovat sinun käyttäjän omassa kansiossa.
Tuosta päästäänkin tämän viikon tehtäviin!!
Tehtävät löytävät täältä H4: Terokarvinen.com – Linux palvelimet
Tehdään ensimmäiset kaksi kohtaa samalla.
Tehtävien A) ja S) tarkoituksena on laittaa virtuaalipalvelimelle kotisivut jota voi muokata ilman sudo oikeuksia, sekä kotihakemistossa olevat sivut näkymään suoraan oletussivuna.
Jotta saataisiin <ip>/~jjekku sivut näkymään suoraan <ip> osoittella, meidän täytyy luoda uusi virtualhost apache2:lle.
Navigoidaan paikkaan: cd /etc/apache2/sites-available/
Luodaan tänne tiedosto esim. sudo nano jjekku.conf
Lisätään seuraavanlainen pätkä
DocumentRoot rivi osoittaa missä tämä kyseinen sivusto on.
Directory .. Require all granted kertoo apachelle, että me annettaan tämän tarjota näitä tiedostoja. Ilman että tulee 403 statusta. Terokarvinen.com – Default site at top of example
Nyt meidän täytyy ottaa default page pois näkyvistä ja vaihtaa tämä meidän juuri luotu sivusto näkymään.
sudo a2ensite jjekku.conf (Laittaa uudelleen konfiguroidun sivuston päälle)
sudo a2dissite 000-default.conf (Laittaa default sivuston poispäältä)
Tämän jälkeen käynnistetään apache2.service uudelleen.
sudo systemctl restart apache2.service
Nyt meidän pitäisi nähdä kotihakemistossa “public_html” oleva index.html sivu, jos olet sen luonut. Sekä voimme muokata näitä sivuja ilman sudo oikeuksia.
Y) Tehtävän tarkoituksena on etsiä murtautumis yrityksiä lokeista
B) Tehtävän tarkoituksena on luoda nettisivuja paikallisesti ja kopioida ne palvelimelle scp komennolla
C) Tehtävän tarkoitus on laittaa palvelimelle jokin yksinkertainen PHP-sivu.
Olen tehnyt tämän jo viimeviikon tehtävissä kohdassa F
Voit katsoa kyseisen tehtävän täältä!
X) Tehtävän tarkoituksena on laittaa julkinen domain-nimi osoittamaan koneeseesi(virtuaalipalvelimeen).
Tein käyttäjän namecheap.com osoitteeseen, joka myy domain osoitteita. Etsin täältä omalla sukunimellä, olisiko osoitetta vapaana ja olihan se!
Vuokrasin tämän osoitteen itselleni, jotta tällä domain osoitteella olisi mahdollista päästä suoraan meidän juuri luotuun virtuaalipalvelimen sivustoon. Meidän täytyy muokata paria riviä namecheap:n sivuilta, jotta tämä onnistuisi.
Muokataan vuokraamaanne domainin advanced DNS:ää siten, että otamme kaikki HOST recordit pois ja laitamme tähän: A Recodin missä Host: @ ja VALUE: virtuaalipalvelimen ip osoite,
Sekä CNAME recordin missä Host: www ja VALUE <domainin nimi>, tämä tarkoittaa että meidän osoitteeseen pääsee joko suoraan <domain>.com tai www.<domain>.com
Tämän jälkeen on mahdollista päästä virtuaalipalvelimen sivustolle kirjoittamalla domainin selaimeen, sekä ssh yhteyteen voi kirjautua esim: jami@jernvall.com.
V) Tehtävän Tarkoituksena oli laittaa monta dns nimeä toimimaan samaan ip-osoitteeseen.
T) Tehtävän Tarkoituksena oli asentaa wordpress omalle virtuaalipalvelimelle
Asensin wordpressin omalle virtuaalipalvelimelle seuraamalla digitaloceanin ohjetta. Ohjetta poiketen asensin wordpressin omaan kansioon käyttäjäni alle.
U) Tehtävän tarkoituksena oli kokeilla kirjoittaa testi postaus.
Kokeilin, että wordpress toimii kirjoittamalla testi postauksen
Worpressin vapaaehtoiset tehtävät
C) Tehtävän tarkoituksena oli ottaa järkevät URLit (permalinks) käyttöön.
WordPressissä on sisään rakennettu permalinks valikko, mistä voi vaihtaa tämän linkin näkyvyyttä.
Mutta jos tästä vaihtaa jonkin vaihtoehdoista päälle, ei sivusto näy ollenkaan.
Tarvitsemme .htaccess tiedoston joka korjaa näitä linkkejä.
Luodaan siis .htaccess tiedosto wordpressin asennus kansioon.
nano .htaccess ja laitetaan tänne sisälle kyseinen teksti
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule># END WordPress
tämän jälkeen annetaan komento: sudo a2enmod rewrite
sekä käynnistetään apache2 service uudelleen: sudo systemctl restart apache2.service
Nyt kun sivun päivittää, linkkien pitäisi toimia oikein.
D) Tehtävän tarkoituksena oli vaihtaa teemaa
Asensin wordpressiin ulkoisen teeman, lisäämällä teemat valikosta uuden teeman
Tein seuraavat tehtävät samaa aikaa.
E) Tehtävän tarkoituksena oli varmuuskopioida sisältö
F) Tehtävän tarkoituksena oli Palauttaa varmuuskopioitu sisältö wordpress asennukseen.
Kävin hakemassa varmuuskopion ilmaisesta wordpress sivustostani asetuksista Export ja Export All, hetkenpäästä tulee lataus linkki selaimeen ja sähköpostiin, josta tämän .zip paketin voi ladata.
Tämän jälkeen menemme meidän virtuaalipalvelimelle asennetun wordpressin asetuksiin mistä otamme “Tuo” valikosta WordPressin tuontityökalun.
Jos WordPress työkalua ei ole asennettu, asenna se painamalla Asenna Nyt. Jos sivusto kysyy jotain ftp yhteydestä muokataan tiedostoa, jotta tätä ilmoitusta ei tule.
Navigoidaan wordpressin asennuskansioon ja muokataan tiedostoa: wp-config.php
nano wp-config.php
Lisätään tänne rivi: define(‘FS_METHOD’, ‘direct’);
Tallennetaan tiedosto ja kokeillaan työkalun asennusta uudelleen.
Nyt WordPressin työkalu on asennettu ja valitaan tuohon .xml tiedosto joka on saatu wordpress varmuuskopiosta .zip tiedoston sisältä.
G) Tehtävän tarkoituksena oli tehdä wordpressiin oma teema.
H) Tehtävän tarkoituksena oli asentaa jokin plugin.
Mennään lisäosat valikkoon ja etsitään jokin plugin mitä halutaan käyttää, itse asensin wp image zoom pluginin. Kokeillaan nyt miten tämä toimii
Tehdään uusi testi postaus missä käytetään kuvaa.
Kuva on liitetty sekä, nyt näemme tuommoisen suurennuslasin kuvan yläpuolella olevalla työkalurivillä.
Painetaan siitä ja nyt image zoom on valittu toimimaan tämän kuvan kanssa.
Julkaistaan tämä testi postaus ja kokeillaan viemällä hiiri kuvan päälle että tämä plugin toimii.
Kuten huomataan nyt tämä zoomaus ominaisuus toimii.
I) Tehtävän tarkoituksena oli tehdä oma plugin
J) Tehtävän tarkoituksena oli lisätä kuvia(media) wordpressiin
DigitalOceanin ohjeiden ansiosta kuvan lisääminen ei tuota ongelmia koska kansioiden luvat ovat kunnossa.
K) Tehtävän tarkoituksena oli laittaa WordPress nimi pohjaiseen virtuaalipalvelimeen.
Sen näemmä tästä! Olet virtuaalipalvelimella toimivalla wordpress sivustolla millä on oma domain nimi
3 thoughts on “Viikko 4, Virtuaalipalvelimen hallintaa ja testailua”