LAMP

Aloitin tehtävän teon 20:37 maanantai iltana. Ensimmäiseksi asensin Apachen uudelleen:

sudo apt-get install apache2

Tämän jälkeen testasin sen toimivuuden:Screenshot from 2017-02-13 20-39-18.png

Apache toimii, seuraavaksi php:

sudo apt-get install libapache2-mod-php php7.0

sudo a2enmod userdir

cd /etc/apache2

ls

cd mods-available/

sudoedit php7.0.conf //tämä siis, jotta php toimii kotikansiossa

service apache2 restart

Kello oli tässä vaiheessa 20:51

Sen testaaminen:

cd; mkdir public_html

cd public_html

juuso@juuso-p6-2020sc:~/public_html$ curl localhost/~juuso/; echo
4

PHP toimii, tässä vaiheessa 21:05

Seuraavaksi MySQL

sudo apt-get install php-mysql mysql-server mysql-client

Tässä vaiheessa luodaan myös turvallinen salasana MySQL:lle. Sitten testataan:

juuso@juuso-p6-2020sc:~/public_html$ mysql
ERROR 1045 (28000): Access denied for user ‘juuso’@’localhost’ (using password: NO)
juuso@juuso-p6-2020sc:~/public_html$ mysql -up
ERROR 1045 (28000): Access denied for user ‘p’@’localhost’ (using password: NO)
juuso@juuso-p6-2020sc:~/public_html$ mysql -uroot –password

mysql> CREATE DATABASE arachnids CHARACTER SET utf8;
Query OK, 1 row affected (0,00 sec)

mysql> SHOW DATABASES;
+——————–+
| Database |
+——————–+
| information_schema |
| arachnids |
| mysql |
| performance_schema |
| sys |
+——————–+
5 rows in set (0,01 sec)

mysql> GRANT ALL ON arachnids.* TO arachnids@localhost IDENTIFIED BY ‘adfs93245ng’;
Query OK, 0 rows affected, 1 warning (0,00 sec)

mysql> exit

juuso@juuso-p6-2020sc:~$ mysql -uarachnids -p

mysql> CREATE DATABASE test;
ERROR 1044 (42000): Access denied for user ‘arachnids’@’localhost’ to database ‘test’
mysql> USE student;
ERROR 1044 (42000): Access denied for user ‘arachnids’@’localhost’ to database ‘student’
mysql> USE arachnids;
Database changed
mysql> CREATE TABLE arachnids (id INT AUTO_INCREMENT PRIMARY KEY, name varchar(1024));
Query OK, 0 rows affected (0,19 sec)

mysql> DESCRIBE arachnids;
+——-+—————+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+——-+—————+——+—–+———+—————-+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(1024) | YES | | NULL | |
+——-+—————+——+—–+———+—————-+
2 rows in set (0,01 sec)

mysql> INSERT INTO arachnids(name) VALUES (“hämähäkki”);
Query OK, 1 row affected (0,02 sec)

mysql> SHOW DATABASES;
+——————–+
| Database |
+——————–+
| information_schema |
| arachnids |
+——————–+
2 rows in set (0,00 sec)

mysql> SELECT * FROM arachnids;
+—-+————–+
| id | name |
+—-+————–+
| 1 | hämähäkki |
+—-+————–+
1 row in set (0,00 sec)

mysql> UPDATE arachnids SET name=”spider” WHERE name=”hämähäkki”;
Query OK, 1 row affected (0,02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM arachnids;
+—-+——–+
| id | name |
+—-+——–+
| 1 | spider |
+—-+——–+
1 row in set (0,01 sec)

mysql> DELETE FROM arachnids WHERE name=”spider”;
Query OK, 1 row affected (0,03 sec)

mysql> SELECT * FROM arachnids;
Empty set (0,00 sec)

mysql>

Täten voitiin todeta, että myös MySQL toimii, ja kaikki LAMPin komponentit on kasassa. Tässä vaiheessa kello oli 21:30.

Ja tässä log.txt: http://pastebin.com/BtdjuV19

Advertisements

Apache2

Aloitin tehtävän tekemisen noin 21:12 tehtävässä 1 mainitulla koneella käytössäni olevalla Lubuntu 16.10.

sudo apt-get update ; sudo apt-get install apache2 ; man apache2.

Terminaaliloki:

juuso@juuso-p6-2020sc:~$ apache2ctl
Usage: /usr/sbin/apache2ctl start|stop|restart|graceful|graceful-stop|configtest|status|fullstatus|help
/usr/sbin/apache2ctl
/usr/sbin/apache2ctl -h            (for help on )
juuso@juuso-p6-2020sc:~$ apache2ctl configtest
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK
juuso@juuso-p6-2020sc:~$ apache2ctl start
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action ‘start’ failed.
The Apache error log may have more information.
juuso@juuso-p6-2020sc:~$ sudo apache2ctl start
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
httpd (pid 3730) already running
juuso@juuso-p6-2020sc:~$ apache2 stop
Usage: apache2 [-D name] [-d directory] [-f file]
[-C “directive”] [-c “directive”]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
-D name            : define a name for use in directives
-d directory       : specify an alternate initial ServerRoot
-f file            : specify an alternate ServerConfigFile
-C “directive”     : process directive before reading config files
-c “directive”     : process directive after reading config files
-e level           : show startup errors of level (see LogLevel)
-E file            : log startup errors to file
-v                 : show version number
-V                 : show compile settings
-h                 : list available command line options (this page)
-l                 : list compiled in modules
-L                 : list available configuration directives
-t -D DUMP_VHOSTS  : show parsed vhost settings
-t -D DUMP_RUN_CFG : show parsed run settings
-S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
-t -D DUMP_MODULES : show all loaded modules
-M                 : a synonym for -t -D DUMP_MODULES
-t                 : run syntax check for config files
-T                 : start without DocumentRoot(s) check
-X                 : debug mode (only one worker, do not detach)
juuso@juuso-p6-2020sc:~$ apache2ctl stop
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
httpd (pid 3730?) not running

screenshot-from-2017-02-07-21-29-05

 

Loki: 127.0.0.1 – – [07/Feb/2017:21:27:12 +0200] “GET / HTTP/1.1” 200 3525 “-” “Mozilla/5.0 (X11; Linux x86_64; rv:45.9) Gecko/20100101 Goanna/3.0 Firefox/45.9 PaleMoon/27.0.3”

Linux-palvelimet harjoitus 2

Aloitin tehtävän noin 9:00 asentamalla SSH-demonin. Tämän jälkeen loin tiedoston foo.txt, avasin ssh-yhteyden ja kokeilin komentoa scp foo.txt juuso@localhost. Mitään ei tapahtunut. Etsittyäni hieman tietoa kokeilin komentoa scp foo.txt juuso@localhost:/home/juuso/Documents joka kopioi tiedoston odotetusti.

Tämän jälkeen asensin komentoriviohjelmia…

juuso@juuso-p6-2020sc:~$ sudo apt-get install nethack youtube-dl qalc
[sudo] password for juuso:
E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Uups, minulla olikin synaptic auki.

juuso@juuso-p6-2020sc:~$ sudo apt-get install nethack youtube-dl qalc
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package nethack is a virtual package provided by:
nethack-x11 3.4.3-15build1
nethack-lisp 3.4.3-15build1
nethack-console 3.4.3-15build1
You should explicitly select one to install.

E: Package ‘nethack’ has no installation candidate

Ja tämän takia pitäisikin aina käyttää tabia. No, sudo apt-get install nethack-console youtube-dl qalc lopulta asensi kaikki ongelmitta, noin kello 9:30. Nethackia en juuri nyt jaksanut pelata, mutta kokeilin sen verran, että peli ainakin toimii. Seuraavaksi kokeilin qalc:ia

juuso@juuso-p6-2020sc:~$ qalc
You need the download exchange rates to be able to convert between different currencies.
You can later get current exchange rates with the “exchange rates” command.
Do you want to fetch exchange rates now from the Internet (default yes)? y
> yes

true = 1

> 2999 € in USD

2999 * euro * inch * dollar = approx. 2.8212606 EUR^2 * kin

> ^C

Sekin näyttää toimivan.

juuso@juuso-p6-2020sc:~$ youtube-dl “ytsearch:lindsay”
query “lindsay”: Downloading page 1
[download] Downloading playlist: lindsay
playlist lindsay: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
_6CDeSd1B_g: Downloading webpage
_6CDeSd1B_g: Downloading video info webpage
_6CDeSd1B_g: Extracting video information
_6CDeSd1B_g: Downloading MPD manifest
[download] Destination: Lindsay Lohan Attacked for reading Quran-_6CDeSd1B_g.f244.webm
[download] 100% of 19.59MiB in 00:11
[download] Destination: Lindsay Lohan Attacked for reading Quran-_6CDeSd1B_g.f251.webm
[download] 100% of 7.11MiB in 00:04
[ffmpeg] Merging formats into “Lindsay Lohan Attacked for reading Quran-_6CDeSd1B_g.webm”
Deleting original file Lindsay Lohan Attacked for reading Quran-_6CDeSd1B_g.f244.webm (pass -k to keep)
Deleting original file Lindsay Lohan Attacked for reading Quran-_6CDeSd1B_g.f251.webm (pass -k to keep)
[download] Finished downloading playlist: lindsay

Ei ladannut ihan mitä odotin, mutta ainakin periaattessa näyttää toimivan. Tässä vaiheessa kello oli 9:45 ja kävin välillä syömässä aamiaista ennen kuin tein tuon ensimmäisen tehtävän.

Jan 31 10:12:44 juuso-p6-2020sc sudo: pam_unix(sudo:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/0 ruser=juuso rhost=  user=juuso
Jan 31 10:12:52 juuso-p6-2020sc sudo:    juuso : TTY=pts/0 ; PWD=/home/juuso ; USER=root ; COMMAND=/usr/bin/apt-get update

Tässä siis ensimmäinen yritys autentikoida epäonnistui, ja toinen onnistui, ajaen samalla apt-get update komennon.

sudo: Käyttäjä ajaa komennon sudolla, eikä siis esimerkiksi yritä kirjautua suoraan root-käyttäjäksi ajamalla su-komennon

pam_unix(sudo:auth): authentication failure; Kirjautuminen epäonnistui: väärä salasana

PWD=/home/juuso Käytössä oleva hakemisto

USER=root Käyttäjän oikeudet

COMMAND=/usr/bin/apt-get update Komento joka ajettiin

Näiden selvittämisen jälkeen kello olikin jo 10:30, koska uid=1000 ja vastaavilla hakeminen tuottaa lähinnä selvittelyjä siitä, miksi autentikointi ei toimi eikä siitä, mitä ne oikeasti tarkoittavat.

Lopuksi aloitin tehtävän http://overthewire.org/wargames/bandit/bandit0.html

Ensimmäinen tehtävä: ssh bandit0@bandit.labs.overthewire.org, ls ja cat readme

Toinen tehtävä: bandit1@melinda:~$ ls

bandit1@melinda:~$ cd –
-bash: cd: OLDPWD not set
bandit1@melinda:~$ find
.
./.bashrc
./.profile
./.bash_logout
./-
bandit1@melinda:~$ du
20 .
bandit1@melinda:~$ cd ./-
-bash: cd: ./-: Not a directory
bandit1@melinda:~$ cd ./-
-bash: cd: ./-: Not a directory
bandit1@melinda:~$ ls

bandit1@melinda:~$ cd ./-
-bash: cd: ./-: Not a directory
bandit1@melinda:~$ cat ./-
<salasana>
bandit1@melinda:~$

Lähteet

https://linuxacademy.com/blog/linux/ssh-and-scp-howto-tips-tricks/

https://kkovacs.eu/cool-but-obscure-unix-tools

Linux-palvelimet harjoitus 1

.ISO kuvan hakeminen ja levyn luominen

Aloitin tehtävän maanantaina 23.1.2017 noin kello 1300 hakemalla levykuvan xubuntu.com:ista, versio 16.04.1 AMD64 sekä asentamalla gnome-disks ohjelman jo käytössä olevalle lubuntu 16.04 LTS käyttöjärjestelmälle. Samalla tuli todetuksi että bash:in tab-complete toiminto ei ollut käytössä koneellani – hieman googlettamalla löytyi http://askubuntu.com/a/519289 joka ratkaisi ongelman. Tämän jälkeen levyn luominen PNY:n 64 GB USB 3.0 -muistitikulle sujui ongelmitta.

Testaaminen

Levyn luomisen jälkeen noin kello 1405 testasin sitä samalla tietokoneella. Kone on HP Pavillion mallia p6-2020sc. Ajamalla komennon “sudo lshw -short -sanitize” tuli todettua, että siinä on AMD a8-3800 prosessori, Radeon HD 6570 näytönohjain, 8GiB 1333MHz DDR3 muistia ja 1TB kiintolevy(tarkemmat tiedot: http://pastebin.com/dNcrykB2 ). Kaikki olennaiset toiminnot – näyttö, hiiri, näppäimistö – toimivat odotusten mukaisesti paitsi hiiren keskipainikkeella scrollaaminen ei näytä toimivan, eikä mitään muita ilmeisiä ongelmia esiintynyt.

Uudet ohjelmat

Käyttäessäni siinä live-CD:tä päätin samalla kokeilla uusia ohjelmia. Ensimmäinen kolmesta on Brave-selain. Lisenssinä sillä on Mozilla Public License 2.0, joka on(ilmeisesti) käytännössä identtinen LGPL kanssa, eli se takaa käyttäjilleen samat oikeudet kuin GPL, mutta sitä voidaan käyttää osana ei-vapaalla lisenssillä tehtyä ohjelmistoa. Sen asentaminen sujui komennoilla “wget -O brave.deb https://laptop-updates.brave.com/latest/dev/ubuntu64&#8221; ja “sudo dpkg -i ./brave.deb“. tosin välissä piti asentaa git(komennolla sudo apt-get install git). Komentoloki: http://pastebin.com/VPBTngGP Selain näyttää toimivan odotusten mukaisesti, ja se estää mainokset automaattisesti. Toisena vapaana selaimena mainittakoon vaikka Pale Moon.

Tässä vaiheessa minulta loppui aika kesken ja minun täytyi lähteä takaisin koululle. Illalla noin 2330 päätin tehdä tehtävän loppuun ja aloin katsoa muita ohjelmia. Koska minulla on kiintolevytila vähissä, ja linux-osio tuli alunperin tehtyä turhan pieneksi, päätin katsella olisiko mahdollista poistaa tarpeettomia kirjastoja. Tätä katsellessa löysin paketin nimeltä Gtkorphan, joka käyttää GPL lisenssiä(tosin versionumeroa ohjelma ei jostain syystä mainitse). GtkOrphan asentui ongelmitta. Se löysi vain yhden “orvon” kirjaston mikä hieman ihmetyttää(tämä sama asennus on kuitenkin ollut käytössä jo yli vuoden, siitä huolimatta että sen päivitin kun uusi LTS versio tuli saataville), mutta ainakaan tämän kirjaston poistaminen ei aiheuttanut ongelmia.

Kolmanneksi asensin Hexchat-irc asiakkaan, joka on GPL 2.0 lisenssoitu. Asennus sujui ongelmitta. Verkkoihin liittyminen vaati vähän opettelua, mutta onnistui, ja kanaville liittyminen sekä viestien lähettäminen ja vastaanotto myös toimivat.

Lähteet

Karvinen, Tero: Aikataulu – Linux palvelimet ict4tn021 2-ti ja 3-ke – Alkukevät 2017 – 5 op

Arriola, Diego: http://askubuntu.com/a/519289

Brave Software: Linux install instructions

Brave Software: LICENSE.txt

Marzocca, Fabio: GtkOrphan

Mozilla Foundation: MPL 2.0 FAQ