Tehtävä:
Metapaketit w10
Viimeinen läksy:
Valitse kaksi näistä
a) Tee deb-paketti, joka asentaa tekemäsi shell scriptin
b) Tee deb-paketti, joka muuttaa toisen paketin asetustiedostoa (divert, vaikea)
c) Allekirjoita paketit tai varasto
d) Etsi wepistä vanha “Linux palvelimena” koe ja ratkaise se
Tehtävä e) Kokeile PupeSoftia Ubuntulla
Valitsin boldatut vaihtoehdot eli deb-paketin luomisen ja PupeSoftin asennuksen/kokeilun.
Tämäkin tehtävänanto löytyi jälleen kurssin kotisivulta osoitteesta: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013
Ympäristö:
Suoritin tehtävän kotikoneellani 9.3.2013 käyttäen VMware Playerin päälle virtualisoitua 32-bittistä Xubuntu 12.10 asennusta. Aloitin tehtävän “puhtaalta pöydältä” eli loin uuden virtuaalikoneen. Luonti tapahtui samalla tavalla kuin kurssin ensimmäisessä kotitehtävässä. Isäntäkoneen rauta:
(Kuvankaappaus: Piriform Speccy. http://www.piriform.com/speccy)
Tehtävä a) deb-paketti
Terminaali auki ja suominäppis käyttöön:
$ setxkbmap fi
Päivitin pakettilähteiden listat ja asennetut ohjelmistot ajantasalle:
$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
Xubuntu pyysi uudelleenkäynnistystä ja buuttasin virtuaalikoneen.
Itse tehtävän aloitin asentamalla equivs ohjelman komennolla:
$ sudo apt-get install equivs
Seuraavaksi loin uuden hakemiston projektiani varten, siirryin hakemistoon ja loin yksinkertaisen skriptitiedoston:
$ mkdir munskripti && cd munskripti
$ nano munskripti
Kirjoitin tiedostoon seuraavat rivit:
#!/bin/bash
clear
read -p “Please enter your name : ” name
echo “”
read -p “Please enter your age : ” age
echo “”
read -p “Please enter your sex. Male/Female : ” sex
echo “”
echo “So you’re a $age year old $sex called $name”
.. ja tallensin tiedoston painamalla CTRL + X ja enter.
Seuraavaksi loin paketin asetustiedoston equivs-control komennolla:
$ equivs-control munskripti.cfg
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2
Package: krisun-kyselyskripti
Version: 0.1
Maintainer: Kristian Latva <someemail@address.com>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
Files: munskripti /usr/bin/
# <more pairs, if there’s more than one file to include. Notice the starting space>
Description: Krisun testiskripti
long description and info
.
second paragraph
Files kohta määrittää käytettävän skriptitiedoston ja mihin skripti sijoitetaan asennuksen jälkeen.
Sitten luodaan itse deb tiedosto:
$ equivs-build munskripti.cfg
Paketin luonti onnistui ja se löytyy samasta hakemistosta:
Lopuksi asennetaan paketti:
$ sudo dpkg -i krisun-skripti_0.1_all.deb
Paketti on nyt asennettu ja voimme kokeilla sitä komentamalla:
$ munskripti
Näyttäisi toimivan:
e) Kokeile PupeSoftia UbuntullaSeuraavaksi asennetaan Suomalainen avoimen lähdekoodin toiminnanohjausjärjestelmä nimeltä PupeSoft. Ohjelmiston on kehittänyt devlab ja yrityksen kotisivut löytää osoitteesta http://www.devlab.fi ja GitHub:in osoitteessa: https://github.com/devlab-oy/pupesoft
PupeSoft on web-selaimella käytettävä tietokantapohjainen sovellus ja tuttuun tyyliin asennamme LAMP-stackin ensimmäisenä. Päätin jälleen käyttää taskselia asennukseen vaikka sen hyödyistä ja mahdollisista haitoista on keskustelu Teron oppitunnilla useaan kertaan. Nyrkkisääntönä pidän sitä, että silloin kun asennetaan sovelluksia tuotantoon niin vältetään taskselia ja asennetaan manuaalisesti ainoastaan tarvitut paketit, mutta nyt “kokeillaan” ja harjoitellaan niin hyväksyn taskselin käytön:
$ sudo apt-get install tasksel
$ sudo tasksel
Valitaan LAMP-server listasta:
Asennuksen aikana MySQL:n root-käyttäjälle asetettiin vahva salasana. Kun asennus oli ohi niin tarkistin vielä, että Apache web-palvelin toimii halutulla tavalla:
Komensin Apachen vielä toimimaan kotihakemistojen kanssa, jotta PupeSoft asennus saadaan käyttäjän /home/public_html hakemistoon:
$ sudo a2enmod userdir
$ sudo service apache2 restart
Asennetaan myös git, jotta saamme ladattua PupeSoftin suoraan versionhallinnasta helposti:
$ sudo apt-get install git
PHP-tuki on myös enabloitava käyttäjän kotihakemistoissa ja tämä tapahtui kommentoimalla muutama rivi /etc/apache2/mods-enabled/php5.conf tiedostossa:
$ sudoedit /etc/apache2/mods-enabled/php5.conf
# <IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
# </IfModule
</IfModule>
Seuraavaksi loin kotihakemistooni public_html kansion ja kloonasin sinne git:illä kopion PupeSoftin tiedostoista:
$ mkdir public_html && cd public_html
$ git clone https://github.com/devlab-oy/pupesoft.git
PupeSoft löytyy nyt käyttäjän public_html/pupesoft -hakemistosta.
Luodaan tietokanta PupeSoftille. Kirjaudutaan sisään MySQL:ään asennuksen aikana root käyttäjälle määritellyllä salasanalla:
$ mysql -u root -p
Luodaan tietokanta PupeSoftille:
mysql> create database pupesoft;
Luodaan uusi käyttäjätunnus ja annetaan oikeudet luotuun tietokantaan:
mysql> grant all on pupesoft.* to ‘pupesoft’@’localhost’ identified by ‘SAIRAANVAHVASALASANA′;
Käytä vahvaa salasanaa. “pupesoft” käyttäjän ei tarvitse muistaa (tai mahd. tietää) tietokannan salasanaa. Kaikki mySQL konfiguraatio tehdään nyt ja jatkossa root käyttäjätunnuksella.
Käyttäjä ja tietokanta on nyt luotu ja voidaan poistua mySQL:stä.
mysql> flush privileges;
mysql>\q
Jotta PupeSoft sisältäisi jonkinsortin “demodataa” niin ladataan referenssitietokanta sekä alkudata. Ladataan tiedostot vaikka kotihakemistoon:
$ cd
$ wget -q http://api.devlab.fi/referenssitietokantakuvaus.sql http://api.devlab.fi/referenssidata.sql
Luetaan “demodata” eli tietokannan kuvaus sekä alkudata sisään äsken luotuun tietokantaan:
$ mysql -u pupesoft –password=SAIRAANVAHVASALASANA pupesoft < referenssitietokantakuvaus.sql
$ mysql -u pupesoft –password=SAIRAANVAHVASALASANA pupesoft < referenssidata.sql
Lopuksi luodaan ohjelman vaatima salasanatiedosto, jotta tietokantayhteys toimii:
$ nano /home/krilat/public_html/pupesoft/inc/salasanat.php
Viedään tiedostoon seuraavat rivit:
<?php
date_default_timezone_set(‘Europe/Helsinki’);
$dbhost = ‘localhost’;
$dbuser = ‘pupesoft’;
$dbpass = ‘SAIRAANVAHVASALASANA’;
$dbkanta = ‘pupesoft’;
$palvelin = ‘http://localhost/~krilat/pupesoft/’;
if (isset($_SERVER['SERVER_PORT']) and $_SERVER['SERVER_PORT'] == ’443′) {
$palvelin = ‘https://localhost/~krilat/pupesoft/’;
}
Poistutaan nanosta tallentamalla tiedosto CTRL + O ja ENTER.
Lopuksi asetetaan oikeudet kuntoon pupesoftin hakemistossa:
$ cd ~/krilat/public_html
$ sudo chown -R krilat:www-data pupesoft/
$ chmod -R u=rwx,g=x,o= pupesoft/
$ chmod -R u=rwx,g=rx,o= /pupesoft/dataout /pupesoft/datain
PupeSoftin asennus on nyt valmis ja kokeilin kirjautua sisään osoitteessa http://localhost/~krilat/pupesoft. Oletustunnukset ovat admin ja salasana 1234:
Kirjautuminen onnistui ja PupeSoftin etusivu aukesi:
Lähteet:
devlab-oy PupeSoft asennusohje: https://github.com/devlab-oy/pupesoft/wiki/Asennusohje
About
- 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 Karvisen Linux-kurssi, www.iki.fi/karvinen”