Raspberry Pi można relatywnie łatwo zmienić w ekonomiczny (cena Pi, jak i koszt związany z poborem energii) serwer WWW.
Wprawdzie raczej nie sprawdzi się do trzymania tam strony generującej „większy ruch” (w takim przypadku polecam skorzystać z „normalnego” hostingu albo serwera VPS), ale na potrzeby różnych „naszych” projektów, czy do testów będzie jak najbardziej OK.
Spis treści w artykule
Apache2 + PHP-MOD
W tym celu skorzystam z:
Opisana metoda/procedura zadziała nie tylko na Raspberry Pi, ale także na innych komputerach/urządzeniach (serwer, VPS) działających pod kontrolą systemu Debian/Ubuntu, a po lekkiej modyfikacji i na innych dystrybucjach.
Wprawdzie są inne możliwości niż Apache2, ale z różnych przyczyn polecam zacząć jednak od Apache2… Przemawia ku temu prosta i szybka instalacja i konfiguracja, a i ewentualne różnice w wydajności jeśli są – nie przy każdym projekcie (stronie) są na tyle odczuwalne by sobie komplikować niepotrzebnie sprawę…
Alternatywne konfiguracje:
- Apache2 + PHP-FPM – polecam nawet początkującym, zwłaszcza przy „większych” projektach w PHP
- Nginx + PHP-FPM – może trochę szybciej, może zużywa mniej RAMu, ale czasem trzeba pokombinować by zrekompensować brak obsługi mod_rewrite/.htaccess
- Nginx + Apache2 + PHP-FPM
Nawet gdy wybierzecie/zdecydujecie się na którąś z alternatywnych konfiguracji to i tak większa część tego poradnika Was dotyczy, choć warto zajrzeć najpierw do opisu „alternatywy”, by wiedzieć które elementy należy wykonać inaczej, a które ew. pominąć…
Instalacja
Zaczniemy od zainstalowania podstawowych składników:
sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl php5-mcrypt php5-gd -y
Wszystko poszło OK…
Konfiguracja
Gdy instalacja przebiegnie pomyślnie musimy jeszcze tylko dokonać małej modyfikacji „domyślnej” konfiguracji.
W tym celu wpisujemy polecenie:
sudo nano /etc/apache2/sites-enabled/000-default
W przypadku – chyba – Apache2.4 może to być:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Szukamy:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
By zmienić na:
Options Indexes FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
Wychodzimy zapisując: CTRL+Q i Y.
Restartujemy serwer/Apache:
sudo service apache2 restart
WWW
Po tej operacji właściwie już możemy sprawdzić czy wszystko działa OK, wpisując w przeglądarce adres:
- Z Raspberry Pi: localhost
- Z Raspberry Pi: 127.0.0.1
- Z innego urządzenia w sieci LAN: Adres IP Raspberry Pi
Powinna wyświetlić się strona domyślna Apache:
Jeśli chcemy wgrać „na serwer” (Pi) własną stronę, możemy to zrobić np. za pomocą opisywanego niedawno programu WinSCP
Pliki naszej strony wgrywamy do katalogu:
/var/www
Jeśli chcecie mieć dostęp do swojej strony „z Internetu” pamiętajcie by na routerze ustawić przekierowanie odpowiedniego portu „z zewnątrz do Pi” (domyślnie 80)
Oczywiście potrzebujecie też mieć publiczne IP. A jeśli macie zmienne IP przyda się też konfiguracja DDNS.
www-data, czyli uprawnienia…
Może jeszcze być konieczne ustawienie odpowiednich praw dostępu do katalogu ze stroną dla użytkownika „www-data”, pod którym kryje się (w uproszczeniu) Apache.
W tym celu korzystamy z polecenia:
sudo chown -R www-data:www-data /var/www
„ServerName” fix
Wprawdzie dla samego działania serwera nie ma to znaczenia, ale np. „ze względów estetycznych” można pozbyć się komunikatu „błędu” który pojawia się podczas startu Apache w domyślnej konfiguracji:
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
W tym celu otwieramy do edycji plik:
sudo nano /etc/apache2/apache2.conf
I dodajemy (np. na końcu) linijkę:
ServerName localhost
Ukrywamy wersję serwera
Nie jest to konieczne – ale na wszelki wypadek, by nie kusić… losu – ukryjemy również wersję serwera jaka działa na naszej maszynie:
sudo nano /etc/apache2/apache2.conf
I dodajemy (np. na końcu) 2 linijki:
ServerSignature Off
ServerTokens Prod
Domena
Jeśli chodzi o podpięcie do tak skonfigurowanego serwera Apache na Raspberry Pi to jest to również jak najbardziej możliwe…
Choć na pewno nie obejdzie się bez publicznego adresu IP, fajnie też jak będzie stały, choć przy zmiennym można ratować się serwisami typu DDNS.
Pokaże chyba najprostszy (bez zbytniego wdawania się w vHosty) z nich, idealnie pasujący do tego poradnika…
Ponownie edytujemy plik/alias:
sudo nano /etc/apache2/sites-enabled/000-default
Gdy korzystamy z SSL dodatkowo edytujemy:
sudo nano /etc/apache2/sites-enabled/default-ssl
Tak naprawdę jest to alias/link, i edytujemy plik /etc/apache2/site-available/default i /etc/apache2/site-available/default-ssl – wynika to z tego, że w katalogu „site-enabled” umieszczone są pliki konfiguracyjne stron które mają działać – być aktywne, a w „site-available” dostępne, ale niekoniecznie aktywne w danej chwili.
I dodajemy linijkę:
ServerName nasza_domena
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName test.rembiejewski.pl
Wychodzimy zapisując CTRL+X i Y, oraz restartujemy serwer Apache:
sudo /etc/init.d/apache2 restart
Musimy jeszcze zrobić 2 rzeczy:
Ustawić rekord A w DNS’ach naszej domeny ze wskazaniem na adres IP (publiczny) pod którym Raspberry Pi jest widoczna w Internecie:
A nazwa_domeny_lub_subdomena publiczny_adres_ip
Oraz na routerze ustawiamy przekierowanie portu (domyślnie 80, ale może być inny) „z Internetu” do Raspberry Pi:
- Adres: Lokalny adres IP Raspberry Pi
- Protokół: najlepiej oba, lub TCP
- Publiczny port: 80
- Lokalny port: 80
I to wszystko, jak widać – działa:
Tylko mała uwaga: po skonfigurowaniu w DNS’ach nowego rekordu musicie uzbroić się w cierpliwość, bo zmiana może być widoczna w kilka minut, a czasem nawet kilka(naście) godzin.
SSL
Warto tez „na zaś” ustawić obsługę połączenia szyfrowanego do serwera.
Wykorzystamy do tego celu certyfikat który sami sobie wygenerujemy – poza ostrzeżeniem przeglądarki, że nie wydał go „znany urząd certyfikacji” wszystko powinno działać.
Instalacja modułu:
sudo a2ensite default-ssl
sudo a2enmod ssl
Generujemy certyfikatu:
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Restart Apache:
sudo service apache2 restart
I to wszystko… Na „stronę” powinniście już móc wejść poprzez „https” – z czego warto korzystać wszędzie tam, gdzie przesyłacie prywatne dane (hasła, formularze, itp.).
Musicie tylko pamiętać, by dodatkowo na routerze ustawić port 443 „z zewnątrz do Raspberry Pi”.
mod rewrite
Wprawdzie modułów które można dodać (aktywować) do Apache jest całkiem sporo, to jest jeden bez którego nie wyobrażam sobie pracy ;-)
Chodzi o mod rewrite, który możemy aktywować za pomocą polecenia:
sudo a2enmod rewrite
I – standardowo – restart Apache:
sudo service apache2 restart
Domyślne kodowanie znaków
Można też ustawić domyślne kodowanie znaków (chodzi o „ogonki”, czyli np.: ęóąśłżźćń).
W tym celu ponownie edytujemy plik konfiguracyjny:
sudo nano /etc/apache2/apache2.conf
Ew. może to też być:
sudo nano /etc/apache2/conf.d/charset
i dodajemy linijkę:
AddDefaultCharset UTF-8
lub:
AddDefaultCharset ISO-8859-2
Oczywiście zmiana będzie aktywna po restarcie serwera Apache…
PHP.ini
Nie można też zapomnieć o edycji pliku php.ini by troszkę usprawnić działanie naszego serwera…
sudo nano /etc/php5/apache2/php.ini
I warto spojrzeć okien na pozycje:
memory_limit = 64M
post_max_size = 64M
upload_max_filesize = 64M
Apache2 utils
Warto też zainstalować też paczkę „apache2-utils”:
sudo apt-get install apache2-utils
Dzięki czemu dostaniemy dostęp do dodatkowych poleceń/narzędzi:
- ab – narzędzie testujące Apache’a
- fcgistarter – uruchamia program FastCGI
- logresolve – uzyskuje nazwę komputera na podstawie adresów IP w plikach dziennika
- htpasswd – obsługuje pliki uwierzytelniania typu Basic
- htdigest – obsługuje pliki uwierzytelniania typu Digest
- htdbm – obsługuje pliki uwierzytelniania typu Basic w formacie DBM, używając APR
- htcacheclean – czyści pamięć podręczną dysku
- rotatelogs – okresowo zatrzymuje zapisywanie do pliku dziennika i otwiera nowy
- split-logfile – dzieli pojedynczy plik dziennika obejmujący wiele wirtualnych hostów
- checkgid – sprawdza, kiedy odwiedzający może ustawić setgid dla określonej grupy
- check_forensic – wydobywa mod_log_forensic z plików dziennika serwera Apache’a
- httxt2dbm – generuje pliki DBM, używane z RewriteMap
MySQL
Przy bardziej złożonych stronach/projektach zapewne szybko się okaże, że przyda nam się też serwer baz danych…
Instalacja serwera MySQL
sudo apt-get install mysql-server mysql-client php5-mysql libapache2-mod-auth-mysql -y
W przypadku błędu (np. pakietu libapache2-mod-auth-mysql nie ma już w repozytoriach Raspbian Jessie) można spróbować:
sudo aptitude install mysql-server mysql-client php5-mysql -y
Podczas instalacji trzeba podać hasło do konta „root” dla bazy danych (MySQL, nie mylić kontem do systemu):
Gdy instalacja przebiegnie pomyślnie powinniście zobaczyć mniej więcej coś takiego:
I to właściwie wszystko jeśli chodzi o sam serwer MySQL, choć warto zainstalować teraz coś, co znacznie uprości nam zarządzanie bazami danych:
phpMyAdmin
Standardowo zaczynamy od instalacji:
sudo apt-get install phpmyadmin -y
Gdy pojawi się ekran z wyborem rodzaju serwera WWW wybieramy: Apache2
Na następnym ekranie by nie komplikować wybieramy „Yes”, i korzystamy z automatycznej konfiguracji:
W kolejnym etapie musimy wpisać hasło do konta „root” dla bazy MySQL – te które utworzyliśmy podczas instalacji MySQL:
Przy opcji:
MySQL aplication password for phpmyadmin:
możemy skorzystać z wygenerowania losowego hasła, w tym celu naciskamy tylko [enter]
Jeśli wszystko poszło OK, to zapewne na koniec zobaczycie ekran podobny do tego:
By sprawdzić czy wszystko działa ponownie wpisujemy w oknie przeglądarki adres Raspberry Pi (naszego serwera WWW), z tym że za adresem dodajemy:
/phpmyadmin
Czyli:
http://adres_ip_raspberry_pi/phpmyadmin
- Login: root
- Hasło: podane podczas instalacji (wyżej)
Połączenie dla użytkownika kontrolnego zdefiniowanego w pliku konfiguracyjnym nie powiodło się.
Gdy w phpMyAdmin pojawi się Wam taki komunikat:
połączenie dla użytkownika kontrolnego zdefiniowanego w pliku konfiguracyjnym nie powiodło się
oznacza to, że coś poszło nie tak – i trzeba ręcznie skorygować „dane dostępowe”.
W tym celu należy przejść do edycji pliku:
sudo nano /etc/phpmyadmin/config-db.php
i sprawdzić m.in. te linijki:
$dbuser='phpmyadmin';
$dbpass='hasło';
Hasło które znajduje się w zmiennej $dbpass jest hasłem za pomocą którego phpMyAdmin próbuje się połączyć z bazą danych dla swoich celów – zmieniamy na prawidłowe…
Ew. jeśli nie znacie – a jest to możliwe, zwłaszcza gdy wybraliście losowe podczas instalacji – należy zalogować się do phpMyAdmin (użytkownik „root”) i ustawić hasło dla użytkownika „phpmyadmin” takie jak w tym pliku.
„Ręczna” instalacja phpMyAdmin
Jeśli ktoś chciałby ręcznie zainstalować phpMyAdmin (bo np. chce inną wersję) również nie jest to trudne, i sprowadza się do kilku prostych kroków. I muszę przyznać, że od jakiegoś czasu jest to sposób z którego coraz częściej korzystam…
Pobrania najnowszą paczkę ze strony projektu, rozpakowujemy pliki i wrzucamy je np. do katalogu „phpmyadmin” webserwera, np.:
/var/www/public_html/phpmyadmin
Do tego warto doinstalować jeszcze kilka paczek PHP – jakby ich nie było:
sudo apt-get install php5-mcrypt php-mbstring php5-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart php5-fpm
Po zalogowaniu do phpMyAdmin może pojawić się błąd/komunikat:
Plik konfiguracyjny wymaga teraz tajnej frazy kodującej (blowfish_secret).
By rozwiązać problem wystarczy utworzyć plik konfiguracyjny – można skorzystać z przykładowego:
sudo cp /var/www/public_html/phpmyadmin/config.sample.inc.php /var/www/public_html/phpmyadmin/config.inc.php
Otwieramy go:
sudo nano /var/www/public_html/phpmyadmin/config.inc.php
I zmienić w nim linijkę:
$cfg['blowfish_secret'] = '';
Np. na:
$cfg['blowfish_secret'] = '01234567890123456789012345678901';
Zamiast „01234567890123456789012345678901” należy wstawić jakieś 32-znakowe (!) hasło.
Kolejny dość popularny błąd:
Program phpMyAdmin nie ma w pełni skonfigurowanej przestrzeni do przechowywania danych, niektóre rozszerzone funkcje zostały wyłączone. Aby dowiedzieć się dlaczego kliknij tutaj. Lub, alternatywnie, przejdź do zakładki 'Operacje’, w dowolnej bazie danych, aby tam to skonfigurować.
Wystarczy przez phpMyAdmin zaimportować plik:
/var/www/public_html/phpmyadmin/sql/create_tables.sql
Jeśli pojawi się błąd podczas tej operacji, to z poziomu konsoli:
mysql -u root -p
mysql> DROP DATABASE phpmyadmin;
mysql> CREATE DATABASE phpmyadmin;
mysql> exit
mysql -u root -p phpmyadmin < /var/www/public_html/phpmyadmin/sql/create_tables.sql
Po tej operacji i ponownym zalogowaniu do phpMyAdmin wszystko powinno być już OK (pamiętajcie tylko, że użytkownik „root” do MySQL to nie to samo co „root” do systemu).
phpMyAdmin: użytkownicy i bazy
Sama baza to jedno, ale warto jeszcze wiedzieć, jak dodać użytkownika i bazę danych…
Logujemy się do phpMyAdmin:
http://raspberrypi/phpmyadmin/
Nowy użytkownik:
W menu głównym phpMyAdmin wybieramy:
- Uprawnienia > Dodaj nowego użytkownika
- Nazwa użytkownika: jak sama nazwa wskazuje, nazwa nowego użytkownika bazy, np. patryk
- Host: W większości przypadków możemy wybrać „Host lokalny” (localhost)
- Hasło: Również chyba wiadomo, co tu trzeba wpisać :-)
Warto jeszcze zaznaczyć opcję:
- Baza danych dla użytkownika:
Przyznaj wszystkie uprawienia do baz danych o nazwach pasujących do maski (nazwaużytkownika_%)
lub:
- Utwórz bazę danych z taką samą nazwą i przyznaj wszystkie uprawnienia
Wtedy wystarczy stworzyć bazę danych wg wzoru:
- nazwaużytkownika_nazwabazy (wariant 1)
- nazwaużytkownika (wariant 2)
by użytkownik miał do niej automatycznie odpowiednie uprawnienia…
Tworzenie baza danych
W menu głównym phpMyAdmin wybieramy „Bazy danych” i tam tworzymy nową bazę danych:
Zobacz jak dodatkowo zabezpieczyć dostęp do phpMyAdmin za pomocą pliku .htaccess
Podsumowanie
Oczywiście możecie skorzystać z innych serwerów niż Apache, z innej bazy niż MySQL – ale wybrałem akurat taki „pakiet”, bo chyba najczęściej się go używa, a zarazem chyba najmniej problemów sprawia przy obsłudze i konfiguracji…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Witam,
przeczytałem Twój komentarz i jest mi bardzo przydatny, ale słuchaj mam pytanie jeżeli chciałbym aby moja malinka działała jako serwer i czy można do niej podpiąć domenę ? I czy uda mi się to mając internet radiowy.
Witam
Tak, jest to jak najbardziej możliwe, zaktualizowałem wpis/poradnik o taką informację (w sekcji dotyczącej Apache)
Co do wymaga „technicznych” samego łącza: to tak jak napisałem – bez publicznego IP raczej się nie obejdzie…
Dodatkowo ważny jest parametr (szybkość) „upload” (dane wysyłane od nas do Internetu) łącza, a z tym zazwyczaj w „ofertach domowych” jest kiepsko, i raczej serwera „dla mas” na tym nie postawimy (choć nie mówię, że jest to niemożliwe ;-)), to na „własne potrzeby” powinno wystarczyć…
Czy ten komunikat jest ok?
root@raspberrypi:/home/pi# sudo service apache2 restart
[….] Restarting web server: apache2apache2: Could not reliably determine the s erver’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
. ok
Hm… Dla działania serwera nie ma znaczenia, ale ze względów „estetycznych” można w prosty sposób pozbyć się tego komunikatu:
I dodajemy linijkę:
Następnie restart serwera:
Witam rewelacyjny wpis, prowadzi krok po kroku rewelacja, dziękuję bardzo :)
Dzięki temu wpisowi użyje malinki jako serwera do zbierania danych z systemów przemysłowych i przedstawiania ich na stronie ww za pomocą PHP.
Serdecznie dziękuje i pozdrawiam
Witam i dziękuje za miłe słowa…
Pi choćby ze względu na cenę, rozmiar, jak i pobór energii wydaje się wręcz idealnym urządzeniem do takich zadań… A jak do tego dodać jeszcze pełnoprawnego Linuxa – no cóż :-)
Również pozdrawiam…
Naprawdę ten blog to rewelacja. Świetna robota.
Jak do tej pory wg. Twoich wskazówek wszystko śmiga na mojej malince bez zająknięcia… oprócz PHPmyadmin. Robiłem wszystko krok po kroku i niestety brak strony http://10.0.0.100/phpmyadmin :-(
Wszystko wg. wskazówek. Jedynie zmieniłem z (domyślnego /var/www) folder główny dla apach2 na /HDD/www (/HDD – tak montuję dysk twardy) i web śmiga – index.html i wszystkie podstrony. Czy zmiana tego parametru mogła mieć wpływ, że PHPmyadmin „nie działa”. Próbowałem nawet „dpkg-reconfigure phpmyadmin”, ale nic nowego to nie wniosło. Gdzie szukać przyczyny – jakie pliki konfiguracyjne czy logi przejrzeć?
Może wystarczy (?) dodać linkowanie/dowiązanie:
Ew. zamiast zmieniać w konfiguracji Apache katalog "webowy" na dysk twardy, to można i tu skorzystać z linkowania/dowiązania:
Oczywiście najpierw katalog /var/www kasujemy lub przenosimy...
Po podlinkowaniu zadziałało, ale server wyrzucał „403 Forbidden error”. Po googlowaniu pomogło dopiero zmiana Allow from ALL w pliku /etc/phpmyadmin/apache.conf i :
sudo ln -s /etc/phpmyadmin/apache.conf /etcapache2/conf.d
(skopiowanie tego pliku też pewnie zadziałałoby)
Nie wiem dlaczego phpmyadmin sam nie dodał tam tego pliku… Ale już wszystko śmiga jak należy.
Dziękuję za wskazówki.
Witaj, bardzo dobry wpis. Kompletny co się zdarza nie często. Mam pytanie czy apache nie jest zbyt wymagającym serwerem www razem z mysql. Czy nie rozsądniej było by zastosować lighttp oraz sqlite?
Czy przy korzystaniu z serwera przez klika osób (np z owncloud) na raz nie będzie się odczuwało spowolnienia pracy ?
Witam
Przyznam się szczerze, że nie robiłem bezpośrednich testów – choć mam „sztukę” i z Apache + MySQL, jak i (oczywiście inną sztukę) z lighttpd… Więc może jakiś test byłby możliwy, chociaż Apache działa na wersjach z 512MB RAM, a lighttpd tam gdzie jest z 256MB RAM i może to wpłynąć na wynik…
Ale może uda się wyrównać szansę – kwestia wolnego czasu… :-)
To na koniec jeszcze czemu Apache – mimo że może być na Pi mniej wydajny niż lighttpd: bo moim zdaniem jest prostszy dla „początkującego” użytkownika „w późniejszej pracy” – a w dużej mierze do nich skierowany jest ten poradnik/opis, stąd choćby opis „krok po kroku”.
Ps. Ja bym jeszcze do „rozważań na temat serwera WWW na Raspberry Pi” dorzucił „nginx”
Tutorial świetny, na pewno częściej będę tutaj zaglądał, ale…
Po instalacji phpMyAdmin (zgodnie z instrukcją) nie pojawiły mi się jego pliki w /var/www i nie mogę go odpalić. Gdzie się mogły rozpakować?
Sam już znalazłem przyczynę…
Po instalacji phpMyAdmin trzeba w pliku
sudo nano /etc/apache2/apache2.conf
na końcu dodać linijkę
Include /etc/phpmyadmin/apache.conf
i zrestartować serwer
sudo service apache2 restart
i już działa!
Hm… Już kilka razy na Pi uruchamiałem serwer WWW na podstawie tego poradnika, i chyba jeszcze nigdy nie musiałem w pliku
dodawać linijki/wpisu:
Nawet więcej - sprawdziłem jak to wygląda u siebie, i tam (apache2.conf) nie mam takiego (ani podobnego) wpisu.
Apache jest bardzo wymagającym serwerem www. Najlepszym zastosowaniem będzie instalacja nginxa, najlżejszego serwera www.
Po dobrym skonfigurowaniu nginx+php+fastcgi+mysql wraz z phpMyAdminem, całość zajmuje do 30mb pamięci ram. Dodatkowo, jeśli postawimy jakieś forum oparte na php, to pamięć skoczy do 50mb. Zresztą, zależy ilu się ustawi użytkowników w php.
Mam VPSa z zainstalowanym Debianem i właśnie taką serwerową paczuszką, na którą odpalam fora ze 100 użytkownikami online i doskonale daję radę :) Jedyne ograniczenie w Raspberry Pi jest prędkość domowego internetu, a szczególnie uploadu, który niestety nie jest tak ochoczo dawany jak download :) Jeśli komuś kończy się umową z providerem internetu to sprawdzcie najnowszą ofertę TPSA, 80/8mbit, z takim łączem już spokojnie odpalicie w miare dobrze działają sewer :)
Zgodzę się, że upload jest ważny – i niestety, ale jeśli chodzi o oferty internetu „do domu” jest to często wąskie gardło…
Zgodzę się również, że choćby nginx faktycznie będzie dla Pi bardziej łaskawy… Ale jednak Apache dla przeciętnego użytkownika będzie raczej lepszym wyborem – choćby ze względu na ilość poradników dotyczących właśnie Apache…
A i raczej na Pi nie stawiałbym jakiejś „bardziej popularnej” strony – „dla siebie” owszem, ale raczej nic więcej… Bo jednak wydajność nie ta, choć tragicznie – jak na cenę i pobór energii – też nie jest… A i fakt, że LAN „idzie po USB” też ma moim zdaniem znaczenie…
Ale jeśli ktoś nie ma publicznego IP a chciałby Pi wykorzystać jako „budżetowego dedyka” niebawem postaram się opisać całkiem sympatyczną usługę darmowej kolokacji dla Raspberry Pi…
Witam,
Świetny opis :) tak jak i pozostałe :)
Ja mam pytanie odnośnie „widzenia” strony ww na zewnątrz.
Lokalnie nie ma problemu, strona działa na zewnątrz nic z tego.
Na routerze ustawiłem przekierowanie portu np: IP_zewnetrzne:80 na wewnętrzny:80.
Podobnie mam ustawiony ftp, VNC i wszytko działa, nie wiem w czym problem :(
Zaczął bym od tego, czy masz publiczny IP, bo może jesteś za NATem? Ale skoro np. VNC działa, to raczej masz…
Jak „lokalnie” po IP:80 działa, to „z zewnątrz” przy ustawionych portach (router) też powinno…
Zobacz też może testowa DMZ na Pi…
Witam,
genialne tutoriale dla rozpoczynających zabawę z RPi.
Mam problem z instalacją MySQL’a, w czasie instalacji pojawia się błąd:
Czytanie list pakietĂłw… Gotowe
Budowanie drzewa zaleĹźnoĹi
Odczyt informacji o stanie… Gotowe
libapache2-mod-auth-mysql jest juĹź w najnowszej wersji.
mysql-client jest juĹź w najnowszej wersji.
mysql-server jest juĹź w najnowszej wersji.
php5-mysql jest juĹź w najnowszej wersji.
NaleĹźy uruchomiÄ „apt-get -f install”, aby naprawiÄ poniĹźsze problemy:
NastÄpujÄ
ce pakiety majÄ
niespeĹnione zaleĹźnoĹi:
^[[?6c mysql-server : Wymaga: mysql-server-5.5 ale nie zostanie zainstalowany
E: NiespeĹnione zaleĹźnoĹi. ProszÄ sprĂłbowaÄ wykonaÄ „apt-get -f install” bez pakietĂłw (lub podaÄ rozwiÄ
zanie).
Próbowałem odpalić korzystając z: apt-get -f install, ale wyrzuca mi błąd że za mało jest miejsca w katalogu /var/lib/mysql
Co może być powodem takiego problemu?
Może to będzie „prozaiczne” pytanie, ale czasem największe problemy mają najprostsze rozwiązania, i chyba muszę od niego zacząć: Jest wolne miejsce na karcie pamięci?
Karta ma 16GB i poza systemem Raspbian nie ma tam nic więcej.
No chyba że trzeba jakieś ustawienia w raspi-config zrobić…
Po wgraniu obrazu ISO na kartę pamięci jeszcze trzeba powiększyć „główną partycję”, najprościej zrobić to za pomocą „raspi-config” – a konkretnie opcji:
Możesz też sprawdzić jak wygląda sytuacja z wolną przestrzenią za pomocą komendy:
No i miałeś rację!
Trzeba było rozszerzyć w raspi-config’u główną partycję.
Teraz działa wszystko bez problemu.
Dzięki wielkie za pomoc ;)
Witam. Świetne artykuły na temat RPi!
Chciałbym uruchomić Webmin-a na Raspbianie. Teoretycznie wiem jak pobrać i skompilować, ale boję się, że coś narozrabiam w systemie. Czy mogę się spodziewać jakiegoś artykuły na Twoim blogu poświęconemu właśnie temu zagadnieniu?
Witam
Hm… Wprawdzie nie planowałem o tym pisać (przynajmniej w najbliższym czasie). Ale skoro jest taka prośba – postaram się jutro… Zwłaszcza, że nawet na jednej sztuce mam zainstalowany ten „pakiet”.
I może to będzie dobry moment by się zmotywować i „odpalić” kolejną serię poradników. Zwłaszcza, że sporo ich już od dawna czeka na „wolne chwile” przygotowanych, czekających tylko na ostateczne zredagowanie…
EDIT: Już jest :-)
Niestety wpisująć adres maliny i phpmyadmin nie ma takiej strony 404 not found
Zobacz kilka komentarzy wyżej – podobny problem, może informacje tam zawarte pomogą…
Czy dało by radę (oczywiście w miarę wolnego czasu) zrobić tutorial na temat postawinia serwera nginx+serwer poczty (np. wiewióra)+ mysql + phpmyadmin + php + ISP Config 3. Taki sererk byłby fajną maszynką i napewno by fajnie to chodziło.
Na obecną chwile nie mogę obiecać czy i ew. kiedy… Poradnik m.in. dotyczących Raspberry Pi jest jeszcze całkiem sporo już „wstępnie przygotowanych” – czekają tylko na wolną chwilę i ostateczne zredagowanie by móc opublikować… Ale właśnie – czekają, bo ostatnio z czasem różnie…
Mam nadzieję, że w najbliższych czasie (może nawet już po weekendzie) uda się przygotować i opublikować przynajmniej jeden na 1-2 dni, a wtedy i nginx ma szansę się pojawić…
Nie wiem czy serwer pocztowy – zazwyczaj korzystam z „zewnętrznych”, odseparowanych od „głównego systemu” (polecam MSMTP – jego opis pewnie pojawi się jako jeden z pierwszych w „nowej serii”).
Ogólnie patrząc po podanym zestawie, to całkiem porządny VPS z tego by wyszedł ;-)
To byłby taki domowy kombajnik :) Szybszy od apatcha i lżejszy. Ja przyznam szczerze że od 1,5 tygodnia próbuje takie cudko zrobić. Nawet udało mi się go postawić ale pojawiły się problemy min. z wysyłaniem i odbieraniem poczty, po „postawieniu” strony w ISPC3 (już mam manual i w wolnym czasie postaram się go przeanalizować) niestety ona nie działała.
P.S blog pierwsza klasa i porządne kompendium dla początkujących malinowców :)
Z tą szybkością to tak różnie, często faktycznie… A czasem to tylko powielany mit… Nie wiem czy na Malinie coś się zauważy, bo różnica objawia się raczej przy większym obciążeniu, większej liczbie użytkowników, sporo większej… A to już raczej nie zadanie dla Maliny…
Na jednej sztuce mam nginx, na pozostałych Apache – i czy ja wiem… Do tego na pewno Apache jest prostszy w konfiguracji – zwłaszcza dla początkujących…
Nie wiem jak ISP Control 3 będzie działał jakoś sensownie na Raspberry Pi, bo np. opisywany niedawno Webmin strasznie „muli” – na tyle, że zdecydowanie wygodniej (mimo, że nie wystarczy „klikać”) pracuje się z konsoli… Może przejście na 1GHz by coś poprawiło – ale wtedy zdarzają się problemy (przekłamania) „na” GPIO, więc u mnie na co dzień 800 MHz
Za to Sendmail działa relatywnie OK, choć – jak pisałem – preferuje MSMTP i zewnętrzny serwer poczty, choćby Google Apps czy Outlook.com (we własnej domenie)
Mam ten sam problem a rozszerzyłem przestrzeń SD i mam 2 gb wolnej pamięci
ma ktoś pomysł ?
Źle wrzuciło komentarz
błąd jaki wyskakuje mi podczas instalacji MySQL:
[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Spróbuj:
i/lub:
Ew. wymuszona instalacja:
Choć nie wiem czy nie lepiej zrobić porządek:
Zamiast apt-get można też użyć aptitude
Witam
Mam problem otóź nie moge edytować zawartości karty czyli kopiowac wklejac usuwać.
Gdy wklejam strone htm do folderu www to pisze error.
Poszę o pomoc.
W przypadku zdalnego połączenia (np. WinSCP) proponuje zalogować się jako użytkownik „root” (lub nadać innemu użytkownikowi odpowiednie uprawnienia do pliku) i sprawdzić czy zadziała…
Jeśli problem przy kopiowaniu plików na kartę która znajduje się „w czytniku” (nie Pi) to zostaje kwestia systemu „gospodarza” i sposobu montowania/dostępu (/var/www jest na partycji „linuksowej”)
Blokadę zapisu na kracie SD pomijam, choć czasem warto sprawdzić… ;-)
Przepraszam za pytanie ale gdzie dodac ten rekord A?? nie wiem gdzie sie konfguruje DNS-a :/
Rekord A (jak i pozostałe rekordy/wpisy) ustawiamy w/na DNS’ach przypisanych do domeny.
Najczęściej (chyba) spotyka się warianty:
Czyli cała domena nie jest generowana na Raspberry Pi tylko musze skorzystać np. z 1and1.pl ??
Domena to adres, do tego dochodzi serwer/hosting (czyli i adres IP) – czyli miejsce… A DNS (zwłaszcza rekord A) jest tym co łączy to w całość, czyli jak ktoś wpisze adres domeny w oknie przeglądarki to DNS kieruje w odpowiednie miejsce (adres IP serwera/hostingu).
Dodatkowo domenę trzeba gdzieś „(za)kupić” (ew skorzystać z darmowej, np. tk), i zazwyczaj już tam mamy dostęp do zarządzania strefą DNS.
Jeśli rejestrator nie posiada czegoś takiego (może się zdarzyć, choć nie jest to częste zjawisko), to można skorzystać np. z Cloudflare (jako serwer DNS wskazany w konfiguracji domeny).
Można też – wracając trochę do sedna pytania – całość (poza zakupem, czyli hosting + DNS) obsłużyć na Raspberry Pi, trzeba tylko postawić tam jakiś serwer DNS (np. Bind9, dnsmasq – to akurat bardziej „cache”, PowerDNS) – choć raczej traktowałbym to jako ostateczność, chyba że domena typowo „deweloperska” :-)
Co do zakupu, to raczej polecam Dropped/AfterMarket – na pewno będzie taniej, zwłaszcza w kolejnych latach…
Korzystam akurat z cubieboarda2 i właśnie chciałbym wykorzystać typowo do programowania ale mam za to znikomą wiedzę o konfiguracji sieci itp ;) Zainstaluje Bind9 bo widziałem w sieci że jest często wykorzystywany :) Dziękuje za odpowiedź pozdrawiam
Ale czy w tym wypadku – rozumiem, że i tak chcesz dodać domenę – nie lepiej/prościej DNS’y (po)zostawić poza Pi/CubieBoard2, np. u rejestratora domeny czy przenieść do Cloudflare?
Zwłaszcza, że jak sam piszesz – dopiero zdobywasz wiedze w tej materii… No chyba, że właśnie nauce ma to służyć :-)
A jeśli faktycznie, ma to (przy okazji) nauce służyć, to może warto zainteresować się DigitalOcean? Chyba jeszcze działa promocja na 10$, co starczy Ci na ponad 1400 godzin testów, a dzięki dostępnym tam mechanizmom (kropelki, snapshoot, backup, kilka maszyn, vLAN) możesz swobodnie testować różne rozwiązania, a w razie pomyłki szybko wrócić do stanu wyjściowego, czy postawić kolejną maszynę…
W moim przypadku ustawienia „ServerSignature Off” oraz „ServerTokens Prod” w configu /etc/apache2/apache2.conf nic nie wniosły.
Dopiero zamiezrzony efekt uzyskałem edytując /etc/apache2/conf.d/security.
Pozdrawiam.
Dzięki za informacje – na pewno komuś się przyda…
Sprawdziłem teraz testowo na 2 VPS’ach i na wszystkich idzie normalnie, z „konfiga”. Sprawdziłem też – na wszelki wypadek – w Google, i tam podobnie… Więc tym bardziej cenna informacja dla niektórych może to być… :-)
odnosnie podpiecia domeny… prosze o rozwianie moich watpliwosci i ew. skorygowanie.
* mam zarejestrowana domene moja_nazwa.pl
* niestety dostawca internetu nie zapewnia stalego IP, a zatem korzystam z DDNS.
* moj ruter w opcjach Dynamic DNS umozliwia wybor jednego z trzech (www.comexe.cn, http://www.dyndns.org, http://www.no-ip.com).
*wybralem ten ostatni, bo dwa pierwsze nie dzialaly
* konfigurujac w no-ip przekierowanie hosta nie moge wybrac w opcji bezplatnej dowolnbej jego nazwy, a jedynie np. taki twor: dowolna_moja_nazwa.no-ip.biz (a ja chcialbym moja_nazwa.pl)
w takim razie czy to wogole ma sens, bo po co mi platna domena, skoro jej nazwy nie uzywam???
ps. w no-ip sa takie typy przekierowania
DNS Host (A) DNS Host (Round Robin) DNS Alias (CNAME)
Port 80 Redirect Web Redirect
Zacznę od końca… prawie końca – po co domena to ja nie wiem… Ale pewnie jakiś powód był, skoro została zakupiona… ;-)
Rekord A wskazuje zazwyczaj na publiczny IP serwera – tak to przynajmniej wygląda w przypadku serwera z publicznym i stałum IP. W przypadku DDNS zapewne będzie to dynamiczne i publiczne IP zgłaszane do no-ip.com przez skonfigurowany router. Na routerze należy też przekierować odpowiednie porty na serwer, czyli zapewne Raspberry Pi.
Nie wiem czy no-ip.com umożliwia podpięcie własnej domeny bo nie korzystam, ale raczej wątpię – za dużo potencjalnych komplikacji „technicznych”, a i dobry powód dla „pro”. Tak więc zostaje korzystać z nazwa_użytkownika.no-ip.com, ew ustawić po stronie rejestratora domeny opcji przekierowania ruchu na adres w no-ip.com
Własna domena – płatna, czy bezpłatna – raczej przydaje się gdy mamy serwer z publicznym IP… Czy to będzie serwer w domu, czy wykupiony… Zawsze też można wykorzystać domenę do poczty we własnej domenie…
no-ip w opcji full platnej umozliwia ustawienie dowolnej nazwy dla hosta.
w mojej opcji, full free, nie ma takiej mozliwosci, zatem pozostaje rozwiazanie takie jak napisales.
jedna rzecz mnie tylko jeszcze zastanawia, czy mozna podpiac do mojego domowego servera dwie rozne domeny, w przypadku kiedy mam dynamiczne IP?
w opcjach rutera (dynamic DNS) jest miejsce na podanie/wpisanie tylko jednej nazwy dla hosta no-ip (a w no-ip za free moge zarejestrowac max 3).
Ogólnie do serwera możesz dodać domen właściwie ile chcesz… Inna sprawa, to że w Twoim wypadku jest to dynamiczne IP, a więc możliwości zależą od tego, co oferuje serwis DDNS z którego korzystasz…
Jak sam napisałeś – wersja darmowa to 3 „domeny” w ramach *.no-ip.com, i teoretycznie wszystkie 3 mogą wskazywać na jeden IP, ale nie wiem czy serwis no-ip na to zezwala… Do tego w routerze oprócz loginu i hasła podajesz nazwę hosta – domenę, i pewnie w tym przypadku serwis zmieni IP tylko dla wybranej/wpisanej w ustawieniach domeny.
Najprościej sprawdź – nic to nie kosztuje, może poza czasem… Sam z no-ip nie korzystam, więc aż tak technicznie tego nigdy nie sprawdzałem – zawsze wybieram ISP ze stałym i publicznym IP… Zdarzało mi się to konfigurować „dla znajomych”, ale raczej w konfiguracjach „1 router = 1 domena”.
Wersja alternatywna – to może Cloudflare i dynamiczna (przez skrypt) zmiana IP za pomocą skryptu na Raspberry Pi z wykorzystaniem API Cloudflare.
Do tego wystarczy CRON + cURL oraz prosty skrypt (BASH). I tym sposobem masz chyba nawet lepsze rozwiązanie – bo do Cloudflare bez problemów podepniesz „normalne” domeny, których do routera/Raspberry Pi możesz podpiąć dowolną ilość…
Oczywiście jest to również bezpłatna opcja, a do tego zyskujesz wszystkie zalety Cloudflare…
Może to pomysł na dzisiejszy wpis…?!Skoro się rzekło – opis jak wykorzystać ClouFlare jako DDNS :-)jeszcze nie czytalem twojego artykulu o CloudFare, a juz mi sie ten pomysl podoba.
no-ip podpina wszystkie utworzone przez nas hosty pod jeden nasz dynamiczny adres IP. a zatem poki co sprawdze czy uda mi sie w ten sposob odpalic na moim Ri dwie niezalezne ala domeny.
Jeśli „podpina” tak, że ustawia dla nich rekord A na dynamiczne IP – to powinno się udać… A nawet na pewno…
Natomiast ja i tak zachęcam przynajmniej do zapoznania się z pomysłem z wykorzystaniem Cloudflare jako DDNS… Wprawdzie to Pi nie router będzie aktualizować IP, ale to raczej nie problem – a może nawet zaleta… A możliwości dużo większe jeśli chodzi choćby o własne domeny…
Teoretycznie router też mógłby, ale raczej z jakimś alternatywnym oprogramowaniem, np. DD-WRT – bo wystarczy CRON, cURL i bash…
Jakiś czas temu na tym portalu była fajna instrukcja jak zainstalować apache2, php5, SQL i phpmyadmin na Raspberry Pi. Niestety zniknęła. Czy można ją jakoś odzyskać lub otrzymać na mejla?
Z góry dziękuję.
MB
A to nie chodzi o ten wpis, pod którym znalazł się ten komentarz? :-)
Super poradnik. Uruchomiłem dla celów szkoleniowych i wszystko działa prawidłowo.
Podpięcie własnej domeny do serwera jest fajnie opisane i działa OK (przetestowałem).
Przydałby się jeszcze opis jak podpiąć zakupioną domenę, a dokładniej np. utworzone dwie subdomeny do własnego serwera, tak aby po wpisaniu w przeglądarkę adresu każdej z nich uruchamiała się automatycznie inna strona np. subdomena1.xxxx.org -> /var/www/test1 i subdomena2.xxxx.org -> /var/www/test2. Znalezione opisy w Internecie są dosyć skomplikowane, a Pana styl opisywania różnych zagadnień jest bardzo czytelny i zrozumiały.
Z góry dziękuję i czekam niecierpliwie na poradnik.
Pozdrawiam serdecznie
Marek
Podpięcie do serwera subdomeny robisz w takim sam sposób jak podpięcie drugiej domeny (co jest podobne do podpięcia pierwszej domeny :-)). Musisz tylko pamiętać, by w ustawieniach DNS dla domeny ustawić dodatkowy rekord A dla każdej subdomeny kierujący na serwer.
Zresztą jest już taki poradnik na stronie, więc zapraszam do lektury… :-)
Witam,
Poradnik rewelacja :)
Mam pytanko jak włączyć możliwość łączenia się z mysql z zewnątrz… po LAN…. Nie udaje mi się połączyć. A chciałbym zarządzać bazą z innej maszyny programem alternatywnym do phpmyadmin.
Z góry dzięki za odpowiedź.
Najprościej utworzyć nowego użytkownika z wybranymi (potrzebnymi) uprawnieniami z możliwością logowania się z dowolnego lub wskazanego hosta (adresu).
Jeśli na serwerze jest jakiś firewall (np. UFW) to prawdopodobnie trzeba będzie też otworzyć port (3306), a przypadku połączenia za NATem (z internetu do sieci LAN) trzeba jeszcze na routerze przekierować ten port.
Wariant alternatywny, to np. SSH (tunel).
Nowy użytkownik w bazie czy w linuxie?
Firewalla systemowego nie ma zainstalowanego, jest tylko w routerze.
Próbowałem się łączyć programem HeidiSQL, który daję opcję tunelowania ssh, ale jakoś nie zadziałało właśnie. Może coś źle ustawiałem…
Wprawdzie informacja o zarządzaniu bazami danych (również/głównie zdalnymi) za pomocą aplikacji HeidiSQL była na mojej liście tematów, to na pozycji tak odległej, że zanim by się w normalnym trybie ukazała, to mielibyśmy pewnie już wersję 11-12, lub jeszcze nowszą (wystarczy powiedzieć, że w notatkach miałem zrzuty z wersji 7.0, a teraz mamy już wersję 9.3).
W każdym razie, ze względu na Twoje zainteresowanie tematem (czego się nie robi dla czytelników ;-)) postanowiłem (znowu) dokonać małego przetasowania na liście tematów, i wpis o HeidiSQL jest już gotowy (połączenie TCP/IP, oraz tunel SSH).
dobra robota
Można by tak panowie nie kombinować i do normalnego hostingu np. użyć zwykłego serwera opartego na hostingu www z przygotowanym już środowiskiem pod instalacje. [Wyleciała REKLAMA]
Oczywiście, że można skorzystać z właściwie dowolnego hostingu (hosting współdzielony), ale ten poradnik jest przygotowany dla osób które chcą czegoś więcej – nawet nie tyle większej wydajności, co większej swobody, a tego nie da nam nawet najbardziej wypasiony marketingowo hosting współdzielony.
PS. Zamiast SPAMować w komentarzach lepiej się z nami skontaktować – może da się coś fajnego wspólnie przygotować…
Witam mam problem z instalacją apache ponieważ pisze że ten zasób jest nie aktualny
Niestety, ale jest to informacja zbyt szczątkowa bym mógł jakoś konkretnie pomóc. Być może (najpewniej) któryś z pakietów jest już niedostępny – wpis powstał na początku 2013, a więc już trochę minęło czasu (do tego nie używam obecnie Apache na żadnym serwerze). Spróbuj instalować pakiety kolejno, jeden po drugim, a zapewne trafisz na ten nieaktywny (o ile nie masz takiej informacji w komunikacie błędu).
Witam,
dwa pytania:
1) zainstalowałem opencart, po wpisaniu domeny wyskakuje mi domyślna strona index.php z katalogu var\www\html zaś index sklepu jest w var\www\html\opencart i muszę to dopisać za domeną by wyświetliła się strona sklepu, jak to przekierować?
2) mam internet mobilny i np. po rozłączeniu modemu aktualizuje się adres na noip.com i muszę ponownie wpisywać adres maliny, czy to wina tego że nie mam publicznego IP?
1. Odpowiednia konfiguracja vHosta (jest w artykule ten temat przedstawiony – dodatkowe domeny)
2. Chyba nie planujesz prowadzić sklepu internetowego na Raspberry Pi, i to jeszcze na internecie mobilnym? Adres publiczny lub przynajmniej przekierowanie u dostawy internetu odpowiednich portów (najlepiej 80 i 443) to podstawa…
Oczywiście, że nie, obecnie robię to tylko w celach edukacyjnych, internet mam z Aero2 i próbowałem ustawiać przekierowanie portów w ruterze i w żaden sposób nie mogę połączyć się z internetem poza swoją siecią domową, czytałem, że w A2 mają zablokowany taki ruch zaś na jednej ze stron pokazuje mi że port 80 jest cały czas zamknięty
Jeśli chcesz mieć dostęp z zewnątrz, to raczej zapomnij o internecie mobilnym (choć bywają wyjątki). Wykup sobie jakieś konto hostingowe, czy nawet VPSa (może być najtańszy, mogę Ci kilka propozycji dać), i na nim wtedy możesz testować. W Twojej obecnej konfiguracji, to obawiam się, że poza testy w ramach lokalnej sieci (LAN) nie wyjdziesz.
A tak o tej sieci wiem, kilka lat temu testowałem podobne konfiguracje na darmowym Cba.pl a teraz zaciekawiło mnie czy można wycisnąć coś z tego co mam
Dobra robota z tymi tutkami :) Mam pytanie: czy jest sens i czy w ogóle jest możliwe mając do dyspozycji internet domowy LTE z Orange wystawienie www na świat? Nie dla dużego ruchu, tak „dla siebie”, edukacyjnie, ewentualnie wordpress na proste zasoby związane z moją działalnością. Plus ftpa, by mieć dostęp do niektórych swoich zasobów. Domenę mam wykupioną, jakby co.
Może coś się zmieniło, ale w standardowej (dla konsumentów) ofercie większości operatorów jest to raczej niemożliwe, bo jesteś „za NATem”, czyli wielu użytkowników w ramach pewnego rodzaju sieci LAN (wirtualna/zdalna) dzieli ten sam adres publiczny IP. I choćby z tego względu nie da się skierować ruchu „do siebie” (wspólny publiczny IP + brak możliwości przekierowania portów na swój wewnętrzny adres IP). Przy czym prosty hosting można kupić za 40-60 zł rocznie, więc nie wiem, czy to nie będzie lepszy wybór. Przynajmniej jeśli ta edukacja ma występować poza domową siecią LAN.
PS. To jest dość stary poradnik, opierający się jeszcze na PHP5, na stronie są nowsze… A taki zupełnie odświeżony i kompleksowy (m.in. Nginx + PHP-FPM 7+ itp.) mam w planach niebawem napisać…
Hm, a w jaki sposób najprościej sprawdzić, czy jest to na pewno niemożliwe, bo „raczej niemożliwe” pozostawia jakąś niepewność?
To „raczej” to nie tyle niepewność, ile bardziej zasada „nigdy nie mów nigdy”, czyli nie chciałem używać „kwantyfikatora ogólnego”. W standardzie pewnie jesteś za NATem, więc się nie da. Ale… skontaktuj się z operatorem, może da się uzyskać publiczny adres IP (podejrzewam, że o IPv6 będzie najłatwiej, bo są dużo większe zasoby) w Twojej ofercie.
Widzę, że jest opcja „Orange VPN – dostęp do internetu z dynamicznym, publicznym IP”. Załatwia to chyba sprawę?
Jak sama nazwa wskazuje, masz tam publiczny adres IP, choć niestety dynamiczny, a więc pewnie będziesz musiał pomyśleć o czymś w rodzaju DDNS (może wykorzystać do tego Cloudflare). Ew. Zainteresuj się wersją ze stałym adresem IP (Orange VPN statyczny).