Wyszło kilka dni temu Xampp 1.8.0 wczoraj po aktualizacji z wersji 1.7.7 Miałem całkiem interesujący problem. Phpmyadmin nie otworzył się dla mnie i eksplodował 403

Dostęp Zabroniony!


Nowa koncepcja bezpieczeństwa XAMPP:

Dostęp do żądanego obiektu jest możliwy tylko z sieci lokalnej.

To ustawienie można skonfigurować w pliku “httpd-xampp.conf”.

Веднага отворих httpd-xampp.conf който при мен се намира в /opt/lampp/etc/extra/, на пръв поглед всичко изглеждаше наред. Правилата за локалната мрежа бяха наред. Отделно че отварях от localhost. Wtf ??? Spojrzałem na dziennik i zobaczyłem, że mój dostęp został odcięty od konfiguracji. Sprawy mi się przydały i szczerze mówiąc, miałem trochę szczęścia, że ​​znalazłem problem. След като преглеждах httpd.conf-а видях в Allow/Deny клаузите един последен ред Require all granted. О да еврика. Това е новия контролен механизъм който влезе в apache 2.4.x. Daje dostęp lub odmawia dostępu do wszystkich wymaganych, ogólnie naśladuje funkcjonalność Zezwól / Odrzuć :). Aby rozwiązać problem, dodaj Wymagaj wszystkich przyznanych w dyrektywach folderów / opt / lampp / phpmyadmin. Po zmianach wygląda mi to tak

<Informator “/opt / lampp / phpmyadmin”>
AllowOverride AuthConfig Limit
Zamów zezwolenie,zaprzeczać
Pozwól od wszystkich
Require all granted
</Informator>

 

Viangi może wypróbować innych dzikusów, na przykład, aby zmienić nazwę folderu phpmyadmin na coś innego i utworzyć alias na no. Ale jest brzydszy i mało znaczący 🙂

p.s Zapytano mnie, dlaczego używam XAMPP, a nie czystą instalację wszystkich komponentów, ponieważ mój Debian je narodził – odpowiedź jest bardzo, bardzo prosta – LENISTWO. Jestem zbyt leniwy, aby napisać kilka poleceń, a następnie dotknąć mojego conf i tak dalej. O wiele łatwiej jest pobrać cały pakiet, rozpakować i nagrać 😉

Ulepszony przez Zemanta

A shell script wants your job

Dzisiaj, kiedy pracowałem, zobaczyłem, że jedna z maszyn bardzo źle leżała. Wchodzę w to, obserwując, jak cron wpada w piekło wielu procesów zombie (z grubsza dookoła 50-60). Nie było mowy, żebym mógł zabić ich wszystkich zabić wszystkich więc musiałem zrobić nieco bardziej kompetentne rozwiązanie problemu – narysować elementarne Bash skrypt do wyszukiwania i zabijania procesów. 50-PID nie są łatwe do napisania ręcznie :re. Porysowałem scenariusz przez minutę i jest to bardzo proste, ale wciąż zasługuje na uwagę 🙂

U podstawy znajduje się przenośnik

ps ax | grep -v grep | grep process_name | awk '{print $1}')

Tutaj otrzymujemy arkusz ze wszystkimi PIDami procesu, który musimy zabić, wykluczając grep z tej listy. Teraz, gdy mamy już listę, wszystko staje się łatwe, wszystko zmienia się w jedno. Oto wynik końcowy

#!/bin/bash

PR=$(ps ax | grep -v grep | grep process_name | awk '{print $1}')

for PID in $PR
do
echo "$PID will be killed"
kill -9 $PID
done

Może być “strojenie” ponieważ nazwa jest traktowana jako argument po nazwie skryptu i dlatego jest wywoływana jako wykonywalny plik binarny. Jednak częste przypadki nie są zbyt dobrą praktyką 😀 Ale nigdy nie chroni nas przed nimi

Ulepszony przez Zemanta