|
Lstat Permission denied w apache2
marg1 - 30-10-2009 15:11
Witam. Nie wiem, czy ten problem jest tak rzadki, czy taki prosty do rozwiązania, ale Google na ten temat według mnie jest dosyć małomówne. Chciałem sobie zainstalować lstat do apache 2 i efekt jest taki, że pod adresem statystyk mam:
Software error: Cant open configfile /usr/local/lstat/etc/pages/user.config : Permission denied at /usr/local/lstat/lib//Misc.pm line 220 BEGIN failed--compilation aborted at /usr/local/lstat/lib//Misc.pm line 220. Compilation failed in require at /usr/local/lstat/lib//Std_obj.pm line 2. BEGIN failed--compilation aborted at /usr/local/lstat/lib//Std_obj.pm line 2. Compilation failed in require at /usr/local/lstat/lib//Plugins.pm line 4. BEGIN failed--compilation aborted at /usr/local/lstat/lib//Plugins.pm line 4. Compilation failed in require at /var/www/lstat/lstat.cgi line 10. BEGIN failed--compilation aborted at /var/www/lstat/lstat.cgi line 10.
For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.
Chętnie bym sobie wysłał mail do siebie, gdybym wiedział, jak to naprawić.
Jest taki temat odnośnie tego błędu http://forum.dug.net.pl/viewtopic.php?id=10117 tylko nie wiem, co z niego wynika, że odmowa dostępu to widzę. W Google tylko 2 tematy o tym, ten jest drugi: http://forum.infojama.pl/framehelper...posts&t=105017 Zmieniałem prawa do pliku ,,user.config'' przez ,,chmod 775'' i nic to nie dało, jak i przez:
chown -R marg1
Nie wiem jak ten fakt rozumieć.
marg1@siduxbox:~$ sudo a2enmod cgi Your MPM seems to be threaded. Selecting cgid instead of cgi. Module cgid already enabled
/etc/apache2/sites-available/default <VirtualHost *:80> ServerAdmin webmaster@localhost
DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
<Directory "/var/www">
#for execute CGI files Options ExecCGI FollowSymLinks AddHandler cgi-script .pl </Directory> ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
</VirtualHost>
/etc/apache2/httpd.conf Include /etc/apache2/lstat.conf
Bez uzupełnienia tego pliku przez powyższy wpis wyświetlał mi się jedynie niezinterpretowany plik tekstowy.
lessmian2 - 30-10-2009 15:30
Wklej logi Apache2 i zawartość pliku /etc/apache2/lstat.conf. Możesz też podać źródło na którym się wzorowałeś konfigurując to wszystko.
marg1 - 30-10-2009 15:41
Jeśli chodzi o katalog /var/log/apache2 to mam go pusty, ale apache2 sam w sobie działa. Z tego korzystałem przy instalacji lstat http://dug.net.pl/tekst/79/instalacja_lstat_na_apache2/ z resztą wspólnymi siłami trochę modyfikowany świeży artykuł lstat.conf Alias /lstat/ "/var/www/lstat/"
<Directory "/var/www/lstat/"> #for execute CGI files Options ExecCGI AddHandler cgi-script .cgi AllowOverride AuthConfig Limit SetEnv LANG pl_PL </Directory>
Serwer zamontowałem sobie w sumie dla zabawy, bo nie mam zewnętrznego IP - tak czy siak w celu pogłębiania mojej niewielkiej wiedzy lub ewentualnie celem udostępniania za jego pomocą plików w sieci lokalnej. Bo konfiguracja Samby, aby współpracowała z siecią Windowsa jest dla mnie całkiem nie do przejścia - w każdym razie zależy mi na apache w tym momencie.
lessmian2 - 30-10-2009 15:50
Zmień właściciela pliku /usr/local/lstat/etc/pages/user.config na www-data i sprawdź czy to pomoże.
marg1 - 30-10-2009 16:16
Udało się. Ale zmieniłem właściciela na www-data dla całego katalogu /usr/local/lstat/etc/pages i dopiero zadziałało, a nie tylko dla samego pliku, czyli:
sudo chown -R www-data /usr/local/lstat/etc/pages/
Teraz wszedłem na statystyki wybrałem jeżyk polski i mam tak:
STOP Ze względów bezpieczeństwa Dostęp do statystyk jest zablokowany Uruchom program security_lstat, aby skonfigurować dostęp do statystyk lub usuń plik blokady (/usr/local/lstat/etc/lstat.lck) więcej informacji
Ale z tym to już sobie poradzę, bo mnie odesłało do takiej fajnej instrukcji. No chyba, że nie. Wielkie podziękowania.
Chyba nie całkiem: ustawiłem zabezpieczenia, wszedłem do środka i teraz w co bym nie klknął mam: Statystyki interfejsów sieciowych
Software error: Can't load object: int1 at /var/www/lstat/lstat.cgi line 405
For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.
Sekcja pliku /var/www/lstat/lstat.cgi zawierająca linie 405:
$Tags {'DRAW'} = sub { my $paramline = shift; $paramline =~ s/^(\w+)//; #extract objname my $objname = $1; my $obj; $obj = LoadObjectByName ($objname); # load object to memory if (! defined ($obj)) { croak "Can't load object: $objname \n" } $obj->Draw ($from, $to,'',$paramline); #draw obj graph undef $obj; };
lessmian2 - 30-10-2009 18:15
No to teraz powiedz jeszcze co dokładnie robiłeś ustawiając te zabezpieczenia, i czy robiłeś to z roota :)
marg1 - 30-10-2009 18:59
W katalogu /usr/local/lstat/bin skryptem ./security_lstat --text
z roota bo i inaczej nie dawał pozwolenia na uruchomienie się. Zostawiłem zabezpieczenia dla modyfikacji wykresów i ustawień - zabezpieczyłem na hasło i login. Oglądanie zostawiłem bez zabezpieczeń.
lessmian2 - 30-10-2009 19:04
nie dawał pozwolenia na uruchomienie się
To znaczy? Wydaje mi się (wydaje) że po uruchomieniu security_lstat utworzyły się jakieś pliki do których dostęp ma tylko root, i teraz właściciel procesu serwera www czyli www-data nie ma do nich dostępu.
marg1 - 30-10-2009 19:06
Moment, sprawdzę co dokładnie wyświetla się po uruchomienie tego jako użytkownik marg1@siduxbox:/usr/local/lstat/bin$ ./security_lstat --text Cant open configfile /usr/local/lstat/etc/pages/user.config : Brak dostępu at /usr/local/lstat/lib//Misc.pm line 220 BEGIN failed--compilation aborted at /usr/local/lstat/lib//Misc.pm line 220. Compilation failed in require at ./security_lstat line 6. BEGIN failed--compilation aborted at ./security_lstat line 6.
Znowu w tym samym kurde folderze. A przecież zmieniłem właściciela dla całego tego folderu więc nie wiem? Może trzeba zrobić tak, żeby do całego lstatu miał dostęp zwykły użytkownik albo raczej www-data? Albo raczej do katalogu /usr/local/lstat/bin, żebym miał dostęp do tego security_lstat jako zwykły użytkownik? Ciężko mi się gdyba z moją wiedzą.
Logicznie myśląc, to jak dla
/usr/local/lstat/etc/pages/
zmieniłem właściciela na
www-data
to statystki w ogóle zaczęły działać, a jak zmienie na zwykłego użytkownika, to znowu działać nie będą - chyba? Czyli jak połączyć te dwie sprawy, żeby możliwy był dostęp przez właściciela
www-data
i przez zwykłego użytkownika, żeby mógł zadziałać
security_lstat ./security_lstat --text
jako zwykły użytkownik? Innymi słowy, czy tu sprawa leży po stronie praw do pliku
/usr/local/lstat/bin/security_lstat
czy raczej po stronie praw do
/usr/local/lstat/etc/pages/user.config
Bo jeżeli nie po stronie tego pierwszego, to czemu, jako root, ten skrypt security_lstat mi się normalnie uruchamia, a jako zwykły użytkownik mam błąd jak wyżej? Tyle co wygdybałem :-D Ale zaczyna mnie to irytować, bo co się za coś zabieram, zawsze mam jakieś nietypowe problemy, których nie mają wszyscy inni...
Dopowiem, że długo przed zainstalowaniem apache i lstat wyłączyłem sobie niekótre usługi, bo były mi niepotrzebne i teraz po każdej np aktualizacji mam taki komunikat od apt: Sorry. You can retry the autodetection at any time by running "wvdialconf". (Or you can create /etc/wvdial.conf yourself.) Konfigurowanie irqbalance (0.55+20091017-2) ... update-rc.d: warning: irqbalance stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (1) insserv: warning: script 'K01lstat' missing LSB tags and overrides insserv: warning: current start runlevel(s) (2 3 4 5) of script `sendsigs' overwrites defaults (empty). insserv: warning: current stop runlevel(s) (S) of script `pcmciautils' overwrites defaults (empty). insserv: warning: current start runlevel(s) (0) of script `halt' overwrites defaults (empty). insserv: warning: script 'lstat' missing LSB tags and overrides
Być może to ma jakiś związek z niedziałającym u mnie lstatem? Lstat samo w sobie bez błędu wstaje.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|