E tam gołym, przestań świntuszyć :-) p.s. Zwróciłem grzecznie koledze uwagę żeby był precyzyjny w tym co pisze, zamiast pisać nowym apache niech poda wersję, takie precyzyjne informacje mają swoją wartość, choćby edykacyjną. Jak już zadawać dobievtrud żeby coś napisać niech to ma jak największą wartość dla czytających :-)
pozdrawiam
Dariusz Kowalczyk
Dnia 16 lut 2015 o godz. 18:59 Tomasz Chiliński tomasz.chilinski@chilan.com napisał(a):
W dniu 16.02.2015 18:54, Dariusz Kowalczyk napisał(a):
Nowszą czyli jaką, podaj proszę numer wersji na której nie zadziałają dotychczasowe dyrektywy.
Przecież to gołym okiem widać, że w apache 2.4 te dyrektywy nie będą działać.
Dariusz Kowalczyk Dnia 16 lut 2015 o godz. 18:31 Jacek Cieplok jackii@o2.pl napisał(a):
Dnia 12 lutego 2015 13:34 Dariusz Kowalczyk dariusz@kowalczyk.it napisał(a):
Moje pytanie było retoryczne :-) Ale jak już zacząłeś to odpowiem. Lms jest napisany w php i do działania potrzebuje serwera www który potrafi pracować z interpreterem php, sam serwer nie ma znaczenia. Po prostu trzeba się nauczyć konfigurować dany serwer www żeby działał szybko i bezpiecznie. Można narzekać, że Apache jest wolny ale Nginx nie wprowadził funkcji podobnej do .htaccess specjalnie żeby być szybkim. Na szczęście w Apache można to wyłączyć i konfigurować wszystkie reguły (także modrewite) w sekcji virtualhost. Włączenie wspomnianą dyrektywą obsługi .htaccess zabija wydajność maszyny, bo apache za każdym żądaniem dostępu do pliku musi przeglądać całe drzewo katalogów w poszukiwaniu plików .htaccess. jak takie bezsensowne przeszukiwanie wpływa na wydajność łatwo sobie wyobrazić. A że .htaccess wiele ułatwia bo pozwala się odpierwiastkować użytkownikom od admina, a niech sobie użytkownicy knują reguły w .htaccess...to inna sprawa, zawsze jest coś za coś,a tutaj jest albo albo, albo wygoda albo wydajność i bezpieczeństwo. Łatwo narzekać na apache że jest wolny ...ale nie jest to do końca prawdą, jest elastyczny bo zapewnia mnogość funkcji ...np wspomniany .htaccess ale gdy się go okroi z funkcjonalności i wywali niepotrzebne moduły jego wydajność znacząco rośnie. lms używa plików .htaccess w katalogach lms/backups/.htaccess lms/documents/.htaccess lms/lib/.htaccess lms/templates_c/.htaccess lms/modules/.htaccess lms/.htaccess lms/contrib/bin/.htaccess lms/userpanel/lib/.htaccess lms/userpanel/templates_c/.htaccess ale jedyne co w tych plikach jest to Order deny,allow Deny from all jak widać .htaccess jest użyte tylko po to by zabezpieczyć dostęp do tych katalogów. jedynym wyjątkiem jest lms/.htaccess w którym jest
<Files lms.ini> Order Deny,Allow Deny From All to zabezpieczenie na wypadek sytuacji gdy ktoś plik lms.ini umieszcza w katalogu lms/ zamiast /etc/lms Wrzucenie kodu lms-a na serwerze z nginx zmieni tylko tyle że te katalogi nie będą domyślnie chronione i trzeba to zrobić w konfiguracji nginx-a ale lms działać będzie bez żadnego problemu. Przyśpieszenie działania serwera apache uzyskać można wyłączając globalnie w pliku httpd.conf dyrektywę AllowOverride AllowOverride None i konfigurując odpowiednie reguły w virtualhost obsługującym lms-a. i dodanie (tu przykładowa ścieżka do katalogu w którym znajduje się lms) <Directory "/var/www/html/lms/backups"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/documents"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/lib"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/templates_c"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/modules"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/contrib/bin"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/userpanel/lib"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/userpanel/templates_c"> Order deny,allow Deny from all </Directory> oraz ochrona lms.ini jeśłi nie jest umieszczony w /etc/lms <Files "/var/www/html/lms/lms.ini"> Order allow,deny Deny from all </Files> Konfiguracja virtualhost dla lms-a w apache beż użycia .htaccess wtedy wygląda tak <VirtualHost *:80> ServerAdmin administrator@wsb-nlu.edu.pl DocumentRoot /var/www/html/lms ServerName lms.org.pl ErrorLog logs/lms.org.pll-error_log CustomLog logs/lms.org.pl-access_log common <Directory "/var/www/html/lms"> AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/var/www/html/lms/backups"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/documents"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/lib"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/templates_c"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/modules"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/contrib/bin"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/userpanel/lib"> Order deny,allow Deny from all </Directory> <Directory "/var/www/html/lms/userpanel/templates_c"> Order deny,allow Deny from all </Directory> <Files "/var/www/html/lms/lms.ini"> Order allow,deny Deny from all </Files> </VirtualHost> I taka tez konfiguracja powinna być proponowana jako domyślna w dokumentacji lms-a. Analogicznie trzeba to zabezpieczyć dla nginx-a
Witam, ośmielam się zwrócić uwagę, że te dyrektywy nie zadziałają z nowszą wersją apache. Zamiast „order deny,allow” i „deny/allow from all” należy użyć dyrektywy „require all denied/granted”. -- Pozdrawiam Jacek Cieplok _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Tomasz Chiliński, Chilan
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms