Linux palvelimena #1

Standard

Tehtävä: peruskurssin kokeen ratkaisu ja raportointi.

Työaseman asennus

Päätin toteuttaa työaseman Xubuntu 12.04 Precise Pangolin käyttöjärjestelmällä. Olin jo aikaisemmin polttanut asennus-dvd:n ja testannut sen toimivaksi. Suoritin Xubuntun asennuksen seuraavanlaiseen tietokoneeseen:

  • Emolevy: Asus Z87-C
  • Prosessori: Intel Core i5-4670K 3.40GHz
  • Keskusmuisti: 8GB DDR3 1600MHz
  • Kiintolevy: 120GB SSD Sata 3.0
  • Näytönohjain: Geforce GTX 560 Ti Phantom, 2GB GDDR5 (Gainward)
  • Asema: Asus cd/dvd

Aloitin asennuksen käynnistämällä tietokoneen ja asettamalla asennuslevyn asemaan. Ennen asennusohjelmaan pääsyä muokkasin BIOS asetuksista käynnistysjärjestyksen.

IMG_2025

Xubuntun asennusohjelmasta valtisin paikallisen asennuksen (Install Xubuntu). Asennustavaksi valitsin manuaalisen osioinnin. Poistin kaikki vanhat osiot ja loin noin keskusmuistin suuruisen swap osion ja itse järjestelmälle osion “/” mount pointilla Ext4 tiedostojärjestelmää käyttäen.

IMG_2027

Tähän mennessä aikaa oli kulunut noin 30minuuttia. Prosessia hidasti lähinnä raportointi. Normaalisti toimenpiteet osiointivaiheeseen pääsyyn käyvät nopeasti. Arviolta noin viidessä minuutissa.

Aloitin järjestelmän asennuksen klo 14.30.

Xubuntun asennuksen aikana ilmoitin sijaintini ja valitsin suomalaisen näppäimistö asettelun.

Xubuntun sisäänkirjautumisikkuna avautui klo 14.38.

Pidin asennusprosessia(8minuuttia) varsin nopeana. Arvioisin käytössä olleen laitteiston suoritintehon ja erityisesti SSD kiintolevyn vaikuttaneen positiivisesti lopputulokseen.

Sisäänkirjautumisen jälkeen järjestelmä vaikutti päällisin puolin toimivalta.

Avasin oletuksena asentuneen Firefox selaimen ja havaitsin verkkoyhteyden toimivan. Siirryin youtube.com sivustolle ja selain huomautti puuttuvasta Adobe Flash Player sovelluksesta. Asensin sen selaimen asennusohjelmaa apuna käyttäen ja youtube videot toimivat, mutta ilman ääniä.

Etsin Xubuntun Update Managerista mahdollisesti oletuksena tarjottavaa ajuria äänipiirille ja löysin PulseAudio sound serverin. Asensin sen Update Manageria käyttäen. Heti asennuksen jälkeen äänet toimivat.

Tekstinkäsittelyä ja muita toimiston perusrutiineja varten Xubuntun mukana tuli esiasennettuna Libre Office. Totesin työaseman olevan valmis kellon ollessa 14.50.

Palvelimen konfigurointi PHP-sivujen kehitykseen etäkäyttöyhteydellä, käyttäjien luonti palvelimelle ja mystatus shell-skriptin asennus

Jatkoin tehtävän tekoa samalla tietokoneella ja vasta asentamallani Xubuntulla. Tässä kohtaa unohdin kellon tarkan seuraamisen ja seuraavat kellonajat ovat noin aikoja.

Aloitin asentamalla ja testaamalla SSH yhteyden.

sudo apt-get update
sudo apt-get install openssh-server
su – esimerkkikayttaja
whoami

Apachen, mysql:n ja php:n  asennukseen päätin käyttää tasksel työkalua, jolla on mahdollista asentaa useampi paketti samalla kerralla(meta pakettien tapaan). Käytin ohjeena ubuntun kotisivuilta löytyvää julkaisua. Suoritin seuraavat komennot komentokehotteessa:

sudo apt-get install tasksel
sudo tasksel install lamp-server
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start

Tämän jälkeen selvitin koneen ip-osoitteen komennolla sudo ifconfig. Avasin selaimen ja syötin osoiteriville ifconfigin antaman osoitteen. Esimerkkisivu avautui ja apache osoittautui toimivaksi.

Tässä kohtaa kello oli 15.10

Tämän jälkeen ihmettelin pitkään miten saikaan toimimaan apachen kaikille käyttäjille. Halusin esimerkiksi pekka käyttäjän kotisivut sijaitsemaan hakemistoon /home/pekka/public_html/.

Löysin ohjeet edellä mainitsemastani ubuntu.comin julkaisusta kohdasta Virtual Host. Julkaisu ohjasi hieman väärin. Siinä kehotettiin muokkaamaan tiedostoa /etc/apache2/sites-available/000-default.conf jota en kuitenkaan ikinä löytänyt. Sen sijaan löysin tiedoston /etc/apache2/sites-available/default. Muokkasin sitä Virtual Host oppaan mukaan.

DocumentRoot /var/www muutin muotoon -> DocumentRoot /home/user/public_html

<Directory /var/www/> muutin muotoon ->  <Directory /home/user/public_html>

Tämän jälkeen copy pastesin komentoriville seuraavan komennon: sudo a2dissite default && sudo a2ensite mysite

Mikään ei tietenkään toiminut ja selvitin ongelmaa yli tunnin. Oppaassa pyydettiin alunperin muuttamaan asetustiedoston nimeksi “mysite”. Tätä en tehnyt vaan jätin sen muotoon “default”. Ongelman ajattelin ratkeavan ajamalla komennon: sudo a2dissite default && sudo a2ensite default.

Sivut eivät vieläkään toimineet haluamallani tavalla. Etsin tietoa monesta paikasta ilman tulosta. Viimein turvauduin Janne Kuuselan blogiin. Janne oli ratkaissut ongelman ajamalla komennon sudo a2enmod userdir ja sen jälkeen käynnistämällä apachen uudelleen komennolla sudo service apache2 restart. Tämän jälkeen kaikki toimi haluamallani tavalla ja käyttäjän pekka tiedostot löytyivät osoitteesta http://localhost/~pekka.

Epäilisin ubuntun sivuilla olevan oppaan ohjeiden olevan eri versioon kuin käytössäni ollut Xubuntu 12.04.

Php:n testauksen aloin klo 17.30. Loin testi tiedoston käyttäjälle pekka. Siirryin selaimessa osoitteeseen http://localhost/~pekka/hello.php. Sivu ei avautunut vaan selain yritti ladata php tiedostoa. Etsin pitkään ratkaisua ongelmaan. Ubuntu.comin julkaisussa tarjottiin ratkaisuksi public_html kansion käyttöoikeuksien tarkistusta, selaimen historian tyhjennystä ja verkko-osoitteen tarkistusta. Kaikki olivat kunnossa, mutta edelleenkään hello.php-sivu ei auennut vaan latautui. Löysin viimein ratkaisun Janne Kuuselan blogista. Editoin tiedostoa, /etc/apache2/mods-enabled/php5.conf komennolla sudo nano /etc/apache2/mods-enabled/php5.conf ja laitoin seuraavien rivien eteen risuaidan(#):

#    <IfModule mod_userdir.c>
  #        <Directory /home/*/public_html>
  #            php_admin_value engine Off
  #        </Directory>
  #    </IfModule>

Tämän muokkauksen jälkeen testasin uudestaan siirtyä pekan hello.php sivulle ja kaikki toimi loistavasti.

Viimeisen vaiheen eli skriptin teon ja käyttäjien luonnin aloitin klo 17.45.

Loin käyttäjät työntekijöille sudo adduser einava, sudo adduser pekkawin, sudo adduser akean, sudo adduser leilalaSeuraavaksi suoritin komennon sudo nano mystatus.sh ja lisäsin sisällöksi

#!/bin/bash
 df -h
 ip addr

Lopuksi kopioin skriptin sudo cp mystatus.sh /usr/bin/ ja lisäsin suoritus käyttöoikeuden sudo chmod +x /usr/bin/mystatus.sh.

Testasin järjestelmän vielä kirjautumalla ssh yhteydellä jokaisen käyttäjän tunnuksella. Luomalla esimerkki php sivut käyttäjille ja ajamalla mystatus skriptin käyttäjien kotihakemistossa. Totesin järjestelmän toimivan klo 18.30.

Lähteet:

https://help.ubuntu.com/community/ApacheMySQLPHP
http://jtkuusela.wordpress.com/2013/09/07/linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013-kotitehtava-h1/
Karvinen, Tero: Oppitunnit 2013-01-20, Linux palvelimena -kurssi

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html
Pohjana Tero Karvinen 2014: Linux palvelimena -kurssi, http://terokarvinen.com
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s