• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

squid icap update

so ich hab mir auf vm ware noch mal nen server aufgesetzt und versuchte dort es nach deiner anleitung zu installieren und wieder scheitere ich an ./boostrap.sh

ich hab so langsam den verdacht das mir einiges an packete fehlt.
also es is ne standart installation von suse 10.0. dazu habe ich die folgenden pakete nach installiert da man diese nach meinem squid handbuch benötigt
gnu c compile gcc
das paket binutils
und Perl

wo bei Perl und binutils bei standart schon dabei war

da du mir gesagt hast das bei mir autoconf fehlt hab ich das auch noch nach installiert.

reichen diese pakete oder fehlen noch welche ??
 
ich nutzte SuSE 9.3 weil die x.0 eigentlich nur bessere betas sind.

dann habe ich die kompleten Kompilierungstools installiert das Packet kompiliert und dann die Kompiler wieder runter genommen.

autoconf muss man schauen.

Ich haba am WE auch tests mit mit SuSE 10.2 gemacht, und dort lies sich SQUID einwandfrei kompilieren.

Vorsicht ist mit APP-Amor geboten, da es ganz schnell passieren kann, dieser den SQUID blockiert.
 
so ich hab squid nun erfolgreich installiert. nächstes problem.
aus irgendwelchen nicht erklärlichen gründen bestitzt squid bei mir keine rechte um verzeichnisse zu erstellen.

ich hab suqid mit folgender ./configure insalliert
Code:
./configure --enable-icap-support --prefix=/usr/local/squid --bindir=/usr 
/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc/squid --localstatedir=/cache/squid --libdir=/var/lib/squid --mandir=/usr/local/man --datadir=/usr/share/

die conf is die selbe wie schon gepostet. das problem is nun dieses wenn ich squid mit
Code:
squid -z
starten will bekomm ich fehler meldung das er keine berechtigungen hat das cache verzeichniss zu erstellen das wäre unter /cache/squid/
und das er keine log datei unter /cache squid/log erstellen darf

darauf hin hab ich ihm schreib und lese rechte auf die ordner gegeben also rechte maustatste premissions can blabla das übliche halt
naja nur irgendwie junkt das squid nicht weil er es immer noch nicht darf

ach ja ich bin bei insallation und bei den obrigen versuchen immer root gewsen. also an dem kanns auch nicht liegen.
ich hoffe mal das löst sich bald weil dann würde es entlich alles gehen
 
omg wieso? das verzeichnis is doch egal solang du es in der squid.conf vorgegeben hast.
also ich hab jetzt schon die verschiedesnten orte gesehen
/cache/squid
/var/cache/squid
/usr/local/squid/var/cache/squid
usw
 
Ja, aber wenn's nicht existiert musst du's erst erstellen. Logisch, oder etwa nicht? Und ein bisschen Ordnung sollte man auch halten.
 
naja eigentlich sollten ja mit squid -z die verzeichnisse angelegt werden also sollte ich se ja nicht ersellen brauchen oder?? aber is jetzt auch egal dank der hilfe von GMastaP hab ich so weit zum laufen gebracht jetzt is nur noch das problem mit den scriptsteiten. dann läufts thx schon mal an alle
 
Mit -z werden glaube ich nur die Verzeichnisse innerhalb des designierten Cache-Verzeichnisses erstellt, nicht das Cache-Verzeichnis selber. Wäre auch ein bisschen sinnlos, denn zum Erstellen von /var/cache/squid benötigt man Schreibrechte in /var/cache, und die sind bei squid als User "squid" nicht gegeben. Also, alles paletti und gut durchdacht.
 
squid läuft. nur is noch das problem mit den scriptsites. das ich nicht in den grif bekomm. das is mal meine squid.conf
Code:
http_port 80
cache_peer "firewall"  parent 80 7 no-query
cache_mem 8 MB
cache_dir ufs /usr/local/var/cache 100 16 256
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl allowed_hosts src 10.112.37.0/255.255.255.0
acl allowed_hosts src 10.112.36.0/255.255.255.0
acl allowed_hosts src 10.112.35.0/255.255.255.0
acl allowed_hosts src 10.112.34.0/255.255.255.0
http_access allow manager localhost
http_access deny manager all
http_access allow allowed_hosts
http_access deny all
icap_enable on

ich kann ohne problem sites aufrufen aber soblad ich mich irgendwo einloggen muss wie z.b. hier im forum oder wenn ich einen forum beitrag erstellen will hab ich das problem das ich fehlermeldung von squid bekomme.
 
briddl schrieb:
ich kann ohne problem sites aufrufen aber soblad ich mich irgendwo einloggen muss wie z.b. hier im forum oder wenn ich einen forum beitrag erstellen will hab ich das problem das ich fehlermeldung von squid bekomme.

Und die ist geheim oder was? Meine Glaskugel ist kaputt. Also wär es nicht schlecht, wenn die bekannt wäre.

Groß-/Kleinschreibung wär übrigens auch nicht schlecht.
 
Ok sry wegen Groß- und Kleinschreibung. Werde mir Mühe geben.

Also hier ist die Fehlermeldung:

Code:
While trying to retrieve the URL: http://www.directbox.com/sites/directbox/login/xt_login.asp

The following error was encountered: 

Connection to 194.25.41.70 Failed

The system returned: 

    (113) No route to host

The remote host or network may be down. Please try the request again.

Ähm Glaskugel?? Wie wäre es mit kleben. :D
ne spaß
 
Tach,

mal kurz zur config:
briddl schrieb:
Code:
acl allowed_hosts src 10.112.37.0/255.255.255.0
acl allowed_hosts src 10.112.36.0/255.255.255.0
acl allowed_hosts src 10.112.35.0/255.255.255.0
acl allowed_hosts src 10.112.34.0/255.255.255.0
Schreib das mal in eine Zeile. Vier ACL's mit dem selben Namen... :shock:

Dann hast du keine ACL's für deinen Parent definiert. Wenn du nun einen DIRECT request hast versucht dein squid direkt den Server zu erreichen. Die Holzhammermethode wäre wenn du
Code:
never_direct allow all
in deine config schreibst. Lies dir doch dazu nochmal die Doku durch.

Grüße
micha
 
Mh ich hab ja total Mist gebaut. Hab mir gerade noch mal das Kapittel im Squid-Handbuch zu acl`s durch gelesen.

also
bei
Code:
never_direct allow all
ist "all" n name ner acl-liste wenn ich das richtig verstanden hab. Weil, ich bekomme Fehlermeldung, von wegen er kennt "all" nicht.

Ich hab in dem ganzen Buch nichts darüber gefunden mit ACL`s und Parent.
styyxx könntest du mir bitte nen Beispiel conf eintrag hier posten??.
danke schon mal im voraus.

grüße thomas
 
Moin Thomas,

das da versteh ich nicht:
briddl schrieb:
Code:
cache_peer "firewall"  parent 80 7 no-query
Erst definierst du einen ICP Port (7) und dann deaktivierst du ICP Nachrichten (no-query) :?:

Hier mal ein config Beispiel nur für die ACL's für den Parent access:
Code:
nonhierarchical_direct off
cache_peer 'hostname' parent 80 0 default no-query no-digest
...
some config lines
...
never_direct allow 'acl name'
Damit sendest du alles zu deinem Parent. Ob das sinnvoll ist mußt du entscheiden. Man kann ziemlich fein einstellen was wohin soll.
Das Problem das du hast ist das dein squid manche Anfragen direkt an den Server sendet und nicht an den Parent. Zum Beispiel sendet squid als default alle PUT, POST requests direkt, sowie alles was in der Direktive hierarchy_stoplist steht (default also alles was cgi-bin und ein '?' enthällt). Deswegen funktionieren auch keine php Anfragen mehr.
Mit nonhierarchical_direct off schaltest du dieses Verhalten aus und mit never_direct allow 'acl name' sagst du das er alles was die ACL matched nicht direkt schicken soll.

Das ganze ist etwas knifflig und ich kann hier nicht alles erklären. Doch das sollte als Einstieg reichen. Wenn du schon mit einer Proxy Hierarchy arbeiten willst, mußt du dich etwas intensiver damit auseinander setzen. Man kann da ziemlich leicht was versauen was man dann nur noch schwer findet :wink:

Grüße
micha

PS: Warum er sich über dein 'all' beschwert weiß ich nicht. In der config die du angegeben hast sollte es gehen. Hmm, natürlich die never_direct nach der ACL Definition.
 
Code:
cache_peer "firewall"  parent 80 7 no-query

In meinem Buch stand drin wenn man soll den port auf 7 setzen wenn man icp nicht verwendet dies hat irgendwas mit echo zutun hieß es dort.

Naja ich bin so oder so drauf gekommen, dass ich nicht mehr alles wusste und hab mir des halb das Buch noch mal zu Gemüte geführt und siehe da es hat funktioniert. Scriptsites funktionieren und der Cache cached.

Ich kann nur noch mal Danke für die viele Hilfe sagen und das das Problem im Moment gelöst ist.
 
Hi,

schön das es nun funktioniert.

briddl schrieb:
In meinem Buch stand drin wenn man soll den port auf 7 setzen wenn man icp nicht verwendet dies hat irgendwas mit echo zutun hieß es dort.
Das ist imho blödsinn.
Port 7 ist der echo Dienst, soweit richtig. Was das aber mit ICP zu tun haben soll?
Wenn du ICP nicht verwenden willst mußt du die Portangabe auf 0 setzen.

Grüße
micha
 
so mir noch was eingefallen. ich hab nun meine squid proxy laufen mit icap dienst zu time for kids webfilter. funktioniert einwandfrei.
dann wollte mein kollege und ich squid so einstellen, dass er bei system start gestartet wir. das geht ja über jast usw. jetzt war nur das problem squid wird dort nicht angezeigt. nach dem ich gegoogelt habe bin ich mal so weit gekommen das ich squid vermutlich "falsch" installiert habe und er deshalb nicht angezeigt wird. da wenn ich squid 2.5 über jast (also die mit gelieferte version ohne icap) installiere is diese vorhanden.
jetzt wollte ich wissen wie muss ich squid installieren das er mir als dienst/deamon erkannt wird nämlich wies aussieht ist genau dies das problem.
vielleicht wenns weiter hilf ich hab s zur zeit mit folgenden parametern installiert
Code:
./configure --icap-support-enable --prefice/usr/local/squid

ähm folgendes ich hab das hier:
http://www.linux-club.de/viewtopic.php?t=10622&highlight=squid


im forum gefunden das sollte ja imprinzip die lösung sein die ich suche vermute ich mal aber kann mir mal bitte einer sagen was das hier ist?? :shock:
 
so hab raus bekommen für was ich das brauche und das teil auch umgeschrieben. nur bekomme ich jetzt ne fehlermeldung die irgendwie sinlos ist:

[/code]
Code:
/etc/init.d/squid: line 51: syntaxerror near unexpeceted tocen `else'
/etc/init.d/squid: line 51:`else'

diese fehlermeldung bezieht sich auf folgenden abschnitt in quell text. das könnt ihr auch in dem anderen theater nach schauen weils dort das ein und das selbe is.

[edit]ich stell mal den ganzen code online
mir is noch aufgefallen ich hab vergessen zu sagen wieso ich das brauche. also ich will das squid gleich bei systemstart ausgeführt wird. da mein college den server über webmin verwalten wird taucht squid dort nicht als "programm" auf mit der folgenden datei/quelltext sollte man angemlich dieses problem lösen können.

Code:
 #! /bin/sh
# Copyright (c) 1996, 1997, 1998 S.u.S.E. GmbH
# Copyright (c) 1998, 1999, 2000, 2001 SuSE GmbH
# Copyright (c) 2002 SuSE Linux AG
#
# Author: Frank Bodammer, Peter Poeml, Klaus Singvogel <feedbacksuse.de>
#
# init.d/squid
#
### BEGIN INIT INFO
# Provides: squid
# Required-Start: $local_fs $remote_fs $network $named $time
# X-UnitedLinux-Should-Start: apache
# Required-Stop: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Squid web cache
# Description: Start the Squid web cache, providing
# HTTP, FTP and other proxy services
### END INIT INFO


SQUID_BIN=/usr/local/sbin/squid
SQUID_PID=/usr/local/var/logs/squid.pid
SQUID_CONF=/usr/local/etc/squid.conf

if [ ! -x $SQUID_BIN ] ;  then
echo -n "WWW-proxy squid not installed !"
exit 5
fi

. /etc/rc.status
RC_OPTIONS='-v'
rc_reset

ulimit -n 4096
# determine which one is the cache_swap directory
CACHE_SW=`perl -n -e \
'/^cache_dir\s+\S+\s+(.*)\s+\d+\s+\d+\s+\d+/ && print  "\$1 "' \
/usr/local/etc/squid.conf`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/var/cache

case "$1" in
start)
echo -n "Starting WWW-proxy squid "
checkproc $SQUID_BIN
if [ $? -eq 0 ] then
echo -n "- Warning: squid already running ! "
rc_failed 
else 
[ -e $SQUID_PID ] && echo -n "- Warning: $SQUID_PID exists ! "
for adir in $CACHE_SWAP ; do
if [ ! -d $adir/00 ]; then # create missing cache directories
umask 027 # prevent users reading any cache data
echo -n " ($adir) "
$SQUID_BIN -z -F > /dev/null 2>&1
fi
if [ ! -d $adir/00  ]; then
echo " - Could not create cache_dir ! "
rc_failed
rc_status -v
rc_exit
fi
done
sleep 2
fi
startproc -l /var/log/squid/rcsquid.log $SQUID_BIN -sYD
rc_status $RC_OPTIONS
;;
stop)
echo -n "Shutting down WWW-proxy squid "
if checkproc $SQUID_BIN ; then
$SQUID_BIN -k shutdown
sleep 2
if [ -e $SQUID_PID ]; then
echo -n "- wait a minute "
i=60
while [ -e $SQUID_PID ] && [ $i -gt 0 ] ; do
sleep 2
i = $[$i-1]
echo -n "."
[ $i -eq 41 ] && echo
done
fi
if checkproc $SQUID_BIN ; then
killproc -TERM $SQUID_BIN
echo -n " Warning: squid killed !"
fi
else
echo -n "- Warning: squid not running !"
rc_failed 7
fi
rc_status -v
;;
try-restart)
$0 stop && $0 start
rc_status
;;
restart)
$0 stop
$0 start
rc_status
;;
force-reload)
$0 reload
rc_status
;;
reload)
echo -n "Reloading WWW-proxy squid "
if checkproc $SQUID_BIN ; then
$DQUID_BIN -k rotate
sleep 2
$SQUID_BIN -k reconfigure
rc_status
else echo -n "-Warning: squid not running ! "
rc_failed 7
fi
rc_status -v
;;
status)
echo -n "Checking for WWW-proxy squid "
checkproc $SQUID_BIN
rc_status -v
;;
probe)
test $SQUID_CONF  -nt $SQUID_PID && echo reload
;;
*)
echo "Usage: $0 [start|stop|status|try-restart|restart|force-reload|reload|probe]"
exit 1
;;
esac
rc_exit

ich hoffe mal da mir kann da einer weiter helfen
 
so nach mehreren Versuchen:

1. patch
2. ./bootstrap.sh
3. configure
4. make
5. make install

damit sollte es gehen.

ich hab den Stable10 ein wenig per hand nachbearbeiten müssen in der src/client_side.c
aber was da feht kann man über die client_side.c.rej und dem originalen icap_2.6.patch herausfinden.
 
Oben