Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Moja wersja tablicy ogłoszeń http://forum.freesco.pl/viewtopic.php?f=22&t=12025 |
Strona 1 z 3 |
Autor: | agbis [ piątek, 7 kwietnia 2006, 21:09 ] |
Tytuł: | Moja wersja tablicy ogłoszeń |
Pod adresem http://agbis.com.pl/inne/nnd/tablica-thttpd.tgz umieściłem moją przeróbkę tablicy ogłoszeń, pozwalającej np. delikatnie upomnieć się o kasę za neta. Zmiany dotyczą głównie panelu administracyjnego: 1) Zamiast wypisywać hosty, które pojawią się w panelu można użyć hostów z pliku /etc/host. Zmiany polegały głównie na uwzględnieniu możliwości istnienia komentarzy w pliku z hostami. 2) Sparametryzowanie (i co za tym idzie - łatwa możliwość zmiany) ilości kolumn w panelu i portu, na którym działa dodatkowy serwer www z ogłoszeniem. 3) Możliwość anulowania pomyłkowo wysłanego lub nie aktualnego już komunikatu userowi, który jeszcze go nie przeczytał. (Oczywiście user nadal sam może zdjąć sobie blokadę po przeczytaniu komunikatu). 4) Panel pokazuje, którzy userzy mają aktualnie wysłany i nie przeczytany komunikat. Podaje on nie tylko IP, ale także nazwę pobraną z /etc/hosts. 5) Inne kosmetyczne zmiany, których już nawet nie pamiętam ![]() Instrukcja obsługi (dla thttpd jako serwer www): Pobieramy i rozpakowujemy "tablicę" do odpowiedniego katalogu: mkdir /var/www/tablica cd /var/www/tablica wget http://agbis.com.pl/inne/nnd/tablica.tgz tar -zxf tablica.tgz Ustalamy hasło do panelu: New password: #wpisujemy hasło i ENTER Re-type new password: #ponownie hasło i ENTER Teraz trzeba przygotować serwer www obsługujący naszą tablicę. Edytujemy plik /etc/rc.d/thttpd: Odnajdujemy linijkę: [ -z "$PID" ] && /usr/sbin/thttpd -p 80 -u nobody -d /var/www -T iso-8859-2 -l /dev/null i poniżej dopisujemy: [ -z "$PID" ] && /usr/sbin/thttpd -p 82 -u root -d /var/www/tablica -c "**.pl" -T iso-8859-2 -l /dev/null Restartujemy thttpd: Jeśli thttpd się nie uruchomi, to najprawdopodobniej nie stworzyłeś katalogu /var/www/ogloszenie. Powinno działać. Dostęp do panelu administracyjnego przez: http://adres_serwera:82/panel.html Powyższy opis zakłada, że serwerem www jest thttpd. Jeśli używamy apache'a to są dwa wyjścia: - zainstalować dodatkowo thttpd dla samej tablicy zostawiając apache'a jako główny serwer www, - poszukać opisu, jak uruchomić tablicę na apache. Był gdzieś taki na forum. Powodzenia. |
Autor: | p0w0 [ sobota, 8 kwietnia 2006, 20:49 ] |
Tytuł: | |
Widzę, że fajna. Zainstaluję ją i sprawdze, jak działa. |
Autor: | p0w0 [ sobota, 8 kwietnia 2006, 23:51 ] |
Tytuł: | |
takie pytanko. Jaki jest użytkownik do logowania? |
Autor: | agbis [ niedziela, 9 kwietnia 2006, 00:10 ] |
Tytuł: | |
p0w0 pisze: Jaki jest użytkownik do logowania? Cytuj: Ustalamy hasło do panelu:
cd cgi-bin/blok/ htpasswd -c .htpasswd admin New password: #wpisujemy hasło i ENTER Re-type new password: #ponownie hasło i ENTER ![]() |
Autor: | Mr Groch [ niedziela, 9 kwietnia 2006, 00:26 ] |
Tytuł: | |
Cosik chyba nie tak... Urcuhamiam na Apachu - wsyztsko sobie pod Apacha pozmienialem, blokowanie i odblokowanie dziala dopoki nie zechce zablokowac wiecej niz 1 uzytkownikow. Gdy ro zrobie to zamiast panelu admina wyskakuje blad: Błąd serwera! Serwer napotkał błąd wewnętrzny i nie jest w stanie zrealizować twojego żądania. Informacja o błędzie: malformed header from script. Bad header=192.168.0.8: panel.pl IP 192.168.0.8 jest ostatnim IP jaki probowalem zablokowac. Pliku panel.pl nie wklejam bo nic nie zmienialem... Oto config: # Plik konfiguracyjny Tablicy Ogloszen kolumn=4 # Ilość kolumn z hostami na stronie www #plik="/etc/hosts" # Plik z hostami plik="./hosts" port="82" # Port tcp, na którym działa serwer www z ogłoszeniem refresh_list() # Odświeżenie listy numerów ip, dla których jest aktywne przekierowanie { zablokowane=`sudo /var/www/tablica/iptables.list` } refresh_list echo " >>>Zablokowane: $zablokowane" #exit block_check() #sprawdzenie, czy dany ip jest aktualnie przekierowany na stronę z ogłoszeniem # ip przekierowane - kod bledu=1 # ip nie przekierowane - kod bledu=0 { local i for i in $zablokowane; do if [ $i == $1 ]; then return 1 fi done return 0 } i plik iptables.list: /usr/sbin/iptables-save -t nat | grep "REDIRECT --to-ports 82" | cut -d' ' -f 4 | sort | uniq Wiecej chyba nie ma co wklejac, bo unblock.pl , block.pl po moich modyfikacjach dla Apacha dzialaja, tylko te wyswietlanie panelu sie krzeczy, gdyz zablokuje wiecej niz 1 IP Podejrzewam, ze blad powstaje gdzies w pliku config podczas budowy listy ipikow przekierownaych... Ale to juz autor musi ocenic ![]() Z gory dzieki |
Autor: | Mr Groch [ niedziela, 9 kwietnia 2006, 01:43 ] |
Tytuł: | |
Dobra- mam winowajce.. Tak jak myslalem - winny byl plik config, a konkretniej wywloanie funckji refresh_list i echo, ktore nie wiedziec czemu wykonwyaly sie za kazdym razem, gdy jakikolwiek inny plik odwolywal sie do pliku config. Poprawna wersja pliku config: # Plik konfiguracyjny Tablicy Ogloszen kolumn=3 # Ilość kolumn z hostami na stronie www #plik="/etc/hosts" # Plik z hostami plik="hosts" port="82" # Port tcp, na którym działa serwer www z ogłoszeniem refresh_list() # Odświeżenie listy numerów ip, dla których jest aktywne przekierowanie { zablokowane=`sudo /var/www/tablica/iptables.list | grep "REDIRECT --to-ports $port" | cut -d' ' -f 4 | sort | uniq` } #refresh_list #echo " >>>Zablokowane: $zablokowane" #exit block_check() #sprawdzenie, czy dany ip jest aktualnie przekierowany na stronę z ogłoszeniem # ip przekierowane - kod bledu=1 # ip nie przekierowane - kod bledu=0 { local i for i in $zablokowane; do if [ $i == $1 ]; then return 1 fi done return 0 } Jak widac tylko zakomentowalem te linie - moze komus sie przydadza ![]() Przy okazji - przerobilem tablice by Agbis do wykorzystania z Apache: http://groch.dyndns.org/~groch/scripts/tablica.tar.gz Algorytm standartowy - wypakowujemy wszytsko np do /var/www/tablica (jezleli uzywasz /home/httpd/html jak to standartowo w Apachu jest, musisz wyedytowac pare plikow - spis na koncu). Nastepnie dodajemy do pliku /etc/sudoers nobody ALL=NOPASSWD:/var/www/tablica/iptables.blok nobody ALL=NOPASSWD:/var/www/tablica/iptables.unblok nobody ALL=NOPASSWD:/var/www/tablica/iptables.list (jezeli katalog jest inny to ofkoz wpisujemy inny). I dodajemy VirtualHost do Apacha: Listen 82 <VirtualHost 192.168.0.1:82> DocumentRoot /var/www/tablica ScriptAlias /cgi-bin/ /var/www/tablica/cgi-bin/ ErrorLog /var/log/httpd/tablica-error_log CustomLog /var/log/httpd/tablica-access_log common </VirtualHost> (oczywiscie jezlei katalog jest inny to zmieniamy). Spis plikow, gdzie nalezy sprawdzic czy podane sa dobre sciezki (we wsyztskich tych plikach nalezy sprawdzic sciezke po komendzie sudo): /cgi-bin/unblock.pl /cgi-bin/blok/blok.pl /cgi-bin/blok/blok_ws.pl /cgi-bin/blok/config /cgi-bin/blok/unblock.pl /cgi-bin/blok/unblock_ws.pl Pozdarwiam. mam nadzieje, ze nikt klopotu z instalacja tablicy na Apachu nie bedzie mial ![]() |
Autor: | p0w0 [ niedziela, 9 kwietnia 2006, 09:58 ] |
Tytuł: | |
Przy próbie zalogowania wysakuje mi taki komunikat Cytuj: 403 Forbidden
The requested URL '/tablica/cgi-bin/blok/panel.pl' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden. |
Autor: | agbis [ niedziela, 9 kwietnia 2006, 10:24 ] |
Tytuł: | |
Potwierdzam, że wywołanie funckji 'refresh_list' i 'echo', z poziomu pliku 'config' nie było potrzebne. Pozostało z etapu testowania tej funkcji. Pod thttpd nie dawało to żadnego zauważalnego efektu i przez to umknęło mojej uwadze. Na serwerze jest już poprawiona wersja. @Mr Groch Gdybyś zamiast pełnych ścieżek do plików wchodzących w skład tablicy stosował odwołania względne, nie byłaby potrzebna edycja tych ścieżek przy wywołaniach sudo. Np. zamiast: zablokowane=`sudo /var/www/tablica/iptables.list | grep "REDIRECT --to-ports $port" | cut -d' ' -f 4 | sort | uniq` w pliku config byłoby: zablokowane=`sudo ../../iptables.list | grep "REDIRECT --to-ports $port" | cut -d' ' -f 4 | sort | uniq` Później sprawdzę, czy Twoja wersja zadziała się na thpppd. Może wypracujemy wspólną wersję dla thttpd i apache. Przydałoby się jeszcze, żeby ktoś kompetentny wypowiedział się na temat bezpieczeństwa tablicy po naszych przeróbkach. |
Autor: | Mr Groch [ niedziela, 9 kwietnia 2006, 10:52 ] |
Tytuł: | |
Masz calkowita racje ![]() ![]() A wiec poprawiona wersja dla Apache jest na: http://groch.dyndns.org/~groch/scripts/tablica.tar.gz Teraz wystarczy jedynie dopisac do pliku /etc/sudoers: nobody ALL=NOPASSWD:/var/www/tablica/iptables.blok nobody ALL=NOPASSWD:/var/www/tablica/iptables.unblok nobody ALL=NOPASSWD:/var/www/tablica/iptables.list (ew. zmienic katalog jezeli te pliki znajduja sie gdzie indziej) i dodac VirtualHosta: Listen 82 <VirtualHost 192.168.0.1:82> DocumentRoot /var/www/tablica ScriptAlias /cgi-bin/ /var/www/tablica/cgi-bin/ Alias /error/ /var/www/tablica/error/ ErrorDocument 404 /error/404.html ErrorLog /var/log/httpd/tablica-error_log CustomLog /var/log/httpd/tablica-access_log common </VirtualHost> (oczywiscie trzeba zmienic sciezke katalogu jezlei jest inna) Mysle, ze paczka t, prygotowywana z mysl o Apachu, na thttpd takze powinna zadzialac (nawet bez edycji sudoers jak odpalmy jako root). Nie mam jak tego sprwdzic ale nie widze zadnych przeciwskazan ![]() Pozdrawiam |
Autor: | agbis [ niedziela, 9 kwietnia 2006, 13:28 ] |
Tytuł: | |
p0w0 pisze: Przy próbie zalogowania wysakuje mi taki komunikat Cytuj: 403 Forbidden The requested URL '/tablica/cgi-bin/blok/panel.pl' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden. A zrobiłeś: Cytuj: [ -z "$PID" ] && /usr/sbin/thttpd -p 82 -u root -d /var/www/tablica -c "**.pl" -T iso-8859-2 -l /dev/null tak jak napisałem?
|
Autor: | aphex [ niedziela, 9 kwietnia 2006, 20:05 ] |
Tytuł: | |
wlasnie sobie go odpalilem pod apache no i dla testu wyslalem komunikat do usera ( na sobie przetestowalem ) komunikat wyskoczyl kliknelem OK potem Tutaj i gdy odswiezam strone docelowa komunikat wraca pliki tymczasowe w internet temporery files wykasowane jak w zaleceniu oco tu chodzi no i pytanie jesli juz odpowiecie co moge miec zle to jak sie blokuje bo poki co walcze z informacja ze zbliza sie termin lub ponaglenie jak to tam zwal ![]() |
Autor: | Mr Groch [ niedziela, 9 kwietnia 2006, 22:30 ] |
Tytuł: | |
Po pierwsze - uzywaj znakow interpunkcyjnych ![]() Po drugie - uzyles najnowszej paczki pod Apache z: http://groch.dyndns.org/~groch/scripts/tablica.tar.gz ? Po trzecie - czy po kliknieciu na "Tutaj", w panelu admina pokazuje juz hosta, ze nie ma wlaczonego przekierowania? Jezlei przekierowanie nadal bedzie widoczne to a) sprawdz plik sudoers dokladnie b) przekopiuj pkiki jeszcze raz z lkinku poodanego wyzej ![]() Jezlei natomiast juz przekierowania nie ma (czyli skrypty spelnily zadanie - to problemu szukaj gdzie indziej (cache DNS, cos z przegladarka) |
Autor: | p0w0 [ niedziela, 9 kwietnia 2006, 22:48 ] |
Tytuł: | |
agbis pisze: p0w0 pisze: Przy próbie zalogowania wysakuje mi taki komunikat Cytuj: 403 Forbidden The requested URL '/tablica/cgi-bin/blok/panel.pl' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden. A zrobiłeś: Cytuj: [ -z "$PID" ] && /usr/sbin/thttpd -p 82 -u root -d /var/www/tablica -c "**.pl" -T iso-8859-2 -l /dev/null tak jak napisałem?Napisałem to trochę inaczej i ładznie śmiga. Swoją drogą tablica bardzo ładna i dobrze działa. Polecam wszystkim. |
Autor: | aphex [ czwartek, 13 kwietnia 2006, 12:07 ] |
Tytuł: | |
panowie na virtualhost w apachu nie chodzilo mi to za dobrze odpalilem dodatkowo thttpd na porcie 82 i na nim ta tablice odpalilem no i smiga dobrze tylko pytanie dlaczego gdy wysylam komus takie ogloszenie stronki pokazuja mi komunikat ale naprzyklad GG dziala druga sprawa jest taka gdzie jest opcja ZABLOKUJ bo poki osoba kliknie i potwierdzi przeczytanie ogloszenia dalej ma neta a ja chcialbym ja wywalic calkiem w konsoli wiem jak to sie robi a tutaj ?? czy wogole ta funkcja jest czy nie ?? bo ja jej nie widze |
Autor: | Mr Groch [ czwartek, 13 kwietnia 2006, 12:47 ] |
Tytuł: | |
Tablica ogloszen dziala tylko dla polaczen po porcie 80 - czyli tylko dla przehgladania stron www... Dopoki gosc nie przeczyta wiadomosci nie bedzie mogl surfowac po internecie, ale bez problemu beda dzialac inne uslugi (jak chcocby gg, ftp, p2p i gry ![]() Zalozenia tablicy byly takie a nie inne - nie ma kolesiowi zablokowac neta, ale tylko przekazac informacje.. Do blokady neta mozna przeciez posluzyc sie jedna prosta regulka dla iptables... PS. A niby czemu na VirtualHostach Cie nie satrysfakcjonuje takie rozwiazanie? Co w tym jest zlego? Prawidlowo skonfigurowany wirtualny host Apacha jest niemalze we wsyztskim lepszy od thttpd ![]() |
Autor: | aphex [ czwartek, 13 kwietnia 2006, 13:35 ] |
Tytuł: | |
oprocz tej tablicy ogloszen mam jeszcze inne rzeczy jak statystyki i jedynie staty pokazujace ladnie w slupkach ile kto sciagnal zrobione jest to w php jak odpalilem virtualhosta na apachu nie wiedzac dlaczego te statysyki nie chcialy dzialac no i samo przekierowanie ludzika po potwierdzeniu przeczytania ogloszenia nie dzialalo tzn stronki nie wchodzily pokazywala sie znow plansza z ogloszeniem |
Autor: | Mr Groch [ czwartek, 13 kwietnia 2006, 14:05 ] |
Tytuł: | |
takze mam statystyki... http://groch.dyndns.org/udstats/stat.php http://groch.dyndns.org/mrtg/index.html I jeszce pare innych bajerow.. Mam takze wirtualne hosty na subdomeny: http://upload.groch.dyndns.org/ http://ftp.groch.dyndns.org/ A oprocz tego na porcie 82 ta tablice ogloszen i na 84 swoj wlasny panel administracyjny... Wszytako za pomoca wirtualnych hostow Apacha i dziala ![]() Zadnych problemow z php (np z forum, MySqlAdminem, itd) |
Autor: | aphex [ czwartek, 13 kwietnia 2006, 19:36 ] |
Tytuł: | |
no wlasnie te pierwsze statystyki ktore podales u mnie sie wykrzaczyly podalbys mi jak mozesz ustawienia apacha bylbym wdzieczny moze cos zle lub czegos nie dopisalem bo tak naprawde to wolalbym aby to sam apache obslugiwal |
Autor: | Mr Groch [ czwartek, 13 kwietnia 2006, 20:02 ] |
Tytuł: | |
Mniej wiecje cos takiego siedzi w mojej konfiguracji: NameVirtualHost * <VirtualHost *> DocumentRoot /var/www ServerName groch.dyndns.org ServerAlias groch.dyndns.org www.groch.dyndns.org </VirtualHost> <VirtualHost *> DocumentRoot /var/www/upload ServerName upload.groch.dyndns.org ServerAlias upload.groch.dyndns.org www.upload.groch.dyndns.org ErrorLog /var/log/httpd/upload-error_log CustomLog /var/log/httpd/upload-access_log common </VirtualHost> <VirtualHost *> DocumentRoot /home/ftp/public ServerName ftp.groch.dyndns.org ServerAlias ftp.groch.dyndns.org www.ftp.groch.dyndns.org </VirtualHost> <VirtualHost 192.168.0.1:82> DocumentRoot /var/www/tablica ScriptAlias /cgi-bin/ /var/www/tablica/cgi-bin/ Alias /error/ /var/www/tablica/error/ ErrorDocument 404 /error/404.html ErrorLog /var/log/httpd/tablica-error_log CustomLog /var/log/httpd/tablica-access_log common </VirtualHost> |
Autor: | -MW- [ wtorek, 18 kwietnia 2006, 19:05 ] |
Tytuł: | |
tablica bardzo fajna, ale czy plik 404.html w katalogu error znajduje sie we wlasciwym miejscu i czy poprawna jest jego nazwa? z dluzszymi linkami tablica sobie nie radzila do momentu kiedy to nie zmienilem nazwy pliku i katalogu. obecnie chodzi wysmienicie - ogloszenie wyswietla sie za kazdym razem na kazdej dlugosci linku, a moja ingerencja polegala na zmianie nazwy katalogu z error na errors i nazwy pliku z 404.html na err404.html dlaczego? nie wiem ![]() |
Strona 1 z 3 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |