Ari Rantala -> Oppaat -> Apache Web-palvelin: muistiinpanot 2 . Asennus ja käyttöönottoKaksi tapaa asentaa ApacheApache Web-palvelin on saatavissa joko
Lähes kaikessa käytössä
pärjää valmiiksi käännetyllä versiolla.
Jos
kuitenkin halutaan räätälöidä mukaan vain
halutut ominaisuudet ja/tai käyttää sellaisia moduleita
(valmiita tai itse tehtyjä), joita ei valmiiksi
käännetyssä ole mukana, on palvelin
käännettävä itse. Ubuntu 16.04 LTS:n mukana tuleva Apache
sudo aptitude search ~iapacheApache2 voidaan asentaa helposti jälkikäteen: sudo apt install apache2
Onko Web-palvelin käynnissä?Kun ohjelmat on asennettu, voidaan tarkistaa onko Web-palvelin päällä. Tämän voi tehdä tutkimalla palvelimen kuuntelemia tcp-portteja netstat-komennolla:sudo netstat -an | grep :80Palvelimen prosessilistaa tutkimalla voidaan myös selvittää, onko Web-palvelin käynnissä. Jos tiedetään, että Web-palvelinohjelmiston käynnistyskomennossa on merkkijono apache2, voidaan kaikki tällaisen merkkijonon sisältämät rivit suodattaa näkyviin prosessilistauksesta ps-komennolla: ps aux | grep [a]pache2 Web-palvelin käynnistymään automaattisestiJos HTTP-protokollan oletuksena käyttämä TCP-portti 80 ei ole kuunneltujen joukossa, niin Web-palvelin ei mitä todennäköisimmin ole käynnissä. Aluksi Web-palvelin kannattaa määritellä käynnistymään automaattisesti järjestelmän käynnistyksen yhteydessä käytetylle oletusajotasolle esimerkiksi komennolla:sudo systemctl enabled apache2.service
Tuloksen voi tarkistaa komennolla:sudo systemctl is-enabled apache2.service
Edellä mainittujen toimenpiteiden jälkeen Web-palvelimen tulisi olla käynnissä seuraavien käyttöjärjestelmän uudelleenkäynnistysten jälkeen automaattisesti. Web-palvelimen käynnistäminen ja sammuttaminenKun Web-palvelimen asetustiedostoja (konfigurointitiedostoja) on muokattu, Web-palvelin on käynnistettävä uudelleen asetusten aktivoimiseksi. Tätä tarvitaan esimerkiksi edellä mainitun ServerName-direktiivi -muutoksen käyttöönottamiseksi. Jos Web-palvelin ei ole käynnissä, yleensä riittää pelkkä käynnistys. Tarvittavat komennot ovat seuraavat:Web-palvelimen käynnistys:sudo systemctl start apache2.service Web-palvelimen sammutus:sudo systemctl stop apache2.service Web-palvelimen uudelleenkäynnistys:sudo systemctl restart apache2.service Komentojen jälkeen voidaan tarkkailla vaikkapa netstat-komennolla, onko Web-palvelin kulloinkin käynnissä. Web-palvelimen perustoiminnan varmistaminen HTML-dokumentein
Tavallisen käyttäjän web-dokumentitUbuntu 16.04 LTS -järjestelmässä tavallisten käyttäjien julkiset web-hakemistot eivät ole oletusarvoisesti käytössä; ne pitää aktivoida ennen käyttöönottoa seuraavastisudo a2enmod userdirTämän jälkeen tavalliset käyttäjät voivat tarjota myös web-dokumenttejaan. Vakiintuneen käytännön mukaan tavalliset käyttäjät tallentavat web-dokumenttinsa kotihakemistonsa alle luotuun public_html -nimiseen hakemistoon. Asetusten toimivuuden voit testata seuraavasti. Aluksi luodaan tarvittaessa käyttäjätunnus testi ja annetaan samalla uusi salasana: sudo useradd -s /bin/bash -m testiKun uusi käyttäjätunnus on luotu, voidaan esimerkiksi su-komennolla (substitute user) vaihtaa käyttäjätilaa su - testiLuodaan tarvittaessa public_html-hakemisto ja lisätään kotihakemistolle tarvittava suoritusoikeus (käyttöoikeus) muille, jotta public_html-hakemistosta olevia tiedostoja voidaan käyttää. Tarvittavat toimenpiteet tehdään seuraavasti mkdir public_htmlKopioidaan tai luodaan hello.htm-dokumentti public_html-hakemistoon ja katsotaan tulosta osoitteesta http://localhost/~testi/hello.html
Tarvittaessa voidaan palata pääkäyttäjäksi
exit-komennolla.Informaatiota palvelimesta ja sen tilastaJoitakin raportteja saat esille osoitteesta http://localhost/server-status ja http://localhost/server-info Määritykset ovat tiedostossa /etc/apache2/mods-enabled/status.conf ja /etc/apache2/mods-enabled/info.conf. Info-moduuli pitää aktioida erikseensudo a2enmod info Apachen kääntäminen ja asentaminen lähdekoodeistaSuurimmaksi osaksi pärjätään Apache Web-palvelimen valmiiksi käännetyllä versiolla. Jos kuitenkin halutaan räätälöidä mukaan vain halutut ominaisuudet ja/tai käyttää sellaisia moduuleita (valmiita tai itse tehtyjä), joita ei valmiiksi käännetyssä ole mukana, on palvelin käännettävä itse. GNU-ohjelman kääntäminen lähdekoodeista
Huom: Tämän osion yksityiskohdat testattu Ubuntu 16.04 LTS -järjestelmässä
Syitä ohjelmistojen kääntämiseen lähdekoodeista ovat mm. seuraavat:
Pienen ohjelmiston kääntäminen
gcc -c ohjelman_osa1.c Kaksi ensimmäistä riviä on ohjelman erillisten lähdekoodien kääntämistä ja viimeinen rivi niiden linkittäminen ajokelpoiseksi ohjelmaksi nimeltä toimiva_softa. Isomman ohjelmiston kääntäminenIsoissa ohjelmistoissa on valtavasti käännettäviä ohjelmia erilaisine käännösvaihtoehtoineen. GNU-projekti on luonut standardin, jota lähes kaikki yleisesti käytettävät GNU-ohjelmat noudattavat. Tämän avulla erilaisten GNU-ohjelmien kääntäminen (koko käännösprosessi) noudattaa samaa yleistä periaatetta.Laajojen, useista erillisistä moduuleista koostuvien ohjelmien kääntämiseen käytetään make-ohjelmaa. GNU make käyttää joitain seuraavan nimisistä tiedostoista kääntämisessä: GNUMakefile, Makefile tai makefile. Jos ohjelmahakemistossa on configure-skripti, se suoritetaan ennen varsinaista kääntämistä. Se luo järjestelmän asetusten perusteella sopivan makefile-tiedoston ja tarkastaa samalla onko järjestelmässä vaadittavat kirjastot, ohjelmat sekä otsikkotiedostot asennettu. Lopuksi make-komento kääntää ohjelman ja make install asentaa ohjelman toimintakuntoon. Seuraavassa vaiheistettuna normaalin "isohkon" palvelinohjelmiston asentaminen kääntämällä lähdekoodeista.
Esimerkki Apache Web-palvelinohjelmiston kääntämisestä Testattu toimivaksi Ubuntu 16.04 LTS -järjestelmässä! 1. Haetaan ohjelmistopaketti esim. wget-ohjelmalla tallentaen se /tmp-hakemistoon: wget http://www.apache.org/dist/httpd/httpd-2.2.34.tar.gz 2. Puretaan tar- ja gzip-ohjelmilla pakattu lähdekoodi hakemistoon /usr/local/src: cd /usr/local/src 3. Valmistellaan ohjelman asennus (eli luodaan makefile-tiedosto) ajamalla configure-skripti: sudo ./configure
Jos configure-skriptin optioissa on mukana --show-layout, niin asentuva
konfiguraatio näytetään, mutta mitään ei
"oikeasti" tehdä! Lisätietoja configure-skriptin optioista
saadaan komennolla ./configure –help4. Käännetään ohjelma (make) ja lopuksi annetaan make install -komento binääristen ohjelmatiedostojen, konfigurointitiedostojen ja ohjesivujen kopioimiseksi oikeaan paikkaan. sudo make Vinkki: Konfiguroinnin, käännöksen ja asennuksen voi suorittaa myös taustalla. Esimerkiksi käännös voidaan suorittaa komennoilla: make >& make.log & tail -f make.log Tällöin make-ohjelma ajetaan taustalla ja sen ilmoitukset virheineen ohjataan tiedostoon make.log. Tail-komennon -f -optiota käyttäen voidaan katsella käännöksen aikana make.log -tiedoston viimeisiä rivejä. Se ei ole mitenkään välttämätöntä. Tail-komennon voi lopettaa missä tahansa vaiheessa esim. CTRL+C -näppäinyhdistelmällä. 5. Avaa tiedosto /usr/local/apache2/conf/httpd.conf haluaamasi
editoriin ja muuta riviListen 80 muotoon Listen 8080 jolloin kääntämäsi Web-palvelin ei toivottavasti kuuntele samaa porttia kuin järjestelmässäsi varsinaisesta pakettivarastosta asennettu ja toiminnassa oleva toinen Apache. 6. Käynnistä komennolla $ sudo /usr/local/apache2/bin/apachectl start 7. Testaa: Toiminnassa olevan Web-palvelimen indeksisivu on nähtävissä osoitteessa http://localhost:8080/ Huomaa, että järjestelmässä voi olla asennettuna samaan aikaan sekä paketinhallinnalla asennettu versio että itse käännetty versio ohjelmasta. Tarkempia ohjeita Apachen kääntämiseksi löytyy tarvittaessa osoitteesta http://httpd.apache.org/docs-2.0/install.html
|