XAMPP na Ubuntu. Problem z zapisem do htdocs

xampp logo

Po instalacji XAMPP na Linuksie część użytkowników, może spotkać się z małym problemem podczas próby dodania lub modyfikacji plików w folderze htdocs objawiający się komunikatem “Brak dostępu”.

Brak dostępu podczas zapisu do htdocs

Przyjrzyjmy się dlaczego tak się dzieje i jak to naprawić. Pamiętaj, żeby zmienić nazwę użytkownika z poniższych przykładów na własną ????

Uprawnienie do folderu htdocs

Wykonajmy sobie polecenie, które pokaże nam jak wygląda sytuacja:

ls -l /opt/lampp/ | grep htdocs

Powinno wyświetlić się coś na kształt tego:

właściciel folderu htdocs

Jak widać folder należy do root’a i tylko on ma możliwość zapisywania plików. Zmieńmy więc właściciela folderu i wszystkich podkatalogów oraz plików na użytkownika ok poleceniem:

sudo chown -R ok:ok /home/xano/domains/hubertkawalec.pl/public_html

Sprawdźmy jak teraz wyglądają uprawnienia i czy możemy stworzyć już plik poleceniami:

ls -l /opt/lampp | grep htdocs

oraz

touch /home/xano/domains/hubertkawalec.pl/public_html/test.html
udana zmiana właściciela pliku

Wygląda na to, że wszystko poszło zgodnie z planem. Wprowadźmy sobie do pliku test.html jakąś wartość poleceniem:

echo “Hello world” >> /home/xano/domains/hubertkawalec.pl/public_html/test.html

i otwórzmy przeglądarkę www wpisując jako adres URL “https://hubertkawalec.pl/test.html”

test zapisu do htdocs

Jak widać udało się uruchomić naszą testową stronę. Jednak to nie koniec zmian, które musimy zrobić, aby wszystko działało poprawnie. Mógłbym się teraz rozpisać na temat uprawnień w systemie Linuks, żeby wytłumaczyć Ci co i jak działa, ale przedstawię tutaj bardzo skróconą wersję tego tematu.

XAMPP do uruchomienia serwera http używa użytkownika o nazwie “daemon”, co oznacza, że musi on mieć prawa do odczytu plików z htdocs, żeby móc je wyświetlić w przeglądarce. Musimy jednak pamiętać, że systemy CMS takie jak np wordpress potrzebują również uprawnień do zapisu czy modyfikacji. Obecnie tworząc plik z konta użytkownika system ustawia domyślne uprawnienia dla plików 644(-rw-r–r– ) co oznacza, że tylko ten użytkownik może wykonywać operacje zapisu, a grupa oraz wszyscy inni mogą tylko dokonywać odczytu.  

Jednak wprowadzając drobną modyfikację w httpd.conf możemy zmienić użytkownika, z poziomu którego będzie uruchamiał się serwer http na “ok” i tym sposobem rozwiążemy problem. Plik ten znajdziemy w /opt/lampp/etc/. Korzystając z edytora mcedit (lub dowolnie innego wybranego przez Ciebie) polecenie będzie wyglądać następująco:

sudo mcedit /opt/lampp/etc/httpd.conf

Przechodzimy do linii 173 i 174 zmieniamy deamons na nazwę użytkownika ok i zapisujemy plik.

zmiana użytkownika w pliku httpd.conf
plik httpd po wprowadzeniu zmian

Następnie uruchamiamy ponownie XAMPP poleceniem:

sudo /opt/lampp/xampp restart

Gotowe. Od teraz problem z uprawnieniami katalogu „htdocs” zniknie ????

Hubert Kawalec
Hubert Kawalec
Zawodowo z branżą IT związany jestem od ponad 12 lat. Pasjonuję się światem nowych technologii i gadżetów elektronicznych. Uwielbiam rozwiązywać nietypowe problemy informatyczne przy których potrafię zatracić się na całe dnie. W wolnym czasie zajmuję się naprawą laptopów i komputerów oraz nie stronię od majsterkowania. Na co dzień staram się poszerzać zakres swojej wiedzy w różnych aspektach życia. W połowy 2020 roku założyłem również kanał youtube „IT w Praktyce”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *