LAMP
Lyhenne LAMP tarkoittaa:
- Linux-käyttöjärjestelmä
- Apache-säätiön http-palvelin
- MySQL-tietokanta
- PHP-skriptikieli (joskus myös Perl tai Python)
Lyhennettä käytetään kuvaamaan erittäin yleistä web-palvelinteknologian kokoonpanoa, jossa palvelinkoneen käyttöjärjestelmänä on Linux, palvelinohjelmistona Apache, tietokantaohjelmistona on MySQL ja dynaamisuuden ja vuorovaikutteisuuden mahdollistavana palvelinpuolen skriptikielenä tyypillisimmin PHP. LAMP on saatavilla kutakuinkin jokaisesta palvelinhotellipaketista, sillä on mahdollista toteuttaa huomattavan mutkikkaita ja monipuolisia verkkopalveluja (esim. Facebook tehtiin LAMP:lla alussa) ja se onkin ollut pitkään hyvin suosittu.
On syytä huomata, että kyseessä on ainoastaan selventävä termi, eikä vaikkapa ohjelmien välinen yhteyskäytäntö. Yhdistelmälle on annettu nimi, koska sitä käytetään melko paljon ja se on havaittu toimivaksi. Samalla idealla on kehitetty muitakin lyhenteitä kuten Solaris-pohjainen SAMP ja Windows/IIS-yhdistelmään pohjautuva WIMP.
LAMP-ympäristön asennus omalle koneelle
Seuraavassa lyhyt yhteenveto miten LAMPin voi pystyttää.
- Asenna Ubuntu 16.04 LTS (hyvin suosittu ja helppokäyttöinen Linux, ja sen pitkäaikaisen tuen versio, jonka palvelinohjelmistoille on taattu tietoturvapäivitykset vuoteen 2021 saakka)
- Avaa pääte ja aja sudo apt-get install php5 php5-mysql mysql-server, mikä asentaa em. ohjelmat ja kaikki niiden riippuvuudet, mukaan lukien Apache-palvelimen:
$ sudo apt-get install php5 php5-mysql mysql-server Luetaan pakettiluetteloita... Valmis Muodostetaan riippuvuussuhteiden puu Luetaan tilatiedot... Valmis Seuraavat ylimääräiset paketit on merkitty asennettaviksi: apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server-5.1 mysql-server-core-5.1 php5-common Ehdotetut paketit: apache2-doc apache2-suexec apache2-suexec-custom php-pear dbishell libipc-sharedcache-perl tinyca mailx php5-suhosin Seuraavat UUDET paketit asennetaan: apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 php5 php5-common php5-mysql 0 päivitetty, 23 uutta asennusta, 0 poistettavaa ja 3 päivittämätöntä. Noudettavaa arkistoa 30,0Mt. Toiminnon jälkeen käytetään 73,9M t lisää levytilaa. Haluatko jatkaa [K/e]?
- Asennusvaiheessa pyydetään asettamaan MySQL:n pääkäyttäjälle (root) salasana. Laita se muistiin.
- Käynnistä Apache uudestaan, jotta PHP varmasti aktivoituu: sudo /etc/init.d/apache2 restart
- Tarkista Apachen toimivuus selaimella (http://127.0.0.1/ tai http://localhost/)
- Nyt voit laittaa PHP-skriptin kansioon /var/www/. Aja komento sudo nano /var/www/testi.php ja kirjoita tiedoston sisällöksi:
<?php echo "Testi toimii!"; ?>
- Tallenna painamalla Ctrl+X ja ↵ Enter (K=kyllä)
- Avaa selaimella http://localhost/testi.php. Jos näet vain tekstin, niin PHP toimii. Jos selain yrittää ladata kokonaisena tiedostona sivun, PHP-skriptiä ei ajettu.
Wordpress
Lisäharjoituksena voit asentaa Wordpressin, joka on PHP:lla ja MySQL:llä toimiva blogiohjelmisto. Aloita komennolla sudo apt-get install wordpress
$ sudo apt-get install wordpress Luetaan pakettiluetteloita... Valmis Muodostetaan riippuvuussuhteiden puu Luetaan tilatiedot... Valmis Seuraavat ylimääräiset paketit on merkitty asennettaviksi: javascript-common libjs-cropper libjs-prototype libjs-scriptaculous libphp-phpmailer libphp-snoopy libt1-5 php-gettext php5-gd tinymce wordpress-l10n wwwconfig-common Ehdotetut paketit: mail-transport-agent curl postgresql-client apache apache-ssl Seuraavat UUDET paketit asennetaan: javascript-common libjs-cropper libjs-prototype libjs-scriptaculous libphp-phpmailer libphp-snoopy libt1-5 php-gettext php5-gd tinymce wordpress wordpress-l10n wwwconfig-common 0 päivitetty, 13 uutta asennusta, 0 poistettavaa ja 3 päivittämätöntä. Noudettavaa arkistoa 8 107kt. Toiminnon jälkeen käytetään 30,4M t lisää levytilaa. Haluatko jatkaa [K/e]?
Jatka asennusta ohjetiedoston /usr/share/doc/wordpress/README.Debian mukaan.
LAMPista eteenpäin
LAMP ei tänä päivänä enää edusta parasta mahdollista teknologiaa. Apachen kanssa kilpailee moni uusi paljon nopeampi palvelinohjelmisto (esim. NodeJS ja Nginx), Oracleen haltuun siirtynyt MySQL häviää MariaDB:lle ja PostgreSQL:lle ja ohjelmointikielipuolella on nykyisin suositumpaa käyttää JavaEE:tä, Ruby on Railisia tai Pythonia (esim. Djangon kanssa).