Raspberry Pi – instalacja serwera www (apache)
Raspberry Pi jest malutkim komputerem na którym możemy uruchamiać wiele ciekawych aplikacji, a dzięki złączu 2×20 pin mamy dostęp do portów GPIO przez które możemy podłączyć różnego rodzaju czujniki, diody i przyciski. Dziś pokażę Wam jak zainstalować serwer www, który pozwoli nam postawić na naszej malinie w pełni funkcjonalną stronę www (która może być np. panelem wyświetlającym wartości czujników).
Instalacja serwera
Aby zainstalować serwer Apache wystarczy że wpiszemy w konsoli
sudo apt-get install apache2
Jeżeli system nie będzie mógł znaleźć odpowiednich paczek przed instalacją apache zaktualizujmy zależności:
sudo apt-get update
Kiedy serwer Apache się już zainstaluje możemy sprawdzić czy działa wchodząc z poziomu przeglądarki na adres naszego Raspberry.
Od teraz możemy dodawać nasze własne dokumenty .html do folderu /var/www/html. Jednak gołe pliki html to nie jest to o czym marzyliśmy. Fajnie byłoby dodać do tego trochę logiki, dlatego też doinstalujemy na malince interpreter PHP.
Instalacja PHP
W celu instalacji interpretera php działającego pod serwerem apache wpisujemy w konsole następującą komendę:
sudo apt-get install php5 libapache2-mod-php5
Jeżeli paczki zainstalują się pomyślnie możemy przejść do katalogu /var/www/html, a następnie usunąć plik index.html i stworzyć index.php w którym umieścimy jakiś testowy skrypt. Aby usunąć index.html musimy wywołać polecenie rm poprzez sudo. Następnie wpisujemy
sudo touch index.php sudo chown nazwa_uzytkownika index.php
gdzie zamiast nazwa_uzytkownika wpisujemy naszą aktualną nazwę użytkownika. Od teraz możemy edytować plik index.php bez użycia sudo.
Możemy także nadać sobie prawa na cały katalog /var/www/html wydając polecenie
sudo chown nazwa_uzytkownika /var/www/html/ -R
Parametr -R nada naszemu użytkownikowi uprawnienia rekursywnie do wszystkich podkatalogów znajdujących się w html.
Innym sposobem na nadanie pełnych praw do /var/www/html jest ustawienie chmod’a
sudo chmod 777 /var/www/html/
Testy
Do celów testowych wpiszmy do pliku index.php następującą treść:
<?php phpinfo(); ?>
Po odwiedzeniu adresu malinki powinniśmy zobaczyć coś podobnego:
Jeżeli mamy zainstalowany program wiringpi (sudo apt-get install wiringpi) możemy z poziomu PHP wykonywać operacje na GPIO np. odczytać stan konkretnego pinu:
<?php echo "Stan pinu 29: "; system("gpio read 29"); ?>
Numery pinów dla wiringpi możemy sprawdzić na stronie https://pinout.xyz/
Można odczytać z niej, że pin 29 to pin, który znajduje się na krawędzi płytki od storny portów USB. Jeżeli przyłożymy do niego napięcie 3,3V i wejdziemy na adres malinki zostaniemy poinformowani, że
Stan pinu 29: 1
W ten oto sposób zainstalowaliśmy na naszej malince interpreter php i serwer apache. Dzięki funkcjom takim jak system() lub exec() możemy wywoływać komendy basha z poziomu skryptu php (np. możemy sterować portami GPIO poprzez wywołanie porgramu wiringpi).
brak kandydata do instalacji :(
Na pewno wpisałeś „sudo apt-get update”? :)
Potwierdzam, po updateowaniu dalej to samo, jak wpisuje 'sudo apt search php5′ to nigdzie nie ma tego typu pakietu, jest coś co się nazywo „dwoo” – PHP5 template engine, ale nigdzie nie widze pakietu php5
Znalazłem przyczynę. Php5 jest już niedostępny, gdyż jego miejsce zajął php7 ;]
link do źródła: https://www.raspberrypi.org/forums/viewtopic.php?t=195818
Faktycznie php7 działa