Squidguard

  • Hallöle,


    nachdem ich mich nun intensiv mit dem Proxy Squid auf dem NAS befasst habe, bräuchte ich mal jemanden,
    der aus den Squidguard-Sourcen mal ein IPKG-Päckchen schnürrt.


    Nachdem ich nun bereits den Compiler installiert habe, bleibe ich jedoch bereits bei "run ./configure" stecken und das ist eigentlich schade!


    Wie gesagt, die Zielsetzung ist, einen vollwertigen Proxy mit Jugendschutz, Blacklists etc aufzubauen. Wenn das Päckchen dann insgesamt fertig ist, findet Ihr
    eine komplette Doku hier:
    http://forum.qnapclub.de/viewtopic.php?f=80&p=22444#p22444


    Grüße
    Jody

  • Nabend!


    Da der Squid jetzt Problemlos läuft, habe mich auch am Squidguard versucht. Bin etwas weiter gekommen wie du Jody, aber jetzt klemmts auch bei mir.....


    Zuerst habe ich mir per IPKG folgende Pakete installiert


    Code
    ipkg install gccipkg install perlipkg install grep


    und dann mittels dem Befehl


    Code
    ./configure --prefix=/opt/etc/squidguard


    versucht Squidguard zu Configurieren/Compilen...


    Nun beginnen die Probleme....


    Wenn die Config/Compilerei abläuft passt eigentlich alles, nur am Ende bringt er die Meldung:

    Code
    ** The Berkley DB library version 2.6.4 or newer   is required. Get it from http://www.oracle.com   use --with-db=DIR or --with-db-inc=DIR,   --with-db-lib=DIR to specify its location   (default is /usr/local/BerkeleyDB)


    OK, danach hab ich versucht die Berkley DB herunterzuladen, aber wohin entpacken oder installieren?!


    Beim Versuch Squid ohne Berkley DB zu installieren ist mir eine weitere Hürde aufgefallen, bei der ich als :roll: Linux Noob voll stecken geblieben bin....


    Der Befehl

    Code
    make install

    funktioniert irgendwie nicht auf der NAS?!?!


    Hier die Install Binary vom Squidguard Ordner, nach der ich vorgegangen bin....

    Code
    SquidGuard    [1]Home [2]Documentation [3]Download [4]Blacklists [5]Useful stuff   [6]Installation [7]Basic Configuration [8]Extended Configuration   [9]Known Issues  Installing SquidGuard    1. Unpack the source tar xvzf squidGuard-1.2.0.tar.gz    2. Compiling       Let's assume it is squidGuard-1.2.0 we are trying to install: cd squidGuard-1.2.0 ./configure make       If no errors occurred squidGuard is now installed in /usr/local/.       There are a couple of option you can use when running .configure.       For example:   Installing in a different location ./configure --prefix=/some/other/directory   BerkeleyDB not in /usr/local/BerkeleyDB installed ./configure  --with-db=/directory/of/BerkeleyDB/installation       Annotation: Make sure that the shared library of your BerkeleyDB       installation is known by your system (check /etc/ld.so.conf).   See all .configure options ./configure --help    3. Installing su - make install    4. Installing the blacklists       Copy your blacklists into the desired blacklist directory (default:       /usr/local/squidGuard/db) and unpack them. In the table below we       assume that the default location is used. Make sure that you have       the proper permissions to write to that directory. cp /path/to/your/blacklist.tar.gz /usr/local/squidGuard/db cd /usr/local/squidGuard/db gzip -d blacklist.tar.gz tar xfv blacklist.tar       Now the blacklists should be ready to use.   Congratulation. You have just completed the installation of squidGuard.   The next step is to configure the software according to your needs.   First start configuring SquidGuard. After you verified that SquidGuard   is working fine, make the required modification to your Squid by adding   the following line: redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf   The other way round will make you unhappy.   Proceed with:    [10]Basic Configuration of SquidGuard     __________________________________________________________________   Mirko Lorenz - mirko at shalla.de   30.11.2006


    Tja nun die Große Frage nach einer sehr langen durchzechten Nacht voller Ergeiz und Zuversich.


    Alles für die Katz oder gehts doch noch weiter? Denn ich bin am Ende mit meinem Latein.


    greetz Andy




    Hier noch der komplette Verlauf der Config/Compile Aktion. Vielleicht hilft es ja dem einen oder anderen mein/unser Problem zu lösen....


  • Hallöle,


    ich muss gestehen, dass ich Deinen Ehrgeiz in dieser Sache bewundere! Wenn Du wirklich von Linux keine Ahnung haben solltest, bewegst Du Dich in Regionen,
    die andere erst nach sehr langer Zeit oder auch nie erreicht. Glückwunsch dazu.


    Was aber nun das eigentliche Problem betrifft, sollten wir hier mal Laut nach Terz rufen, ich glaube er könnte uns da vielleicht weiterhelfen.


    Terz,
    Die Fangemeinde der NASenInhaber braucht Dich!
    Wäre nett, wenn Du mal Rat und bestenfalls noch Tat zur Ünterstützung leisten könntest!


    Greetz
    Jody

  • Wer sooo laut nach mir durch das Forum ruft... Der bekommt auch ein ECHO zurück. :D


    GCC auf dem NAS zu installieren finde ich net wirklich Prickelnd. Lieber 'ne Debian VM mit Entwicklertools nutzen. ;)
    Aber die "Kindersicherung" finde ich prima, und ziehe da gerne mit an einem Strang. ;) Lieber wäre mir natürlich 'ne Frau.. :D
    Aber Man(n) kann ja net alles haben.. *grins*


    Was das derzeitige kompilieren angeht ist das schon einmal richtig, es wird nur noch die Berkeley DB Library benötigt. Die nutzt auch autoconf.
    Also los geht's. :P
    1)

    Code
    wget http://download.oracle.com/berkeley-db/db-4.8.24.tar.gz


    2)

    Code
    tar -xvf db-4.8.24.tar.gz


    3)

    Code
    cd db-4.8.24/build_unix


    4)

    Code
    ../dist/configure --sysconfdir=/etc/berkeleyDB --bindir=/opt/bin --prefix=/opt/own/berkeleyDB


    (Liegt /etc/ im Flash kann gerade nicht nachschauen, weil es das bei mir nicht mehr so ist. Sorry... Schon lange her... Ansonsten /etc/berkeleyDB durch etwas anderes ersetzen. Am besten einfach mal nachschauen. ;))
    5)

    Code
    make


    6)

    Code
    6) make install


    Danach sollte das kompilieren auch funktionieren. :thumb: Dann hoffe ich nur, das das so passt, denn denn ikke mache so etwas blinde. :)


    Grüsse, David alias Terz und die hoffentlich Baldige Currywurst! :D


    P.S.: Habe mein 6er dermassen customized. Das ich diverse Sachen net nachgucken kann. Bin da auch was am testen und bauen. :P Schaue aber immer mal hier mit rein. :thumb:

  • Hallöle,


    also wenn wir das jetzt mit Deiner Hilfe ans laufen bekommen und vielleicht sogar das ganze auf andere NASen bekommen, gebe ich Dir persönlich eine Manta-Platte aus (oder auch nur die Curywurst alleine). :thumb: :thumb:
    Vielleicht sollte ich einfach meine 639er zu Dir mitbringen und wir ähhh DU machst das mal eben ;) (könnte man dann auch ein QPKG-Päckchen bauen?)


    Grüße Jody

  • 'ne gute Currywurst iss schon Gold wert. :D


    Ein QPKG ist möglich, iss aber was eigenes von QNAP. Die wollen die Doku zwar nicht rausrücken, finde ich aber lustig, weil man das ja auch auf dem NAS einsehen kann, was QPKG Pakete machen... Mit Reverse Engineering ist es aber möglich auch QPKG Pakete zu bauen.
    Würde ich aber so nicht machen, sonst weiss keiner, mehr, was offiziell von QNAP kommt, und was nicht.


    Wir haben ja eigentlich schon den ipkg Paketmanager auf dem NAS. Ich wollte schon lange einen eigene IPKG Repository aufmachen, in dem es halt kompilierte Sachen gibt. Problem ist nur, die Pakete aktuell zu halten. Diese müssen dann ja für ARM und i386 kompiliert werden.
    Dennoch könnte ich mir hier so etwas vorstellen, da die QPKG auch immer nur nach und nach aktualisiert werden. Man(n) könnte so etwas mal Voten.
    Oder aber man Beantragt einen Optware Zugang auf der NSLU2 Site. Und lädt direkt die Pakete in's opt. Iss aber eine Heiden arbeit die Pakete für alle Systeme zu kompilieren.


    Der Commander hat schon alles richtig gemacht, jedoch, soll er erst einmal die Berkley kompilieren, installieren, danach den Guard. Wird so schon funken. :thumb:

  • @ christian


    Jo, passt eher in den Bereich Erweiterungen..


    @ Terz


    schon die ersten Probleme, musste nach dem herunterladen und entpacken erst diverse Schreib/Leserechte setzen, um überhaupt irgendwas zum rennen zu bekommen...


    und nach 4), also

    Code
    ../dist/configure --sysconfdir=/etc/berkeleyDB --bindir=/opt/bin --prefix=/opt/own/berkeleyDB


    ist jetzt Schluss...


    es kommt die Fehlermeldung

    Code
    configure: creating ./config.statusconfig.status: creating Makefileawk: ./confcissBi/subs.awk:2: Unexpected tokenconfig.status: error: could not create Makefile


    Fehlen da noch irgendwelche Einstellungen oder nicht installierte Pakete? Oder was ist da sonst los, dass er die Makefile nicht erstellen kann?


    Tja so ist es eben als ein Linux-Schrauber, der nicht wirklich weiß was er tut.... :oops:


    greetz Andy



    :EDIT:


    kann es vielleicht sein, dass er beim tar Befehl nicht alles entpackt hat? er hat nämlich in ein paar Zeilen

    Code
    Cannot write: No space left on device

    und

    Code
    Cannot open: No such file or directory

    und am Schluss

    Code
    tar: Error exit delayed from previous errors.


    gebracht...
    ist mein System voll?! bei 127 GB freiem Speicher auf der ersten Platte?
    Wie kann ich Platz machen?!

  • Ohje. Ich versuche euch da morgen doch noch was zu bauen.
    Iss einfacher, da müsste ich mal drübergucken. ;)

  • So, gesagt getan..
    Habe das Ding mal bei mir kompiliert, und habe mir das hin und her überlegt, ob ich einfach die Pakete hier uploade, oder Dir helfe, da Du eh schon sehr nah dran bist.


    Ich habe mich für die Hilfe entschieden, da Du Dir schon so viel Arbeit gemacht hast, und auch Ruhig mal eine Prima Anleitung schreiben darfst. :thumb:


    Ich habe dabei auch einen Fehler gemacht, und das ist, die Berkley DB Lib zu kompilieren das funktioniert zwar, aber da war ich zu voreilig.


    Code
    ipkg install libdb


    (Berkeley DB Libraries)


    So, ich mache mal eine Zusammenfassung so, wie ich es auf dem NAS ausprobiert habe, Step by Step. Dies Dient zur kontrolle für den Commander und wenn der Lust & Zeit hat, dann wäre es Prima wenn es bei Ihn läuft, das er eine Anleitung dazu bastelt. ;)
    Ich mache das jetzt mal step by step für den Commander. :thumb:


    squidGuard Requirements sind:
    - Bison
    - Flex
    - Berkeley DB
    - Compiler (GCC)


    Pakete die ich dafür installiert habe (hier gibt es die ersten Differenzen Commander), deshalb schreibe ich es mal hin. ;)

    Code
    ipkg updateipkg install gccipkg install optware-develipkg install libdb


    gcc: iss klar denke ich
    optware-Devel beinhaltet:

    Code
    autoconf, automake, bash, bison, buildroot, bzip2, coreutils, diffutils, file, findutils, flex, gawk, libuclibc++, groff, libtool, make, m4, ncurses, openssl, patch, pkgconfig, perl, python, rsync, sed, svn, tar, wget-ssl

    Für uns ist hier Flex und Bison enthalten. Und auch alle benötigten Entwicklertools. :thumb:
    libdb: die "Böse" BerkleyDB ;)


    Code
    cd /share/IrgendwoWoPlatzIstAufDerHDD


    Code
    wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz


    Code
    tar xzvf squidGuard-1.4.tar.gz


    Code
    cd squidGuard-1.4


    Code
    ./configure --prefix=/opt --sysconfdir=/opt/etc/squidGuard --with-db-inc=/opt/include --with-db-lib=/opt/lib


    -- Konfiguration ist dann in /opt/etc/SquidGuard und die Binaries im /opt/bin. (Passt so)

    Code
    make


    Code
    make install


    Und schon kann es losgehen mit der Konfiguration vom Guard. 8-)
    Dabei dann auf die Verzeichnissrechte achten (sollte klaro sein), genau so wie:
    Wie den Squidguard in den Squid einbaust und wo Du die Blacklists her bekommst. Wenn nicht, dann gerne wieder zusammen.


    P.S.: Es wäre schön, wenn Du für den Jody mal ein Paket "brauen" könntest. :P

  • Hallöle,


    bis zum configure ist alles schön, aber dann kommt:


    Demzufolge funzen make und make install leider auch nicht :(
    Aber ich bin ja schon wieder ein Stück mehr begeistert.


    Grüße
    Jody

  • Axo. Haddu auch

    Code
    ipkg install libdb


    ausgeführt?
    Schaue mal bütte nach, ob das auch installiert ist.


    Code
    ipkg list_installed


    Das funkt so bei mir. :?:

  • Jep,


    is drauf!
    (abtippenkannichnoch)


    Jody

  • Nabend...


    Runde Sache wenn einer dabei ist, der was von Linux und der ganzen Materie was versteht.... :thumb: Danke Terz :D


    Werds mal die Tage versuchen, ist ja Wochenende.... Mal schauen wie ich dazu komme....



    Meld mich dann wieder.... :? :-/ :D


    greetz Andy

  • Dann schaue auch mal nach den Pfaden.. Damit hat jody 'nen Problem. Den Guard und Squid wollte ich mir hier net umbedingt aufsetzen. :D


    Helfe da aber gerne noch weiter. (Jody @ Holidays)

  • Zitat von "Terz"

    Dann schaue auch mal nach den Pfaden.. Damit hat jody 'nen Problem.
    (Jody @ Holidays)


    Hallöle,


    nicht ICH habe ein Problem damit, sondern der COMPILER!!
    Und so ganz bin ich noch nicht weg! ;)
    Grüße
    Jody

  • Hab mich doch noch daran versucht und bin nun genau so weit wie Jody...


    Nach dem Compilen kommt auch bei mir

    Code
    ** The Berkley DB library version 2.6.4 or newer   is required. Get it from   http://www.oracle.com/database/berkeley-db.html   use --with-db=DIR or --with-db-inc=DIR,   --with-db-lib=DIR to specify its location   (default is /usr/local/BerkeleyDB)


    make und make install macht er auch nichts, bzw. findet nichts.


    wenn ich jetzt also mal nur sicherheitshalber


    Code
    ipkg list_installed


    sehe ich, mhh alles installiert.....

    Code
    libc-dev - 2.6.1-5 - libc development files.
    libdb - 4.2.52-3 - Berkeley DB Libraries
    libidn - 1.14-1 - GNU Libidn is an implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domai
    libmad - 0.15.1b-4 - MPEG Audio Decoder library
    libnsl - 2.6.1-4 - Network Services Library
    libogg - 1.1.4-1 - Ogg is a multimedia container format.
    libstdc++ - 6.0.9-6 - Standard C++ library, needed for dynamically linked C++ programs
    libtool - 1.5.26-1 - Library tools.
    libvorbis - 1.2.3-1 - Ogg Vorbis compressed audio format.
    libxml2 - 2.7.6-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.



    Ich teste mal ein paar alte squidguard packages, sofern es noch welche gibt und forsche noch ein bisschen nach.....



    greetz und vielleicht bis später mit neuesten erkenntnissen......




    Andy





    :EDIT:



    Tja gebs für heute mal auf, zu müde....


    bleib immer an den Berkeley DB Libraries stecken, wird wohl doch irgendwie an den Pfaden liegen...


    naja trotzdem erst mal gn8 zusammen



    greetz Andy

  • Sodale, da bin ich wieder....


    habs gerade nochmal versucht und hab noch ein bisschen ausgetestet....


    Es läuft, bzw. hat sich nun endlich installieren lassen!


    Library ist in


    :!::idea::!:

    Code
    /lib

    :!: :roll: :!:


    Hier nun eine kleine SquidGuard-Installations-Anleitung, die bei mir Schlussendlich funktioniert hat, zwar ab und zu mit umwegen, aber es funkt...
    Wenn von anderen Seiten :Jodyzuzwinkernd: bestätigt wird, dass es funktioniert, kann ich ja noch ein großes Howto in die Anleitungsrubrik posten.... :D


    [System] TS 509 Pro
    [Frimware] Version 3.1.0 build 0627T



    ** Hinweis: Die Verzeichnisangaben (Downloadordner von SquidGuard; Installationsordner von Squidguard Logs und DB) sind die von mir verwendeten Ordner und können auch geändert werden.
    ***Hinweis: Schreib/Leserechte und Zugriffsrechte der Ordner immer beachten!


    Zu Beginn muss noch, wenn gewünscht ein neuer Benutzer angelegt werden. Andernfalls kann auch der Benutzer

    Code
    nobody

    von der Squid installation verwendet werden.


    Es muss jedoch zwingend ein Benutzer vorhanden sein (default=squid), da sonst mit Error abgebrochen wird. Ich hab den Benutzer

    Code
    squidGuard

    angelegt.


    Wenn das erledigt ist IPKG-Pakete Installieren.


    Code
    ipkg updateipkg install gccipkg install perlipkg install optware-develipkg install libdb


    Nun nacheinander Verzeichniswechsel, SquidGuard herunterladen, entpacken, compilen und installieren...


    Code
    cd /share/HDA_DATA/Public


    Code
    wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz


    Code
    tar xzvf squidGuard-1.4.tar.gz


    Code
    cd squidGuard-1.4


    Code
    ./configure --prefix=/opt --sysconfdir=/opt/etc/squidGuard --with-db-inc=/opt/include --with-db-lib=/lib --with-sg-dbhome=/opt/etc/squidGuard/db --with-sg-logdir=/opt/etc/squidGuard/logs --with-sg-config=/opt/etc/squidGuard/squidGuard.conf --with-squiduser=squidGuard


    Code
    make


    Code
    make install


    und Siehe da, SquidGuard ist installiert!


    Nun müssen noch die Blacklists heruntergeladen, installiert und die

    Code
    /opt/etc/squidGuard/squidGuard.conf

    angelegt und editiert werden.
    Um nun den Betrieb mit Squid zu aktivieren, muss noch in

    Code
    /opt/etc/squid/squid.conf

    die Zeile

    Code
    redirect_program opt/bin/squidGuard -c /opt/etc/squidGuard/squidGuard.conf

    eingefügt werden.


    So nun genug getextet, hoffentlich hab ich alles richtig und vor allem nichts vergessen...
    Werd mich auf jeden Fall weiter reinhängen


    greetz und schönes WE Andy

  • Hi Commander, hoffe Dir hat es mal spass gemacht. 8-) Bei so etwas helfe ich schon mal gerne. 8-)
    Habe noch einmal drüber geschaut, und noch ein paar Sachen gefunden... :)


    (one more thing.) ;)


    ok, wenn sich die Berkley in Lib befindet auch no prob. Hätte dafür /opt/lib genommen... Passt aber. :)


    Nun zu den Eigentlichen:
    1)
    Bitte schreibe noch bei:

    Zitat

    Zu Beginn muss noch, wenn gewünscht ein neuer Benutzer angelegt werden. Andernfalls kann auch der Benutzer


    Code
    nobody


    hin, dass dies dann auch bei --with-squiduser=squidGuard renamed werden muss. ;)


    (Den nobody kannst Du eigentlich dafür lassen. Weil der bei dem NAS genau für so etwas "gedacht" ist.
    (SquidGuard ist ein User mehr, der aber net wirklich was bringt...) ;)


    2)

    Code
    ipkg install perl


    Kannst Du getrost weglassen.


    Perl ist hier schon mit dabei (darum hatte ich die Liste optware-devel gepostet (siehe oben):

    Code
    ipkg install optware-devel


    3)
    Deine Konfiguration ist richtig, würde aber noch die Doku erwähnen. (Das beschreibt die conf)
    http://www.visolve.com/squid/squid24s1/externals.php


    Danach passt alles. :thumb:


    Ich würde es ganz ehrenwert finden, wenn Du das ganze in den Anleitungen verfassen würdest. :thumb:

    Code
    http://forum.qnapclub.de/viewforum.php?f=80


    Grüsse, David.