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”.
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ą ????
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:
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
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”
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.
Następnie uruchamiamy ponownie XAMPP poleceniem:
sudo /opt/lampp/xampp restart
Gotowe. Od teraz problem z uprawnieniami katalogu „htdocs” zniknie ????