*************************************************************************
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)