Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Uvod u LAMP
Autor: Mario Goljak
Voditeljica: Vlasta Pavičić
12. lipnja 2018.
Obrazovni program za IT-specijaliste edu4IT, Sistemski administrator 1
Sadržaj
Što je LAMP?
Linux operacijski sustav
Apache HTTP poslužitelj
MySQL baza podataka
PHP skriptni jezik
Demo instalacija i konfiguracija
phpMyAdmin
Što je LAMP?
Skup alata otvorenog koda za razvoj i implementaciju dinamičkog i interaktivnog web sadržaja
Slojevito strukturirane komponente:
• [L]inux operacijski sustav
• [A]pache web poslužitelj
• [M]ySQL baza podataka
• [P]HP skriptni jezik
Inačice dostupne na većini aktualnih operacijskih sustava:
• Windows, macOS, Linux, BSD, itd.
Što je LAMP?
Klijent
HTTP zahtjev
HTTP odgovor
Poslužitelj
Web poslužitelj
Izvršno PHPokruženje
Baza podataka
Linux operacijski sustav
Besplatan OS sastavljen isključivo od slobodnog softvera koji razvija zajednica suradnika - korisnika i programera
Temeljna komponenta LAMP programskog paketa
Siguran i visoko pouzdan izbor za implementaciju web poslužitelja
Za razvoj i održavanje jeftiniji od komercijalnih alternativa
Različite distribucije:
Red Hat, CentOS, Ubuntu, Debian, itd.
Sustavi za upravljanje paketima pojednostavljuju instalaciju
Apache HTTP poslužitelj
Učinkovit web poslužitelj usklađen s trenutnim HTTP standardima
Održava i razvija otvorena zajednica programera koju vodi Apache Software Foundation
Neke od mogućnosti Apache poslužitelja su:
Modularna konfiguracija jednostavna za korištenje
Detaljna službena dokumentacija
Bez naknade ili troškova licenciranja
Trenutno pokreće preko 42% aktivnih web stranica
MySQL baza podataka
Sustav za upravljanje relacijskim bazama podataka (RDBMS)• Visoko optimizirana baza podataka• Funkcije definirane SQL standardom• Stabilna i dobro dokumentirana• Podrška za brojne programske jezike: PHP, Java, Perl, Python...• Sastavni dio poslužiteljskih Linux distribucija
U vlasništvu Oracle korporacije (od 2010. godine):• Community Edition
• Enterprise Edition
MariaDB - razvojna grana MySQL-a:• Bolje performanse• Novi mehanizmi za pohranu podataka
Percona poslužitelj za MySQL - kompatibilna zamjena s Enterprise mogućnostima
PHP skriptni jezik
Skriptni jezik namijenjen razvoju dinamičkog web sadržaja
Izvodi se na poslužiteljskoj strani na način da se ugrađuje u izvorni HTML kôd web stranice
Podrška za povezivanje s bazama podataka (MySQL/MariaDB, PostgreSQL, SQLite...)
Koristi se kao standardni Apache modul
Besplatno dostupan pod licencom otvorenog kôda
Demo instalacija i konfiguracija
Radno okruženje:
Operacijski sustav Debian GNU/Linux 9.4 (stretch)
IP adresa 127.0.0.1
Naziv računala debian.srce.lamp
• Instalacija LAMP komponenata
• Upravljanje servisima
• Provjera ispravnosti
Apache - upravljane servisom
systemctl {start|stop|restart|enable|disable} apache2
systemctl status apache2
Apache - konfiguracija
.
├── apache2.conf < Glavna konfiguracijska datoteka
│ `-- ports.conf < Konfiguracija mrežnih portova
├── conf-[enabled,available]/ < Fragmenti globalne konfiguracije
│ `-- *.conf
├── mods-[enabled,available]/ < Upravljanje modulima
│ |-- *.load
│ `-- *.conf
└── sites-[enabled,available]/ < Konfiguracija udomljenih stranica
`-- *.conf
root@debian:/etc/apache2 #
Apache - virtualni domaćini
Osnovna jedinica individualne web stranice ili domene
Mogućnost udomljavanja više stranica na jednom sustavu
Broj virtualnih domaćina nema softverskih ograničenja
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Apache - virtualni domaćini
<VirtualHost *:80>
ServerName www.primjer.hr
ServerAlias primjer.hr
ServerAdmin [email protected]
DocumentRoot /var/www/primjer/html
ErrorLog ${APACHE_LOG_DIR}/primjer-error.log
CustomLog ${APACHE_LOG_DIR}/primjer-access.log combined
</VirtualHost>
/etc/apache2/sites-enabled/primjer.conf
MySQL - povećanje sigurnosti
Onemogućeno udaljeno spajanje root računa
Brisanje testne baze podataka
MySQL - osnovno korištenje
Izrada demo baze podataka i pripadajućeg korisnika s odgovarajućim pravima
PHP - provjera ispravnosti
Izraditi info.php datoteku sa sadržajem: <?php phpinfo(); ?>
Usmjeriti web preglednik na adresu: http://127.0.0.1/info.php
PHP - podrška za MySQL
root@debian # apt-cache search php7.0
root@debian # apt-get install php7.0-mysql
PHP - provjera ispravnosti
Usmjeriti web preglednik na PHP info stranicu: http://127.0.0.1/info.php
phpMyAdmin
Alat za upravljanje bazom podataka iz web preglednika
Napisan u PHP programskom jeziku
Podrška za većinu MySQL mogućnosti:
• Izvršavanje SQL upita
• Upravljanje bazama, tablicma, poljima i indeksima
• Upravljanje korisničkim računima i privilegijama
• Upravljanje pohranjenim procedurama i trigerima
Intuitivno grafičko sučelje
phpMyAdmin - upravljanje
Usmjeriti web preglednik na adresu: http://127.0.0.1/phpmyadmin
Prijaviti se s odgovarajućim korisničkim podacima
LAMP alternative
Razvijen niz zamjena temeljen na različitim tehnologijama:
• LEMP - Linux, Nginx, MySQL, PHP
• LAPP - Linux, Apache, PosgreSQL, PHP
• LNPP - Linux, Nginx, PosgreSQL, PHP
• WIMP - Windows, IIS, MySQL, PHP
• MEAN - MongoDB, Express, AngularJS, Node.js
Izbor komponenata fleksibilan i lako prilagodljiv postojećim sustavima
Zaključak
Služi za razvoj i implementaciju dinamičkog web sadržaja
Komponente besplatne i otvorenog kôda
Jednostavna instalacija
Prilagodljiv postojećim sustavima
Dodatni alati pojednostavljuju održavanje
Može poslužiti kao temelj CMS sustavima za upravljanje sadržajem
Literatura
[1] Wiki stranice Debian operacijskog sustava
https://wiki.debian.org
[2] Dokumentacija Apache HTTP poslužitelja
https://httpd.apache.org/docs
[3] MySQL baza podataka
https://www.mysql.com/
[4] Dokumentacija PHP skriptnog jezika
https://secure.php.net/docs.php
[5] Alat za administraciju MySQL baze podataka
https://phpmyadmin.net
Srce politikom otvorenog pristupa široj javnosti
osigurava dostupnost i korištenje svih rezultata rada
Srca, a prvenstveno obrazovnih i stručnih informacija
i sadržaja nastalih djelovanjem i radom Srca.
Ovo djelo je dano na korištenje pod licencom
Creative Commons Imenovanje-Nekomercijalno
4.0 međunarodna.
www.srce.unizg.hr creativecommons.org/licenses/by-nc/4.0/deed.hr www.srce.unizg.hr/otvoreni-pristup
Hvala na pozornosti!
Pitanja?