# [TIP] YACY installieren

## slick

 :Exclamation:  Diese Anleitung ist nicht mehr up-to-date. Bitte hier weiterlesen

Dieses Post beschreibt wie Du YACY auf Deinem Gentoo-Rechner zum laufen bekommst. YACY ist via P2P verteilte Suchmaschine und basiert auf Java (die Homepage erklärt das besser). Bisher konnte ich kein ebuild dazu finden, daher beschreibe ich die händische Variante.

 :Idea:  english user? go here

Für diese Anleitung setze ich das Vorhandensein folgender Pakete vorraus:

dev-java/sun-jdk oder dev-java/blackdown-jdk

app-admin/sudo

Ich gehe davon aus Du willst YACY nach /opt installieren. Auch benötigen wir einen Benutzer unter dessem Account YACY läuft.

Den Download findest Du auf http://www.yacy.net/yacy/Download.html . Momentan aktuell ist yacy_v0.37_20050502.tar.gz

Wir besorgen uns das File und entpacken es nach /opt/yacy

```
cd /opt

wget http://yacy.net/yacy/release/yacy_v0.37_20050502.tar.gz

tar -xzvpf yacy_v0.37_20050502.tar.gz

mv yacy_v0.37_20050502 yacy

rm yacy_v0.37_20050502.tar.gz
```

Wir legen einen Nutzer yacy an und passen die Rechten an

```
useradd -d /opt/yacy yacy

chown -R yacy /opt/yacy
```

Wir legen das Init-Script an:

/etc/init.d/yacy

```
#!/sbin/runscript

YACY_HOME=/opt/yacy

YACY_USER=yacy

depend() {

   need net

}

cd $YACY_HOME

LINE="-classpath classes:lib/commons-collections.jar:lib/commons-pool-1.2.jar:libx/PDFBox-0.7.1.jar:libx/log4j-1.2.9.jar:libx/tm-extractors-0.4.jar"

start() {

   ebegin "Starting yacy"

   # without logging in file

   sudo -u ${YACY_USER} nohup java ${LINE} yacy &> /dev/null &

   # with logging in file (debugging)

   # sudo -u ${YACY_USER} nohup java ${LINE} yacy &> yacy.log &

   eend $return

}

stop() {

   ebegin "Shutting down yacy"

   sudo -u ${YACY_USER} nohup java ${LINE} yacy -shutdown &> /dev/null

   max=`grep "^maxWaitingWordFlush=" DATA/SETTINGS/httpProxy.conf | cut -d "=" -f 2`

   wait=`expr \( ${max} + 1 \) / 2`

   einfo "Info: maxWaitingWordFlush=`grep "^maxWaitingWordFlush=" DATA/SETTINGS/httpProxy.conf | cut -d "=" -f 2`"

   einfon "Waiting ."

   cnt=0

   while ( ps aux | grep -v "grep" | grep -- "${LINE}" &> /dev/null )

   do

      cnt=`expr $cnt + 1`

      if [ $cnt -gt ${wait} ]

      then

                  eend 1 "Failed."

                  break

      fi

      sleep 2

      echo -n "."

   done

   echo "done."

   eend $?

}
```

Sicher, das Initscript ist nicht perfekt, wer ein besseres hat bitte posten.

Nach dem Starten des Init-Scriptes lauscht YACY standardmäßig auf Port 8080. Um ein sogenannter "Senior" zu werden muß der Port von außen erreichbar sein. Hierbei nicht vergessen ein Passwort zu vergeben. Weitere Details siehe Homepage.Last edited by slick on Sun Apr 30, 2006 12:34 pm; edited 1 time in total

----------

## moe

Klingt erstmal ganz interessant, habs auch mal installiert, aber noch sinds zuwenig Benutzer um wirklich sinnvolle Ergebnisse zu bekommen. Aber ich werd erstmal über den Proxy surfen, und die Datenbank weiter füllen.

Aber (es mag an persönlichen Antipathien liegen) ich halte Java nicht für die optimalste Sprache für so ein Projekt, und mit der Zeit wird wohl zwangsläufig auch die YACY-DB mit Werbeseiten zugemüllt sein, da sollte noch irgendetwas getan werden..

Gruss Maurice

----------

## slick

 *moe wrote:*   

> Klingt erstmal ganz interessant, habs auch mal installiert, aber noch sinds zuwenig Benutzer um wirklich sinnvolle Ergebnisse zu bekommen. Aber ich werd erstmal über den Proxy surfen, und die Datenbank weiter füllen.

 

Genauso so sehe ich das auch, deswegen unterstütze ich das. Ob Java optimal ist wird sich mit steigender Größe des Projektes zeigen.

----------

## slick

Initscript für YACY 3.8: https://forums.gentoo.org/viewtopic-p-2466079.html#2466079

EDIT: neuere Versionen siehe YACY-Forum

----------

## slick

 :Exclamation:  Das ebuild zu YaCy ist jetzt im Overlay von Gentoo.de, net-misc/yacy, bisher ~x86

Da es mein erstes ebuild ist wollte ich mal um Kritik bitten, damit ich beim Erstellen des Ebuilds für die neue Version (von heute Nacht) evt. gleich Fehler ausmerzen kann.

----------

