************************************************************************* Bramka IRC <-> WAP - nircwap ************************************************************************* Wymagania: ExecCGI na katalog xyz (lub jaki tam chcecie) zalecana virtualka www Załóż sobie najlepiej użytkownika gateway, wtedy będzie mało zmian w źródłach programu. Pisałam tę bramkę dla siebie i dlatego dużo ścieżek jest na sztywno wpisana w kod define.h np /home/gateway/irc itp :) Ale oczywiście możesz pozmieniać define.f na swoje ustawienia :) Instalacja: cd ~ wget http://www.overwap.net/source/wapik.tar.gz Rozpakuj wapik.tar.gz tar -zxvf wapik.tar.gz Macie tu 2 katalogi: irc, xyz Katalog irc - skopiujcie go do swojego $HOME w całości :) Katalog xyz - skopiujcie go tam, gdzie macie ustawione CGI. Można ustawić ExecCGI bezpośrednio na ten katalog albo wrzucić go do podkatalogu, na który już jest cgi :) W "irc" znajduje się klient irc'a i ustawienia dla niego. W "xyz" znajduja się cgi dla WAP'u Zajmijcie się tymi katalogami z osobna :) Poczytajcie README w /irc oraz /xyz W nich są odpowiednie define.h oraz conf'y które trzeba zmienić. Zajmijmy się nimi po kolei. ***************************************************************************** *** katalog /irc *** ****************************************************************************** Nie musicie zmieniać conf, od razu logi dla wapu ustawione są na plik wap.log waplog = wap.log Ustawienia define.h tez są podszykowane dla WAP :) Zmieńcie sobie plik kanal Wpiszcie tam swój kanał, na który wejdzie sesja po połączeniu się z irc. Zmieńcie mainrun: nick server irc port ip - zmień na swoje (jeżeli masz vhosty to mozesz dac inne ipv4) (narazie ipv6 nirc nie obsługuje) Prawa do katalogu irc: Na wstępie są dobrze ustawione, ale jakby coś to: chmod 755 /home/gateway/irc albo 750 + chgrp www-data. Ale 755 nie zaszkodzi :) To co nam zostało to wpisanie w tym katalogu: make :P Uruchomienie nirc: ./start ****************************************************************************** Teraz /xyz który jest ściśle związany z cgi ustawianym na serwerze www ****************************************************************************** Tu będzie wchodził wapik z komórki, więc ten katalog musi być widziany z sieci. Ważne jest jednak to, by miał on możliwość uruchamiania skryptów cgi! To podstawa. Ustawienia apache: Jeśli już raz masz zdefiniowane, że w danym katalogu nie można uruchamiać cgi (np $HOME/public_html) to najlepiej założyć sobie zupełnie inny katalog i dać na niego wirtualke :> Pamiętajcie, że .cgi musi być wykonywalne LoadModule cgi_module ..... itd AddHandler cgi-script .cgi Ale to już man apache radzę :> W katalogu /xyz najlepiej załóż sobie .htaccess ale to później - to tylko zabezpieczenie hasłem :P Co prawda plik ten już jest, ale ustawiony na hasła z pliku, którego jeszcze nie macie :) Albo troszkę o apache.. [23:25] [neutrina] lec do konfa apache :) [23:25] [neutrina] katalogi trzeba dodac [23:25] [neutrina] :> [23:25] [St3fan] ojacie.. gdzie to ? [23:25] [buras] hehehe ;) [23:25] [buras] neutrina: ladnie mielisz :> [23:25] [neutrina] /etc/apache/ [23:25] [neutrina] buras: :P :> [23:26] [neutrina] St3fan: narazie daj access.conf [23:27] [neutrina] St3fan: ja mam tak: [23:27] [neutrina] [23:27] [neutrina] AllowOverride AuthConfig [23:27] [neutrina] Options ExecCGI FollowSymLinks [23:27] [neutrina] [23:27] [neutrina] zmieniasz tylko jedno czyli scieżkę do /xyz :) w zależności gdzie ją masz.. [23:30] [neutrina] to teraz httpd.conf [23:30] [St3fan] ok [23:30] [St3fan] i co tu zmienic? Tu odnośnie kolegi Pejot :D Właśnie tam sobie dopisz wirtualke aby pozbyć się tyldy w linku :> Przykład mojej wirtualki w pliku /etc/apache/httpd.conf: ServerAdmin neutrina@kwant.info DocumentRoot /home/gateway/www/xyz ServerName irc.overwap.net ErrorLog /var/log/apache/error.log TransferLog /var/log/apache/access.log TransferLog /dev/tty11 A teraz.. [23:32] [neutrina] St3fan: srm.conf [23:32] [neutrina] i tam trzeba dopisac pare linii dla wap [23:32] [neutrina] wkleje [23:32] [St3fan] ok [23:32] [neutrina] # MIME Types for WAP [23:32] [neutrina] AddType text/vnd.wap.wml .wml [23:32] [neutrina] AddType image/vnd.wap.wbmp .wbmp [23:32] [neutrina] AddType application/vnd.wap.wmlc .wmlc [23:32] [neutrina] AddType text/vnd.wap.wmlscript .wmls [23:32] [neutrina] AddType application/vnd.wap.wmlscriptc .wmlsc Nie zawsze jest to potrzebne :) Bo jak samo cgi tworzy sobie stronę w formacie wml to dba o to wszystko.. Ale to tak na przyszłość dla plików w formacie dla WAP :) [23:37] [neutrina] St3fan: ok [23:37] [St3fan] w zyciu bym na to nie wpadl.. [23:38] [neutrina] St3fan: to restart apache [23:38] [neutrina] :> [23:38] [neutrina] i zaraz odpalisz wapika :) [23:38] [St3fan] restart httpd ? No właśnie tak, restartujemy serwer www :) [23:45] [St3fan] juz [23:45] [buras] jezu Jola! [23:45] [neutrina] najlepiej zostawiac irca na screenie [23:45] [buras] skrypt bys do tego napisala :> [23:45] [buras] co to robi za kogos :P [23:45] [neutrina] buras: ? [23:45] [buras] a nie tyle glajdrania sie :P [23:45] [neutrina] buras: a mowiles, ze trening czyni mistrza [23:46] [neutrina] <; [23:46] [buras] e no ale jak mam edytowac 10 plikow to mi sie zle robi ;P Mi też :P Było dużo skarg więc poprawiłam to :P Teraz ustawienia dla katalogu xyz są prostsze niż dawniej i sprowadzają się do zmian w pliku define.h Niestety apache musicie nadal przygotować sobie do współpracy z cgi :) [23:46] [St3fan] nom.. ja sobie cala ta rozmowe przekleje to txt ;) HA! Jak to dobrze, ze było to logowane :> [23:46] [neutrina] buras: czepiasz sie :P Zmiany w /xyz/define.h ścieżka do xyz ścieżka do pliku wap.log ścieżka do pipefile "zwapu". Jest on w katalogu ....../irc a jeśli go nie ma.. to przy pierwszym odpaleniu nirc'a powstanie :) można mu śmiało podać tam ścieżkę np. "/home/gateway/irc/zwapu" No i po zmianach w define.h piszemy make :P Prawa dostępu ustawią się same :> Burasek powinien być zadowolony :D [23:57] [St3fan] a ten plik .htaccess ? [23:58] [neutrina] .htaccess to musialbys wygenerowac haslo htpasswd [00:00] [neutrina] htpasswd -c /etc/apache/pass stefan [00:07] [St3fan] ok ok juz robie haslo [00:07] [St3fan] htpasswd -c [00:07] [neutrina] -c chyba od create jak po raz pierwszy plik tworzysz [00:08] [St3fan] aaa i to z roota zrobic? [00:08] [neutrina] St3fan: tak [00:09] [neutrina] wrzuc to do /etc/apache I zapamiętaj tą scieżkę, gdzie masz te hasła :) Oczywiście są tu 2 możliwości. Wkleję kawałek z README, które jest w źródłach nirc'a ****** Popraw .htaccess Możesz dać inną ścieżkę do katalogu z hasłami, ale jeśli nie jesteś rootem to uhh.. :) Plik z hasłem _musi_ być czytany przez usera na jakim chodzi serwer www. Może to być np. www-data. Przykład dla apache i pliku z hasłami w /etc/apache/ Jeżeli jesteś rootem to wystarczy dać: htpasswd -c /etc/apache/pass ......login ..... podac haslo.... chown www-data pass chmod 600 pass Ale jeżeli nie, to załóż na swoim shellu plik z hasłami, ale tak, by był poza dostępem od strony www np. /home/gateway/costam htpasswd -c /home/gateway/costam login... podaj haslo.... i tu robią się schody.. bo plik ten musi czytać serwer www. Jeżeli działa on na userze root to nie ma problemu i plikowi nadajemy prawa chmod 600 /home/gateway/costam ale jeżeli serwer www działa na innym userze to niestety, trzeba pozwolić mu czytać :( chgrp www-data nie wchodzi w grę, bo nie możecie pewnie zmienić grupy? :P chmod 701 /home/gateway chmod 644 /home/gateway/costam :(((( I już każdy, kto ma konto na tym samym serwerze.. może podejrzeć Wasze hasło :P Bo oczywiście do /home/gateway/ też się dostanie bo user www-data też musi :/ ****** [00:10] [St3fan] dobra zrobilem pass [00:14] [St3fan] czyli moge juz odpalac? [00:14] [neutrina] St3fan: nie :P hehehhe oj jeszcze to hasło na katalog! ;D [00:14] [neutrina] teraz touch .htaccess [00:14] [buras] hehehehehe :> [00:15] [neutrina] :P [00:15] [buras] nie tak szybko ;P [00:15] [buras] nie ma ze boli ;> no cóż.. opis zmiany .htaccess musi być :P [00:15] [St3fan] ale gdzie mam ten .htaccess ? [00:15] [St3fan] w xyz? [00:15] [neutrina] tak [00:15] [neutrina] :> [00:15] [neutrina] dokladnie [00:15] [neutrina] i w nim takie cos: [00:15] [neutrina] uwaga wklejam :P [00:15] [neutrina] AuthName "security zone" [00:15] [neutrina] AuthType Basic [00:16] [neutrina] AuthUserFile /etc/apache/pass [00:16] [neutrina] [00:16] [neutrina] require valid-user [00:17] [neutrina] i chmod 644 na to :) A czemu może nie działac .htaccess? A może brakuje tego w httpd.conf: LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so czy jaką tam macie ścieżkę.. Zabezpieczenie hasłem zróbcie już jak chcecie :) Zobaczcie czy macie potrzebne moduły. Ja podałam tylko przykład jak to jest rozwiązane u mnie. Może macie coś innego u siebie :) [00:18] [neutrina] buras: wiesz ze mozesz zmieniac to w pliku? [00:18] [neutrina] buras: lastlog_txt [00:18] [neutrina] buras: czytales man'a? :P UPS! Przepraszam.. to nie to howto :P Tamto było o openssh :P [00:19] [St3fan] neutrina: dobra. all done. [00:20] [neutrina] St3fan: no to teraz test Tu następuje cisza.. Test#1 [00:23] [St3fan] http://213.76.228.85/~wap/xyz/ [00:24] [St3fan] you dont have permission on that server. Co jest!??!?! Czyżby zapomniało się zrestartować serwer www po zmianach w conf? :D [00:26] [neutrina] a zrestartowales apache? [00:26] [St3fan] hmm [00:27] [St3fan] teraz? [00:27] [neutrina] po tej zmianie [00:27] [St3fan] w sumie nie.. [00:27] [neutrina] no to musisz [00:27] [neutrina] no to test Błoga cisza.... Skupienie.. Slychac szum w uszach :> Test#2 [00:28] [St3fan] eeeee jesssssst :) [00:28] [neutrina] jest? [00:28] [St3fan] wymagana autentyfikacja :) [00:28] [neutrina] no :P [00:28] [St3fan] cool :) zaraz zobaczymy [00:29] [St3fan] hmm dziala dziala :) [00:31] *** SiEmenSiK (wap@pd85.katowice.sdi.tpnet.pl) has joined #ekg Huh! Odbyło się bez Test#3? :>>>>>>>>>> [00:31] [neutrina] wiesz, ze masz priv? [00:31] [St3fan] w tym ??? [00:31] [neutrina] zobacz sobie na konsole nirc [00:31] [St3fan] aaaaa [00:32] [neutrina] pisze sie /query nick [00:32] [neutrina] i wtedy przelacza sie na priv [00:32] [neutrina] :> [00:32] [neutrina] jak chcesz konczyc to /query [00:32] [St3fan] fajjjnie :))))) [00:32] [neutrina] a jak dasz / jako pierwszy znak to masz komende [00:34] [neutrina] St3fan: on jest wielokanalowy [00:34] [neutrina] jak wejdziesz na wiele kanalow to masz na ekran z tych kanalow poplatane :P [00:34] [neutrina] St3fan: 10 ostatnich linii pokazuje (mozesz zmienic to w jednym pliku .wml na wiecej) [00:35] [St3fan] ok rozumiem.. czyli calkiem niezle.. [00:35] [St3fan] chociaz mozna cos przegrapic jak sie duzo pisze tekstu.. [00:35] [neutrina] tak akurat jak na wyswietlacz [00:35] [neutrina] :> [00:35] [neutrina] ano :) [00:35] [neutrina] ale i tak nie dalbys rady odpisywac [00:35] [neutrina] :P [00:35] [St3fan] zaraz zobacze czy reload dziala ...... (ciach) :> Albo jeszcze kawałek... [00:36] [St3fan] neutrina: powiedz Elicie jak zrobilas RELOAD bo to od Ciebie dziala.. a u niego na EKGwap nie dziala na siemensie [00:37] [buras] neutrina: idz uczyc elite ;) [00:37] [neutrina] St3fan: akurat to reload pisal elita :) [00:37] [buras] hehehe :P [00:37] [neutrina] moze zapomnial jak :) [00:37] [St3fan] neutrina: to musial teraz cos pomieszac.. bo teraz na ekgwap nie dziala u mnie. Działa już, działa :) Tu podziękowania dla Elity sie należą :) To co jest w /xyz to pisał on :) Ja od strony ircd, on od strony WAP Polecam też przy okazji jego projekt ekgwap :) Zapomniałam jaki jest tam link :P Znajdziecie go u mnie na www w dziale linków. Pozdrawiam Neutrinka neutrina at kwant.info http://www.kwant.info ps. wszelkie skargi proszę kierować na nicka neutrinka :))))) (ircnet)