FreePBX:n lähdekoodista kääntämisen ja sen asentamisen automatisointi
Käyhkö, Antti (2021)
Käyhkö, Antti
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021111920763
https://urn.fi/URN:NBN:fi:amk-2021111920763
Tiivistelmä
Tämä insinöörityö tehtiin Installe. Installa on tarve luoda uusi FreePBX-asennuspaketti asiakkaalle aina, kun FreePBX:n asennuksesta luodaan uusi versio. Uudet FreePBX-asennuspaketit täytyi aikaisemmin luoda käsin. FreePBX-asennuspakettien luonti käsin on hidasta ja turhaa työtä. Se on mahdollista korvata skriptillä, joka luo asennuspaketit nopeammin ja helpommin.
Tarkoituksena oli kehittää skripti FreePBX-asennuspakettien automaattiseen rakentamiseen. Skriptin täytyisi pakata kaikki FreePBX:n asentamisen vaaditut tiedostot, jotta asennuspaketilla on mahdollista asentaa FreePBX tietokoneelle ilman internetyhteyttä. Tämä tarkoittaa käytännössä sitä, että kaikki FreePBX-asennukseen kuuluva toiminnallisuus ja niiden riippuvuudet täytyy pakata luotavaan asennuspakettiin. Tällaisia riippuvuuksia ovat esim. FreePBX:n ja sen moduulien riippuvuudet, Asteriskin riippuvuudet ja riippuvuuksien riippuvuudet yms.
Rakentamalla FreePBX:n pääriippuvuuden Asteriskin ja muutaman muun FreePBX:n asennukseen tarvittavan riippuvuuspaketin avulla on mahdollista vähentää asennuspakettiin pakattavien tiedostojen määrää. Rakennettaville riippuvuuksille luotiin skriptit siten, että riippuvuuden rakentamisen yhteydessä skripti lataa rakentamisesta puuttuvat lähdetiedostot skriptille määritellyn version mukaan. Eli skriptillä pystyy rakentamaan riippuvuuden, vaikka kaikki lähdetiedostot puuttuisivat, kunhan on skriptille määritelty haluttu versio, jonka mukaan lähdetiedostot ladataan.
Skripti kehitettiin Bash-komentotulkille. Bash-komentotulkki valittiin, koska Bash-komentotulkki sisältyy suureen osaan Linux-jakeluista. Näin saadaan mahdollistettua luodun skriptin käyttö suuressa osassa Linux-jakeluista.
Tässä Insinöörityössä kuvataan FreePBX:n asennuspaketin luonnin eri vaiheita ja sitä, vaiheet on mahdollista rakentaa yhdeksi kokonaisuudeksi, joka mahdollistaa automaattisen FreePBX-asennuspakettien luonnin. Lopuksi kuvataan luodun FreePBX-asennuspakettien rakentajan rakennetta ja käyttöä.
Tarkoituksena oli kehittää skripti FreePBX-asennuspakettien automaattiseen rakentamiseen. Skriptin täytyisi pakata kaikki FreePBX:n asentamisen vaaditut tiedostot, jotta asennuspaketilla on mahdollista asentaa FreePBX tietokoneelle ilman internetyhteyttä. Tämä tarkoittaa käytännössä sitä, että kaikki FreePBX-asennukseen kuuluva toiminnallisuus ja niiden riippuvuudet täytyy pakata luotavaan asennuspakettiin. Tällaisia riippuvuuksia ovat esim. FreePBX:n ja sen moduulien riippuvuudet, Asteriskin riippuvuudet ja riippuvuuksien riippuvuudet yms.
Rakentamalla FreePBX:n pääriippuvuuden Asteriskin ja muutaman muun FreePBX:n asennukseen tarvittavan riippuvuuspaketin avulla on mahdollista vähentää asennuspakettiin pakattavien tiedostojen määrää. Rakennettaville riippuvuuksille luotiin skriptit siten, että riippuvuuden rakentamisen yhteydessä skripti lataa rakentamisesta puuttuvat lähdetiedostot skriptille määritellyn version mukaan. Eli skriptillä pystyy rakentamaan riippuvuuden, vaikka kaikki lähdetiedostot puuttuisivat, kunhan on skriptille määritelty haluttu versio, jonka mukaan lähdetiedostot ladataan.
Skripti kehitettiin Bash-komentotulkille. Bash-komentotulkki valittiin, koska Bash-komentotulkki sisältyy suureen osaan Linux-jakeluista. Näin saadaan mahdollistettua luodun skriptin käyttö suuressa osassa Linux-jakeluista.
Tässä Insinöörityössä kuvataan FreePBX:n asennuspaketin luonnin eri vaiheita ja sitä, vaiheet on mahdollista rakentaa yhdeksi kokonaisuudeksi, joka mahdollistaa automaattisen FreePBX-asennuspakettien luonnin. Lopuksi kuvataan luodun FreePBX-asennuspakettien rakentajan rakennetta ja käyttöä.