Treker (Damian Szymański) Luty 5, 2019 Udostępnij Luty 5, 2019 @ethanak to w takim razie ja usiądę do tego jutro, aby od razu zrobić całość 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post ethanak Luty 6, 2019 Popularny post Udostępnij Luty 6, 2019 Zgodnie z obietnicą przesyłam propozycję - @Treker proszę, przejrzyj, zrób co trzeba i jeśli włączysz to do kursu usuń ten post. A przy okazji - jest jakaś szansa aby "code" móc zapisać jako "shell"? Brakuje mi takiej pozycji coraz bardziej... --8<--8<--8<--8<-- Pierwszą przykrą rzeczą, na którą się natkniemy po instalacji serwera będzie fakt, że nie mamy dostępu do katalogu /var/www/html, gdzie znajdują się pliki strony serwowanej przez Apacza. Większość radzi sobie z tym w ten sposób, że po prostu zmienia właściciela owego katalogu na użytkownika, na którego się loguje i teoretycznie wszystko działa... Niestety, tylko teoretycznie. Operowanie jakimiś danymi poza własnym katalogiem domowym jest niewygodne, a czasami (np. w przypadku ftp/sftp i ustawionego chroota) wręcz niemożliwe. W dodatku istnieje niebezpieczeństwo, że przy jakimś upgradzie system po prostu nadpisze zawartość tego katalogu i nasza strona będzie istniała tylko w pamięci... Tymczasem Apache jest chyba najbardziej konfigurowalnym programem na naszej malince, i najprostszym sposobem będzie umieszczenie katalogu ze stroną w naszym katalogu domowym (czyli np. /home/pi/). Apache potrafi serwować różne zawartości z różnych katalogów poprzez mechanizm tzw. hostów wirtualnych, ale jako że konfiguracja tego jest na tyle obszerna, że zasługuje co najmniej na jedną oddzielną część kursu - na razie więc interesuje nas wyłącznie konfiguracja domyślnego katalogu. Zacznijmy od utworzenia katalogu ze stroną i umieszczeniu tam jakiegoś najprostszego testowego pliku: mkdir ~/html echo "To tylko test" > ~/html/index.html Następnie musimy poprawić konfigurację domyślnej strony serwera. W tym celu otwieramy w edytorze plik konfiguracyjny: sudo nano /etc/apache2/sites-enabled/000-default.conf Znajduje się tam linijka: DocumentRoot /var/www/html informująca serwer o położeniu domyślnej strony. Musimy zmienić ją na: DocumentRoot /home/pi/html Ale to jeszcze nie wszystko. Należy również poinformować serwer, co może z tym katalogiem robić. Pod tą linijką dopisujemy więc: <Directory /home/pi/html> AllowOverride all Require all granted </Directory> Dyrektywa AllowOverride pozwala na późniejsze dokonfigurowywanie poprzez plik .htaccess, Require otwiera nielimitowany dostęp do strony. Fragment pliku odpowiedzialny za naszą konfigurację powinien wyglądać więc tak: Teraz możemy zrestartować Apacza: sudo systemctl restart apache2 lub po prostu kazać mu jeszcze raz wczytać konfigurację: sudo apachectl graceful Po prawidłowym przeprowadzeniu wszystkich operacji i wpisaniu do przeglądarki adresu jak poprzednio powinniśmy ujrzeć na ekranie napis "To tylko test". Sytuację z położeniem katalogu ze stroną mamy więc już naprawioną - ale za chwilę natkniemy się na następną, niemniej przykrą rzecz: otóż Apacz mimo że już wie o tym, że pliki ze stroną są w naszym katalogu domowym - wciąż działa z uprawnieniami użytkownika www-data. To może doprowadzić do absurdalnej sytuacji, kiedy w naszym katalogu domowym znajdują się pliki i subkatalogi nie będące naszą własnością, z którymi nie bardzo możemy cokolwiek zrobić (np. foldery "upload" WordPressa) czy foldery z prawami do zapisu dla wszystkich. Aby to zobrazować stwórzmy testowy plik html/test.php: <?php file_put_contents('test.txt','To jest test php'); echo "Zapisane"; ?> Po wywołaniu adresu ip_malinki/test.php zobaczymy najprawdopodobniej pusty ekran (o ile nie włączyliśmy wyświetlania błędów php), a w logu błędów komunikat podobny do tego: PHP Warning: file_put_contents(test.txt): failed to open stream: Permission denied in /home/pi/html/test.php on line 2 Widzimy, że nasz wielce ambitny program nie ma uprawnień do zapisu 😞 Ale i na to jest sposób: musimy przekonać Apacza, aby naszą stronę serwował jako użytkownik pi a nie www-data! W tym celu instalujemy moduł ruid2, odpowiedzialny za zmianę "w locie" uprawnień: sudo apt install libapache2-mod-ruid2 -y Po instalacji moduł zostanie włączony w Apaczu, pozostanie nam więc tylko dodanie linijek odpowiedzialnych za zmianę użytkownika. W tym celu znów otwieramy w edytorze plik 000-default.conf i przed sekcją <Directory> dopisujemy: <IfModule mod_ruid2.c> RMode config RUidGid pi pi RGroups @none </IfModule> (co oznacza, że ręcznie podajemy dane, serwer ma działać z uprawnieniami użytkownika pi.pi bez żadnych dodatkowych grup). Po restarcie lub reloadzie serwera, jeśli nic się nie będzie działo, możemy spróbować czy nasze działania przyniosły spodziewany efekt. Jeśli teraz skierujemy przeglądarkę na adres ip_malinki/test.php - powinniśmy zobaczyć napis 'Zapisane'. Po wydaniu polecenia ls -l zobaczymy, że plik test.txt został utworzony z właściwymi uprawnieniami, czyli coś w rodzaju: $ ls -l html razem 12 -rw-r--r-- 1 pi pi 5 lut 1 06:11 index.html -rw-r--r-- 1 pi pi 84 lut 6 10:31 test.php -rw-r--r-- 1 pi pi 15 lut 6 10:26 test.txt --8<--8<--8<--8<-- Tyle na ten temat... nie chcę pisać więcej o wirtualnych hostach bo to naprawdę kobyła (nawet w skrócie). 3 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Luty 6, 2019 Udostępnij Luty 6, 2019 Jeszcze raz za wszystko dziękuję. Posiedziałem dziś nad tematem, przeczytam jeszcze raz nową wersję, aby wyłapać ewentualne literówki i jutro zaktualizowana wersja będzie już publiczna 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Marzec 17, 2019 Udostępnij Marzec 17, 2019 I co z tą wersją publiczną? Tak z ciekawości pytam... bo cały czas tkwią babole wielkości parowozu 😞 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Treker (Damian Szymański) Marzec 18, 2019 Udostępnij Marzec 18, 2019 Jak pewnie pamiętasz był z tą instrukcją pewien problem, o którym rozmawialiśmy na PW. Później wciągnęły mnie kwestie innych artykułów i ten temat jakoś odszedł na dalszy plan, ale mam go na liście, więc nie ucieknie. Dzięki za mobilizację, postaram się szybko nadrobić tę kwestię. Cytuj Link do komentarza Share on other sites More sharing options...
jas123 Marzec 27, 2020 Udostępnij Marzec 27, 2020 Cześć mam problem z instalacją mysql-server na rpi4 pokazuje mi to: pi@raspberrypi:/var/www/html/forbot $ sudo apt install mysql-server php-mysql -y Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Pakiet mysql-server nie ma dostępnej wersji, ale odnosi się do niego inny pakiet. Zazwyczaj oznacza to, że pakietu brakuje, został zastąpiony przez inny pakiet lub nie jest dostępny przy pomocy obecnie ustawionych źródeł. Jednak następujące pakiety go zastępują: mariadb-server-10.0 E: Pakiet mysql-server nie ma kandydata do instalacji pi@raspberrypi:/var/www/html/forbot $ Sam dodatek php-mysql normalnie się zainstalował . Proszę o odpowiedź. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Marzec 27, 2020 Udostępnij Marzec 27, 2020 @jas123 Może zanim skopiujesz na forum to co wypisał apt podejmiesz się wielkiego trudu przeczytania tego komunikatu i sam wyciągniesz wnioski co powinieneś zrobić? Instrukcje sprzed paru lat mają prawo się zdezaktualizować, ale system przecież sam Ci podpowiada co trzeba. Inna sprawa, że w kursie warto to poprawić - @Treker, czyń swą powinność! 1 Cytuj Link do komentarza Share on other sites More sharing options...
jas123 Marzec 27, 2020 Udostępnij Marzec 27, 2020 Ojoj o tym zapomniałem . Dzięki za odpowiedź na tak głupie pytanie🙂. Cytuj Link do komentarza Share on other sites More sharing options...
MaciejZyskowski Lipiec 20, 2020 Udostępnij Lipiec 20, 2020 Hej! Czy moglibyście poradzić mi gdzie leży błąd z moim serwerem? Utknąłem na instalacji wordpressa. Robiłem krok po kroku i prowadzałem również te same dane użytkowników co w kursie, lecz nie mogę dostać się do mojej bazy danych - zdjęcie. Are you sure it exists? Tak, zrobiłem jak w instrukcji. Does the user mysql_user have permission to use the blog database? Tak sądzę. Wykonałem komendę "sudo chown -R www-data: ." oraz "sudo chmod -R 777 ." On some systems the name of your database is prefixed with your username, so it would be like username_blog. Could that be the problem? Nie, jestem pewny nazwy bazy. Proszę o sugestie co tu naprawić, gdyż nie jestem biegły w kwestiach webowych. 🙂 Z góry dzięki! Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Lipiec 20, 2020 Udostępnij Lipiec 20, 2020 (edytowany) 11 minut temu, MaciejZyskowski napisał: sudo chmod -R 777 ." Najprawdopodobniej po tej operacji system nadaje się do ponownego zainstalowania. Kurs jest "nieco" przestarzały, znajdź sobie mój artykuł o prawidłowej konfiguracji Apacza (teraz na telefonie nie mam jak podać bezpośredniego linku). A tak przy okazji... parę postów wcześniej... Czytałeś czy po prostu olałeś na zasadzie "ja nie będę czytał bo po co, zapisałem się na forum i ich psi obowiązek to podać mi odpowiedź"? Edytowano Lipiec 20, 2020 przez ethanak Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 20, 2020 Udostępnij Lipiec 20, 2020 Tak, wszyscy mamy świadomość, że ten kurs niestety nie jest aktualny (stąd stosowne ogłoszenie na jego początku). Dla formalności zaznaczę jednak, że nigdzie w tym artykule nie ma informacji o wydaniu komendy "sudo chmod -R 777", więc to chyba inwencja własna autora 😉 W artykule jest tylko informacja na temat polecenia "sudo chown -R www-data: ." co pokrywa się z oficjalnym poradnikiem od Raspberry Pi: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress/5 @MaciejZyskowski tak dla formalności - możesz dostać się do bazy z poziomu phpMyAdmina - jest ona tam widoczna, a dane do logowania działają poprawnie? 57 minut temu, ethanak napisał: Kurs jest "nieco" przestarzały, znajdź sobie mój artykuł o prawidłowej konfiguracji Apacza (teraz na telefonie nie mam jak podać bezpośredniego linku). Oto linki, o których mowa: https://forbot.pl/forum/topic/18018-serwer-www-apache-w-praktyce-czesc-1-konfiguracja/ https://forbot.pl/forum/topic/18031-serwer-www-apache-w-praktyce-czesc-2-nie-tylko-php/ https://forbot.pl/forum/topic/18123-serwer-www-apache-w-praktyce-czesc-3-odbieranie-danych/ 1 Cytuj Link do komentarza Share on other sites More sharing options...
MaciejZyskowski Lipiec 21, 2020 Udostępnij Lipiec 21, 2020 19 godzin temu, ethanak napisał: Najprawdopodobniej po tej operacji system nadaje się do ponownego zainstalowania. Kurs jest "nieco" przestarzały, znajdź sobie mój artykuł o prawidłowej konfiguracji Apacza (teraz na telefonie nie mam jak podać bezpośredniego linku). A tak przy okazji... parę postów wcześniej... Czytałeś czy po prostu olałeś na zasadzie "ja nie będę czytał bo po co, zapisałem się na forum i ich psi obowiązek to podać mi odpowiedź"? Dlaczego zaraz taki atak? Zawsze przeglądam forum przed dodaniem postu i wyszukuje słowa kluczowe. Być może teraz udało mi się coś przeoczyć, za co przepraszam, ale każdemu czasem może się zdarzyć. 18 godzin temu, Treker napisał: Tak, wszyscy mamy świadomość, że ten kurs niestety nie jest aktualny (stąd stosowne ogłoszenie na jego początku). Dla formalności zaznaczę jednak, że nigdzie w tym artykule nie ma informacji o wydaniu komendy "sudo chmod -R 777", więc to chyba inwencja własna autora 😉 W artykule jest tylko informacja na temat polecenia "sudo chown -R www-data: ." co pokrywa się z oficjalnym poradnikiem od Raspberry Pi: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress/5 @MaciejZyskowski tak dla formalności - możesz dostać się do bazy z poziomu phpMyAdmina - jest ona tam widoczna, a dane do logowania działają poprawnie? Oto linki, o których mowa: https://forbot.pl/forum/topic/18018-serwer-www-apache-w-praktyce-czesc-1-konfiguracja/ https://forbot.pl/forum/topic/18031-serwer-www-apache-w-praktyce-czesc-2-nie-tylko-php/ https://forbot.pl/forum/topic/18123-serwer-www-apache-w-praktyce-czesc-3-odbieranie-danych/ Myślałem żeby dodać uprawnienia dla wszystkich stąd ta linijka z 777, ale wykonałem ją tylko w folderze z blogiem, więc dotyczy tylko niego. Dane do logowania z poziomu phpMyAdmin działają normalnie. Mam dostęp do tabel itd.. Dzięki za pomoc i chętnie zapoznam się z linkami. 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Lipiec 21, 2020 Udostępnij Lipiec 21, 2020 4 minuty temu, MaciejZyskowski napisał: Dlaczego zaraz taki atak? Zawsze przeglądam forum przed dodaniem postu i wyszukuje słowa kluczowe. A, to zwracam honor. Niech mnie usprawiedliwi fakt, że jest to ostatnio rzadko spotykany zwyczaj na tym forum 🙂 4 minuty temu, MaciejZyskowski napisał: Dzięki za pomoc i chętnie zapoznam się z linkami. 🙂 Przeczytaj też to co pisałem parę postów wcześniej (to miała być errata do kursu). A tak przy okazji - mówię Ci to jako zawodowy admin, chmod 777 to taka ostatnia deska ratunku dla hostingów które nie mają możliwości ustawienia suexec i mają admina po Informatyce i Zażomdzaniu. W systemie którym sam administrujesz nigdy się takiego polecenia nie wydaje - ja przynajmniej od wielu lat nie miałem takiej potrzeby. 1 Cytuj Link do komentarza Share on other sites More sharing options...
LN7 Wrzesień 15, 2020 Udostępnij Wrzesień 15, 2020 Witam, postępowałem zgodnie z instrukcjami jednak nie wiem czemu phpmyadmin nie działa u mnie gdy wchodzę w przeglądarkę. Pisze, że nie mam dostępu i nie wiem szczerze jak to naprawić Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 17, 2020 Udostępnij Wrzesień 17, 2020 @LN7 wybacz późną odpowiedź, ale dopiero teraz zauważyłem pytanie - czy temat jest nadal aktualny? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!