Преди няколко дни излезе XAMPP 1.8.0 вчера след надграждане от версия 1.7.7 имах доста интересен проблем. Phpmyadmin-а не ми се отваряше и изгърмяваше със 403

Access forbidden!


New XAMPP security concept:

Access to the requested object is only available from the local network.

This setting can be configured in the filehttpd-xampp.conf”.

Веднага отворих httpd-xampp.conf който при мен се намира в /opt/lampp/etc/extra/, на пръв поглед всичко изглеждаше наред. Правилата за локалната мрежа бяха наред. Отделно че отварях от localhost. WTF ??? Погледнах log-а гледам че достъпа ми е отрязан от конфигуацията. Тука вече нещата ме ахнаха и честно казано донякъде малко на късмет открих проблема. След като преглеждах httpd.conf-а видях в Allow/Deny клаузите един последен ред Require all granted. О да еврика. Jen la nova kontrolmekanismo, kiu eniris apache 2.4.x. Ĝi donas aliron aŭ neas aliron al ĉiuj postulataj, ĝi ĝenerale imitas la funkciojn Permesi / nei :). За да поправим проблема добавяме Require all granted в директивите за папката /opt/lampp/phpmyadmin. Post la ŝanĝoj, ĝi similas al mi

<Gvidlibro “/elekti / lampp / phpmyadmin”>
AllowOverride Limigi AuthConfig
Ordoni permesi,nei
Permesu de ĉiuj
Require all granted
</Gvidlibro>

 

Viangi povas provi aliajn sovaĝulojn, ekzemple alinomi la dosierujon phpmyadmin al io alia kaj fari alias al ne. Sed ĝi estas pli malbona kaj ne tre signifa 🙂

p.s Al mi oni demandis kial mi uzas XAMPP kaj ne puran instaladon de ĉiuj komponentoj dum mia Debian naskis ilin – la respondo estas tre tre simpla – LAZO. Mi estas tro mallaborema por skribi kelkajn komandojn kaj tiam tuŝi mian konf. Kaj tiel plu. Estas multe pli facile elŝuti la tutan pakaĵon, malkompreni kaj bruligi 😉

Plibonigita de Zemanta

A shell script wants your job

Hodiaŭ dum mi laboris mi vidis, ke unu el la maŝinoj kuŝis tre malbone. Mi eniras ĝin vidante Kron-kapon en amaso de multaj zombiaj procezoj (proksimume ĉirkaŭe 50-60). Estis neniu maniero kiel mi povus mortigi ilin ĉiujn mortigo do mi devis fari iom pli kompetentan solvon al la problemo – desegni elementon bash skripto por trovi kaj mortigi procezojn. 50-PID ne facilas skribi mane :D. Mi skrapis la skripton dum minuto kaj ĝi estas tre simpla, sed ĝi tamen meritas atenton 🙂

Ĉe ĝia bazo estas la transportilo

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

Ĉi tie ni ricevas folion kun ĉiuj PIDoj de la procezo, kiun ni devas mortigi ekskludante grep de ĉi tiu listo. Nun, ke ni havas la liston, aferoj fariĝas facilaj, ĉio fariĝas unu por. Jen la fina rezulto

#!/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

Povas esti “agordo” ĉar la nomo estas prenita kiel argumento post la nomo de la skripto kaj tial estas nomata kiel plenumebla duuma. Tamen ne tre bona praktiko havas tiajn oftajn kazojn 😀 Sed ĝi neniam malhelpas, ke ni estu protektataj de iu ajn

Plibonigita de Zemanta