h3

Tässä harjoituksessa kohdassa a asensin Apache-palvelimen ja tein itselleni yksinkertaisen kotisivun. Kohdassa b aiheutin Apachen lokiin onnistuneen ja epäonnistuneen sivulatauksen. Kohdassa c tein virheen PHP:llä ajettavaan palvelinpään ohjelmaan ja tutkin virheilmoitusta. Kohdassa d aiheutin virheen Apachen asetustiedostoon. Kohdassa f koodasin palvelimella ajettavan yksinkertaisen laskentaohjelman. Kohdassa j yritin asentaa LAMP:in.

Nämä harjoitukset ovat http://terokarvinen.com/2018/aikataulu-linux-palvelimet-ict4tn021-3004-ti-alkukevat-2019-5-op sivustolta osana Haaga-Helian järjestämää Linux-palvelimet kurssia.

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

Tehtävä aloitettu 2.2.2019 klo 12:20.

xubuntu@xubuntu:~$ setxkbmap fi

xubuntu@xubuntu:~$ sudo apt-get update

Apache asennus: xubuntu@xubuntu:~$ sudo apt-get install apache2

Osoitteessa http://localhost näkyy Apache palvelimen oletusetusivu.

Kysyttiin omaa ip-osoitetta: xubuntu@xubuntu:~$ ip addr

Pyynnön listausta en lisännyt tähän kirjoitukseen.

Mahdollistettiin käyttäjä:

xubuntu@xubuntu:~$ sudo a2enmod userdir

Käynnistettiin Apache uudestaan:
xubuntu@xubuntu:~$ sudo /etc/init.d/apache2 restart

Luotiin uusi hakemisto: xubuntu@xubuntu:~$ mkdir public_html

Kuka olen: xubuntu@xubuntu:~$ whoami
xubuntu

http://localhost/~xubuntu/

xubuntu@xubuntu:~$ cd public_html
xubuntu@xubuntu:~/public_html$ nano index.html
xubuntu@xubuntu:~/public_html$ sudoedit /var/www/html/index.html

xubuntu@xubuntu:~$ ls
Desktop Downloads Pictures public_html Videos
Documents Music Public Templates


Omat kotisivut näkyivät alla näkyvässä osoitteessa.

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.

Tehtävä aloitetettu 2.2.2019 klo 13:50.

Ensin onnistunut sivulataus harjoitustehtävän a-kohdassa näkyvällä sivulla.

127.0.0.1 – – [02/Feb/2019:11:57:38 +0000] ”GET /~xubuntu/ HTTP/1.1” 200 473 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0”

Tapahtuma kirjautui 2. helmikuuta 2019 klo 11:57 koneen aikaa. Kyseessä oli xubuntu käyttäjän HTTP GET-pyyntö. Pyyntö onnistui ja tästä lokiin kirjautui koodi 200. Selain oli yhteensopiva Mozilla version 5.0 kanssa. Pyyntöön käytettiin Ubuntu: Linux x86_64; rv:61.0. Lokitapahtuman lopussa on Gecko eli selain pohjautuu siihen ja sen versionumero sekä Firefox selain ja sen versionumero.

Epäonnistunut sivulataus, huomaa lainausmerkki kutsussa.

127.0.0.1 – – [02/Feb/2019:12:03:31 +0000] ”GET /~xubuntu/%22 HTTP/1.1” 404 505 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0”

Tapahtuma kirjautui 2. helmikuuta 2019 klo 12:03 koneen aikaa. Kyseessä oli xubuntu käyttäjän HTTP GET-pyyntö. Pyyntö epäonnistui ja tästä lokiin kirjautui koodi 404, joka tarkoitti, että pyydettyä ei löytynyt. Selain oli yhteensopiva Mozilla version 5.0. Pyyntöön käytetiin Ubuntu: Linux ja versionumerot perässä. Lopussa on Gecko eli selain pohjautuu siihen ja sen versionumero sekä Firefox selain ja sen versionumero.

c) Tee virhe weppipalvelimella ajettavaan koodiin (esim PHP tai Python), etsi se lokista ja analysoi tuo lokirivi

Asennettiin PHP:

xubuntu@xubuntu:~$ sudo apt-get install libapache2-mod-php

Asetustiedostosta mahdollistettiin PHP-skriptin ajaminen käyttäjähakemistossa.

Testattiin PHP toimivuus pienellä ohjelmalla, joka laski yhteen 1 + 1.

Tässä sama ohjelma kuin yllä, mutta ?-merkki puuttuu PHP-koodin lopusta.

This image has an empty alt attribute; its file name is image-10.png

Sivu ei latautunut, joten tutkin apachen virhelogia.

xubuntu@xubuntu:/var/log/apache2$ tail -f error.log

Logista löytyi ko asiasta virhe:

[Sun Feb 03 13:27:38.369897 2019] [php7:emerg] [pid 14931] [client 127.0.0.1:37676] PHP Parse error: syntax error, unexpected ’>’, expecting end of file in /home/xubuntu/public_html/index.php on line 12

Virhe tapahtui sunnuntaina 3. helmikuuta 2019 klo 13:27 koneen aikaa. PHP prosessinumero oli 14931. Kyseessä oli siis PHP parsesointi virhe: syntaksi virhe, jossa oli odottamaton >-merkki, vaikka parserointi odotti tiedoston loppua. Virheen lopussa kerrottiin virheen aiheuttaneen tiedoston hakemistopolku ja nimi eli index.php ja virhe oli siis rivillä 12.


d) Tee virhe johonkin Apachen asetustiedostoon, etsi ja analysoi tuo rivi. Etsimiseen sopivat esimerkiksi Apachen omat lokit, syslog sekä ‘apache2ctl configtest’.

Ensin kuuntelija apache2 virhelogiin.

xubuntu@xubuntu:/var/log/apache2$ tail -F error.log
[Mon Feb 04 09:33:57.068901 2019] [mpm_event:notice] [pid 5182:tid 139743827594176] AH00489: Apache/2.4.29 (Ubuntu) configured — resuming normal operations
[Mon Feb 04 09:33:57.069008 2019] [core:notice] [pid 5182:tid 139743827594176] AH00094: Command line: ’/usr/sbin/apache2’

Ensin yritin editoida portteja nano ports.conf, mutta sain virheen Permission denied. Sudo oikeuksilla porttien editointi onnistui.

xubuntu@xubuntu:/etc/apache2$ sudo nano ports.conf

Yritin käynnistää Apachen uudestaan:

xubuntu@xubuntu:/etc/apache2$ sudo /etc/init.d/apache2 restart

Apache ei käynnistynyt, vaan sain virheherjan:

[….] Restarting apache2 (via systemctl): apache2.serviceJob for apache2.service failed because the control process exited with error code.
See ”systemctl status apache2.service” and ”journalctl -xe” for details.
failed!Lokiin sain herjan:

[Mon Feb 04 09:52:23.608797 2019] [mpm_event:notice] [pid 6908:tid 140237370952640] AH00491: caught SIGTERM, shutting down

Poistin siis portin, joten Apache ei käynnistynyt.

Virhe tapahtui maanantaina 4. helmikuuta 2019 klo 09:52 koneen aikaa. Apache prosessinumero oli 6908. Pyyntö päätyi SIGTERM-virheeseen ja sulkeutui.

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (esim. painoindeksi BMI)

Löysin googlettamalla linkin php sovellukseen, jossa lasketaan bmi.

http://www.oamk.fi/~teraisan/K1053BI/examples/bmisrc1.php

Jonkin aikaa ihmettelin, miksi koodi ei toimi, kunnes huomasin, että sana php puuttui bmi2.php tiedostonPHP-koodi osasta.

Tässä index.php tiedosto, joka kutsui bmi2.php tiedostoa.

Tässä php-koodi, johon siis lisäsin tekstin php.

Tässä ruutukaappaus ohjelman etusivusta.

Tässä ruutukaappaus ohjelman varsinaisesta sivusta.

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

Asensin salasanageneraattorin.

xubuntu@xubuntu:~$ sudo apt-get install pwgen

xubuntu@xubuntu:~$ sudo apt-get update

Yritin asentaa MySQL:n.

xubuntu@xubuntu:~$ sudo apt-get -y install mysql-server mysql-client

Ensin asennus näytti menevän ok, mutta sitten sain nipun virheilmoituksia.

  • Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
  • Job for mysql.service failed because the control process exited with error code.
  • See ”systemctl status mysql.service” and ”journalctl -xe” for details.
  • invoke-rc.d: initscript mysql, action ”start” failed.
  • ● mysql.service – MySQL Community Server
  • Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
  • Active: activating (auto-restart) (Result: exit-code) since Sun 2019-02-03 11:50:04 UTC; 7ms ago
  • Process: 6695 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
  • dpkg: error processing package mysql-server-5.7 (–configure):
  • installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
  • dpkg: dependency problems prevent configuration of mysql-server:
  • mysql-server depends on mysql-server-5.7; however:
  • Package mysql-server-5.7 is not configured yet.
  • dpkg: error processing package mysql-server (–configure):
  • dependency problems – leaving unconfigured
  • Processing triggers for libc-bin (2.27-3ubuntu1) …
  • No apport report written because the error message indicates its a followup error from a previous failure.
  • Processing triggers for ureadahead (0.100.0-20) …
  • Processing triggers for systemd (237-3ubuntu10.3) …
  • Errors were encountered while processing:
  • mysql-server-5.7
  • mysql-server
  • E: Sub-process /usr/bin/dpkg returned an error code (1)

Yritin googlettamalla löytää, mistä virhe johtui:

http://www.codza.com/blog/mysql-server-not-configured-error

https://www.digitalocean.com/community/questions/mysql-installation-error-dpkg-error-processing-package-mysql-server-5-5-configure

Yritin jälkimmäisen linkin ohjeita:

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean

Käynnistin tämän viimeisenkin komennon, mutta minulta loppui usko kesken eli keskeytin komennon.

sudo apt-get dist-upgrade

Viitteet:

Karvinen, Tero: Oppitunnit 2019-02-28, Linux palvelimet -kurssi

http://terokarvinen.com/2006/raportin-kirjoittaminen-4

http://terokarvinen.com/2018/aikataulu-linux-palvelimet-ict4tn021-3004-ti-alkukevat-2019-5-op

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

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google photo

Olet kommentoimassa Google -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s