Voy a dejar de poner cosas aqui, porque ... SI
Escribire aqui: http://nonroot.blogspot.com/ o en el mejor blog del mundo: http://nadied.blogspot.com/
Contents |
Links de interes
Script pa trac y subversion, hayq ue mejorarlo pa lo que necesito http://www.pc-cito.com/modules/news/article.php?storyid=58
Ya cree mi propio script, si les sirve esta en: http://dev.red-sena.net/
Información Personal
Nombre:: Fernando Quintero
Email:: fernando . a . quintero @ gmail . com
URL:: http://www.openbsdcolombia.org/ Blog
Temas de interes:
-Servidores (linux, solaris, bsd)
-Seguridad en redes (pen testing, ethical hacking, etc)
-Redes inalambricas (802.11X, 802.16X)
-Instructor con experiencia en cualquier área técnica relacionada con Software libre
-Asesorias, consultorias, etc.
-Pregunte por lo que no vea
Cosas de nonroot
Categorías: CategoryBlogPost |
Odio los blogs por naturaleza, entonces usare este espacio como lo que es, un wiki.
Tratando de montar OpenGrok en OpenSolaris
OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats and version control histories like SCCS, RCS, CVS, Subversion and Mercurial. In other words it lets you grok (profoundly understand) the open source, hence the name OpenGrok. It is written in Java. http://www.opensolaris.org/os/project/opengrok/
Nov 5-2007 De la pagina leo que requiero tener tomcat, ctags, subversion para que todo funcione. Bueno ahi voy. Primero lo que intento es bajar el paquete de opengrok para solaris, haber que pasa. http://www.opensolaris.org/os/project/opengrok/files/OSOLopengrok-0.5.pkg como se dan cuenta el paquete es un datastream, pero se instala igual.
Catalina se encuentra en esta ruta: /usr/apache/tomcat/bin/catalina.sh pero al ejecutarlo no hace nada. no sube ningun servicio, aclaro que el apache2 esta corriendo normal.
# ps -ef | grep tomcat #
paila nada.
Leyendo me dicen que vaya a blastwave por el paquete, pero no quiero romper nada, ya que tomcat esta instalado by default. "Tomcat is packaged by blastwave.org and is working fine under solaris 10." (http://www.opensubscriber.com/message/tomcat-user@jakarta.apache.org/1556370.html)
bueno quite el comentario para que incluyera apache2 al tomcat y renombre el archivo de configuracion server.xml-example a server.xml y listo, al parecer esta corriendo. Lo verifico con un telnet al puerto 8080. Logs de comandos:
359 ps -ef | grep tomcat 360 vi /etc/apache2/httpd.conf 361 cat /etc/apache2/httpd.conf 362 grep tomcat /etc/apache2/httpd.conf 363 cd /etc/apache2 364 ls 365 cd .. 366 cd apache 367 ls 368 svcadm 369 svcadm disable http:apache2 370 svcs apache2 371 ps -fe | grep apache2 372 ps -fe | grep apache 373 netstat -an | grep 8080 374 svcadm enable http:apache2 375 netstat -an | grep 8080 376 svcadm restart apache2
Segun lo que veo el problema es que el solaris 10 con los paquetes de companion 9 y 10 monta los dos apaches.
# netstat -an | grep 8080
*.8080 *.* 0 0 49152 0 LISTEN
*.8080 *.* 0 0 49152 0 LISTEN
# ps -fe | grep apache
root 3216 1 0 18:35:01 ? 0:01 /usr/apache2/bin/httpd -k start
daemon 3220 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3221 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3217 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 2876 621 0 17:50:46 ? 0:00 /usr/apache/bin/httpd
root 621 1 0 nov 02 ? 0:09 /usr/apache/bin/httpd
daemon 3218 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3219 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 2878 621 0 17:50:46 ? 0:00 /usr/apache/bin/httpd
root 3088 1 0 18:22:41 pts/2 0:08 /usr/java/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMa
nobody 2880 621 0 17:50:46 ? 0:00 /usr/apache/bin/httpd
nobody 2879 621 0 17:50:46 ? 0:00 /usr/apache/bin/httpd
nobody 2877 621 0 17:50:46 ? 0:00 /usr/apache/bin/httpd
#El apache normal tiene las cosas para correr con el tomcat, pero el apache2 no. entonces corren los dos, pero el apache normal sube el tomcat y el otro me sirve las webs, despues cuadro eso.
Al instalar el paquete, me instala normal, pero no se como ponerlo a correr, ademas no tengo ni ctags ni subversion corriendo.
# pkgadd -d OSOLopengrok-0.5.pkg
The following packages are available:
1 OSOLopengrok OpenGrok
(generic) 0.5
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all
Processing package instance <OSOLopengrok> from </export/home/luisa/OSOLopengrok-0.5.pkg>
OpenGrok(generic) 0.5
http://www.opensolaris.org/os/project/opengrok/
Using </> as the package base directory.
## Processing package information.
## Processing system information.
1 package pathname is already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
Installing OpenGrok as <OSOLopengrok>
## Installing part 1 of 1.
/opt/OSOLopengrok/lib/ant-tools.jar
/opt/OSOLopengrok/lib/bcel-5.1.jar
/opt/OSOLopengrok/lib/jakarta-oro-2.0.8.jar
/opt/OSOLopengrok/lib/lucene-core-2.1.0.jar
/opt/OSOLopengrok/lib/lucene-spellchecker-2.1.0.jar
/opt/OSOLopengrok/lib/org.apache.commons.jrcs.diff.jar
/opt/OSOLopengrok/lib/org.apache.commons.jrcs.rcs.jar
/opt/OSOLopengrok/lib/svn-javahl.jar
/opt/OSOLopengrok/lib/swing-layout-0.9.jar
/opt/OSOLopengrok/opengrok.jar
/opt/OSOLopengrok/source.war
[ verifying class <none> ]
/usr/local/bin/opengrok <symbolic link>
[ verifying class <local> ]
Installation of <OSOLopengrok> was successful.
#Bueno ya encontre los dos servicios, apache uno es legacy y el otro se administra por SFM.
# ./apache
Usage: ./apache {start|stop|restart}
# ./apache stop
httpd stopping.
# /usr/apache/bin/apachectl stop: httpd stopped
# pgrep apache
# ps -fea | grep apache
root 3216 1 0 18:35:01 ? 0:01 /usr/apache2/bin/httpd -k start
daemon 3220 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3221 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3217 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
root 3310 2956 0 18:49:07 pts/2 0:00 grep apache
daemon 3218 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3219 3216 0 18:35:02 ? 0:00 /usr/apache2/bin/httpd -k start
daemon 3307 3216 0 18:48:52 ? 0:00 /usr/apache2/bin/httpd -k start
# svcadm disable http:apache2
# ps -fea | grep apache
# ps -fea | grep apache
#La cuestion es decidir cual apache correr, por ahora hare pruebas con apache solo, para cargar el tomcat.
La unica razon pa tenr apache y tomcat es si quiero usar el conector, como aun no configuro nada de eso,entonces puedo dejar corriendo solo tomcat para pruebas.
para subirlo:
# /usr/apache/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /var/apache/tomcat
Using CATALINA_HOME: /usr/apache/tomcat
Using CATALINA_TMPDIR: /var/apache/tomcat/temp
Using JRE_HOME: /usr/java
# ps -fea | grep java
root 3439 1 7 18:52:27 pts/2 0:02 /usr/java/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMaDandole al CTAGS probe haber si el ctags esta instalado y al parecer si.
# ctags Usage: ctags [-aBFtuvw] [-f tagsfile] file ... OR: ctags [-x] file ... #
Pasare al subversion En la pagina de www.blastwave.org donde se descarga muchas apps para solaris encuentro una version reciente:
subversion 1.4.5,REV=2007.10.25 Version control rethought
En agosto en sunfreeware.com tambien pusieron el software:
August 16, 2007 subversion-1.4.4 (for Apache 2.2.4, no Solaris 2.5 version)
Como pueden ver dicen que subversion funciona con la version 2.2.4 de apache y no la tengo:
# pwd /usr/apache2/bin # ./apachectl -v Server version: Apache/2.2.3 Server built: Oct 2 2007 00:41:16 #
de todos modos voy a probar a ver que pasa.
***************************
Si estamos usando alguna version reciente de OpenSolaris, el cual se instala con 6 CD's, podremos encontrar mucho software by default ahi disponible.
# pwd /usr/sfw/bin # uname -a SunOS solaris 5.11 snv_75 i86pc i386 i86pc #
Por ejemplo el wget que nos permite bajar el maravilloso pkg-get para luego poder descargar mas software:
# wget http://www.blastwave.org/pkg_get-3.8.1-all-CSW.pkg
--19:20:22-- http://www.blastwave.org/pkg_get-3.8.1-all-CSW.pkg
=> `pkg_get-3.8.1-all-CSW.pkg'
Resolving www.blastwave.org... ^C
# export http_proxy="http://10.0.0.2:3128"
# export ftp_proxy="http://10.0.0.2:3128"
# wget http://www.blastwave.org/pkg_get-3.8.1-all-CSW.pkg
--19:20:38-- http://www.blastwave.org/pkg_get-3.8.1-all-CSW.pkg
=> `pkg_get-3.8.1-all-CSW.pkg'
Connecting to 10.0.0.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 68.608 (67K) [text/plain]
100%[==================================================================================================>] 68.608 86.99K/s
19:20:39 (86.67 KB/s) - `pkg_get-3.8.1-all-CSW.pkg' saved [68608/68608]
#ver: http://www.blastwave.org/pkg-get.php
Ahi explican la configuracion para algun mirror disponible de pkg-get: http://www.blastwave.org/mirrors.php
Despues de bajar los catalogos me dispongo a instalar subversion
Magia, magia, debianitas
# pkg-get -i swig
/opt/csw/bin/pkg-get[1828]: http://mirrors.usc.edu/pub/blastwave/unstable: not found
WARNING: gpg not found
No existing install of CSWswig found. Installing...
Trying http://mirrors.sunsite.dk/csw/unstable/i386/5.11/swig-1.3.21-SunOS5.8-i386-CSW.pkg.gz
--19:26:41-- http://mirrors.sunsite.dk/csw/unstable/i386/5.11/swig-1.3.21-SunOS5.8-i386-CSW.pkg.gz
=> `swig-1.3.21-SunOS5.8-i386-CSW.pkg.gz'
Connecting to 10.0.0.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 494.586 (483K) [text/plain]
75% [=========================================================================> ] 374.232 42.00K/s ETA 00:02Instalando las dependencias del subversion: http://www.sunfreeware.com/subversion.html
Aveces hay que buscar como se llama el paquete, por ejemplo db-4.2.x es:
# pkg-get -i berkeleydb4
/opt/csw/bin/pkg-get[1828]: http://mirrors.usc.edu/pub/blastwave/unstable: not found
WARNING: gpg not found
No existing install of CSWbdb4 found. Installing...
Trying http://mirrors.sunsite.dk/csw/unstable/i386/5.11/berkeleydb4-4.2.52,REV=2005.04.28_rev=p4-SunOS5.8-i386-CSW.pkg.gz
--19:36:22-- http://mirrors.sunsite.dk/csw/unstable/i386/5.11/berkeleydb4-4.2.52,REV=2005.04.28_rev=p4-SunOS5.8-i386-CSW.pkg.gz
=> `berkeleydb4-4.2.52,REV=2005.04.28_rev=p4-SunOS5.8-i386-CSW.pkg.gz'
Connecting to 10.0.0.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 9.319.990 (8.9M) [text/plain]
1% [> ] 169.416 83.39K/seso lo averiguo con el pkg-get -a
Ejecute un
#pkg-get -i subversion
y bajo de todo durante media hora, no se que paso, pero al parecer estoy descargando de la rama inestable y lo que tengo esta en estable, un upgrade, espero que no rompa nada. ahi voy ...
me voy pa la guia de subversion para intentar poner un repositorio de prueba: http://www.wikilearning.com/crear_un_repositorio-wkccp-169-8.htm
# mkdir /repositorio # svnadmin create /repositorio/ # ls /repositorio/ conf dav db format hooks locks README.txt # chown webservd:webservd /repositorio #
Bueno, primero que todo debo poner a trabajar el subversion para visualizar el opengrok
Dandole al subversion
ya esta instalado, ahora para que funcione con el apache le agrego las lineas de LoadModule, pero al intentar subir el servicio saca un error. Con el comando svcs -x apache2 visualizo el error:
[ nov 5 20:30:47 Executing start method ("/lib/svc/method/http-apache2 start") ]
httpd: Syntax error on line 116 of /etc/apache2/httpd.conf: Cannot load /usr/apache2/modules/mod_dav_svn.so into server: ld.so.1: httpd: fatal: /usr/apache2/modules/mod_dav_svn.so: open failed: No such file or directory
[ nov 5 20:30:47 Method "start" exited with status 1 ]Los modulos del subversion no estan en la ruta indicada. Entonces los busco, hago el cambio y recargo
-bash-3.2# find / -name mod_dav_svn.so -print /usr/apache2/libexec/mod_dav_svn.so -bash-3.2#
Listo, agrego eso y sube el servicio:
#Ojo, agregado los modulos para el subversion LoadModule dav_svn_module libexec/mod_dav_svn.so LoadModule authz_svn_module libexec/mod_authz_svn.so
- pruebo...
-bash-3.2# svcadm clear apache2 -bash-3.2# svcadm restart apache2 -bash-3.2# svcs apache2 STATE STIME FMRI online 20:35:00 svc:/network/http:apache2
tratando de montarle el soporte DAV pa subversion me encuentro con que no tengo el htdigest para auth basic, entonces en otra makina.
[root@tanenbaum ~]$ htdigest -c "./user.passwd" DAV-upload admin Adding password for admin in realm DAV-upload. New password: Re-type new password: [root@tanenbaum ~]$ ls -la ./user.passwd -rw-r--r-- 1 root root 50 2007-11-05 20:51 ./user.passwd [root@tanenbaum ~]$ cat ./user.passwd admin:DAV-upload:259133497bb9b2c1853497a466157e79 [root@tanenbaum ~]$
No funciono, ahora kenada funciona me voy pal manual oficial. http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.tour.importing
************** Vuelvo y pruebo , creo un directorio /repositorio luego hago un svnadmin create y luego un import, parece que funciona.
# svn import /test file:///repositorio/test -m "i" Adding /test/hosts Adding /test/hola.txt Committed revision 1. # ls /test hola.txt hosts # pwd /repositorio/test/conf # cd .. # ls conf dav db format hooks locks README.txt #
Ya puedo bajar una copia de trabajo:
# su - nando Sun Microsystems Inc. SunOS 5.11 snv_75 October 2007 -bash-3.2$ mkdir test -bash-3.2$ cd test/ -bash-3.2$ svn checkout file:///repositorio/test/ testing A testing/hosts A testing/hola.txt Checked out revision 1. -bash-3.2$ ls -l testing/ total 4 -rw-r--r-- 1 nando admins 20 nov 5 21:13 hola.txt -rw-r--r-- 1 nando admins 988 nov 5 21:13 hosts -bash-3.2$
con eso queda probado el subversion, falta darle el acceso por web o ssh y listo.
Y de aqui bajamos el cliente para subversion para windows: (si, windows, son coders de .NET) http://tortoisesvn.net/downloads
Corriendo OpenGrok, primero hay que buscar donde quedo el .jar, para luego correrlo con java.
# find / -name opengrok -print /var/apache2/htdocs/opengrok /usr/local/bin/opengrok #
Luego ejecutamos el demonio paraver si funciona.
Me dice que no hay ctags
# java -jar /usr/local/bin/opengrok -s /repositorio/ /var/apache2/htdocs/opengrok Error: No Exuberant Ctags found in PATH! (tried running ctags) Please use option -c to specify path to a good Exuberant Ctags program
Voy a intentar instalar ctags desde las fuentes ./configure ; make ; make install para eso hay que tener los compiladores, headers y binutils montados
Lo que hice despues de compilar fue poner la ruta del nuevo ctags antes
# export PATH=/usr/local/bin:$PATH
Y luego volvi a ejecutar :
java -jar /usr/local/bin/opengrok -s /repositorio/ /var/apache2/htdocs/opengrok
Ahi se generaron unas cosas, pero no era lo ke keria ver
# ls /var/apache2/htdocs/opengrok/ index spellIndex SRC_ROOT tags xref #
Que pasaaaaaaaaa?????????
Uhm ya veo, la apunte al repositorio no a la copia de trabajo, entonces ahora lo ke hago es tirarlo a mi copia de trabajo creada en nando:
# java -jar /usr/local/bin/opengrok -s /export/home/nando/testing/ /var/apache2/htdocs/opengrok
Failed to initialize Subversion library:
java.lang.UnsatisfiedLinkError: no svnjavahl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.tigris.subversion.javahl.NativeResources.loadNativeLibrary(Unknown Source)
at org.tigris.subversion.javahl.SVNClient.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.opensolaris.opengrok.history.HistoryGuru.isSvnAvailable(HistoryGuru.java:68)
at org.opensolaris.opengrok.history.HistoryGuru.guessHistoryParser(HistoryGuru.java:128)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryParser(HistoryGuru.java:176)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryReader(HistoryGuru.java:214)
at org.opensolaris.opengrok.analysis.AnalyzerGuru.getDocument(AnalyzerGuru.java:184)
at org.opensolaris.opengrok.index.Index.indexDown(Index.java:404)
at org.opensolaris.opengrok.index.Index.startIndexing(Index.java:327)
at org.opensolaris.opengrok.index.Index.runIndexer(Index.java:253)
at org.opensolaris.opengrok.index.Indexer.main(Indexer.java:345)Al parecer el error es porke opengrok intenta cargar la libreria de SVN pero no la encuentra... Entonces configuro la variable de la que me hablaban por ahi y ejecuto nuevamente:
# cd /usr/lib/svn/ # ls libsvn_client-1.so libsvn_fs-1.so libsvn_ra-1.so libsvn_swig_py-1.so libsvn_client-1.so.0 libsvn_fs-1.so.0 libsvn_ra-1.so.0 libsvn_swig_py-1.so.0 libsvn_client-1.so.0.0.0 libsvn_fs-1.so.0.0.0 libsvn_ra-1.so.0.0.0 libsvn_swig_py-1.so.0.0.0 libsvn_delta-1.so libsvn_ra_dav-1.so libsvn_repos-1.so libsvn_wc-1.so libsvn_delta-1.so.0 libsvn_ra_dav-1.so.0 libsvn_repos-1.so.0 libsvn_wc-1.so.0 libsvn_delta-1.so.0.0.0 libsvn_ra_dav-1.so.0.0.0 libsvn_repos-1.so.0.0.0 libsvn_wc-1.so.0.0.0 libsvn_diff-1.so libsvn_ra_local-1.so libsvn_subr-1.so libsvnjavahl-1.so libsvn_diff-1.so.0 libsvn_ra_local-1.so.0 libsvn_subr-1.so.0 libsvnjavahl-1.so.0 libsvn_diff-1.so.0.0.0 libsvn_ra_local-1.so.0.0.0 libsvn_subr-1.so.0.0.0 libsvnjavahl-1.so.0.0.0 libsvn_fs_fs-1.so libsvn_ra_svn-1.so libsvn_swig_perl-1.so libsvn_fs_fs-1.so.0 libsvn_ra_svn-1.so.0 libsvn_swig_perl-1.so.0 libsvn_fs_fs-1.so.0.0.0 libsvn_ra_svn-1.so.0.0.0 libsvn_swig_perl-1.so.0.0.0 # export LD_LIBRARY_PATH=/usr/lib/svn/
Y nada................
# rm -rf /var/apache2/htdocs/opengrok/*
# export LD_LIBRARY_PATH=/usr/lib/svn/
# java -jar /usr/local/bin/opengrok -s /export/home/nando/testing/ /var/apache2/htdocs/opengrok
Failed to initialize Subversion library:
java.lang.UnsatisfiedLinkError: no svnjavahl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.tigris.subversion.javahl.NativeResources.loadNativeLibrary(Unknown Source)
at org.tigris.subversion.javahl.SVNClient.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.opensolaris.opengrok.history.HistoryGuru.isSvnAvailable(HistoryGuru.java:68)
at org.opensolaris.opengrok.history.HistoryGuru.guessHistoryParser(HistoryGuru.java:128)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryParser(HistoryGuru.java:176)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryReader(HistoryGuru.java:214)
at org.opensolaris.opengrok.analysis.AnalyzerGuru.getDocument(AnalyzerGuru.java:184)
at org.opensolaris.opengrok.index.Index.indexDown(Index.java:425)
at org.opensolaris.opengrok.index.Index.startIndexing(Index.java:343)
at org.opensolaris.opengrok.index.Index.runIndexer(Index.java:253)
at org.opensolaris.opengrok.index.Indexer.main(Indexer.java:345)Otro intento ...
# find / -name svn -print
/usr/bin/svn
/usr/lib/python2.4/vendor-packages/svn
/usr/lib/svn
/usr/include/svn
/opt/csw/bin/svn
/opt/csw/lib/svn
# export LD_LIBRARY_PATH=/usr/lib/svn/:/opt/csw/lib/svn/:/usr/include/svn:/opt/csw/bin/svn
# java -jar /usr/local/bin/opengrok -s /export/home/nando/testing/ /var/apache2/htdocs/opengrok
# rm -rf /var/apache2/htdocs/opengrok/*
# export LD_LIBRARY_PATH=/usr/lib/svn/:/opt/csw/lib/svn/:/usr/include/svn:/opt/csw/bin/svn
# java -jar /usr/local/bin/opengrok -s /export/home/nando/testing/ /var/apache2/htdocs/opengrok
Failed to initialize Subversion library:
java.lang.UnsatisfiedLinkError: no svnjavahl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.tigris.subversion.javahl.NativeResources.loadNativeLibrary(Unknown Source)
at org.tigris.subversion.javahl.SVNClient.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.opensolaris.opengrok.history.HistoryGuru.isSvnAvailable(HistoryGuru.java:68)
at org.opensolaris.opengrok.history.HistoryGuru.guessHistoryParser(HistoryGuru.java:128)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryParser(HistoryGuru.java:176)
at org.opensolaris.opengrok.history.HistoryGuru.getHistoryReader(HistoryGuru.java:214)
at org.opensolaris.opengrok.analysis.AnalyzerGuru.getDocument(AnalyzerGuru.java:184)
at org.opensolaris.opengrok.index.Index.indexDown(Index.java:425)
at org.opensolaris.opengrok.index.Index.startIndexing(Index.java:343)
at org.opensolaris.opengrok.index.Index.runIndexer(Index.java:253)
at org.opensolaris.opengrok.index.Indexer.main(Indexer.java:345)Y nadaaaaaaaaaaaaaaaaaaaa
Bueno, encontre lo que queria, estan aqui:
/opt/OSOLopengrok
Era mas fácil investigar donde se almacenaba el paquete que instale. vuelve y juega.
Bueno, no funciona y no funciono, lo ke hize fue pasar al punto dos de montar el source.war al tomcat y listo, al parecer me funciono, sin embargo quedo con la duda de organizar lo de la libreria.
Para el tomcat tuve que modificar el archivo de usuarios para agregar un usuario con el role de admin, con ese usuario pude entrar a la parte administrativa.
Y tambien para que pudiera funcionar el opengrok tuve que modificar el web.xml para que apuntara a los archivos fuentes y al DATA_ROOT.
seguire...
NOV 6 / 2007
Para lograr que el subversion se pueda acceder por web, lo que hacemos es cargar los modulos de subversion en el apache (httpd.conf)
#Agregando la ruta para subversion <Location /svn> DAV svn SVNPath /repositorio/test </Location>
De esa forma podemos acceder al repositorio navegando a: http://server/svn
Para crearle seguridad al apache, usamos la herramienta htpasswd
-bash-3.2# find / -name htpasswd -print /usr/apache/bin/htpasswd /usr/apache2/bin/htpasswd -bash-3.2#
Funciono el acceso seguro por WEB, el svn desde consola me pide una clave para auth basic.
Pero otra forma de autenticarse es usando ssh asi>
svn svn+ssh://server/repositorio
/home/nando/svn sh-3.1$ svn checkout svn+ssh://10.0.0.5/repositorio/test Password:
Faltaria definir quien tiene acceso a que parte y crear varios repositorios pro proyectos.
NOV 23 DE 2007
Volvi y retome el tema, en el foro me regañaron con el asunto de las librerias:
http://www.opensolaris.org/jive/thread.jspa?threadID=43989&tstart=0
No se si ya funciona, pero no saco errores...
# ./opengrok.jar -c /usr/local/bin/ctags -s /export/home/nando/test/ /var/apache2/htdocs/opengrok/ # env LC_MONETARY=es_CO.ISO8859-1 SHELL=/bin/bash TERM=xterm SSH_CLIENT=10.0.0.4 56490 22 LC_NUMERIC=es_CO.ISO8859-1 OLDPWD=/var/apache/tomcat/webapps/source SSH_TTY=/dev/pts/4 USER=nando LD_LIBRARY_PATH=/opt/csw/lib/svn PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/sfw/bin:/opt/csw/bin MAIL=/var/mail/nando LC_MESSAGES=es LC_COLLATE=es_CO.ISO8859-1 PWD=/opt/OSOLopengrok LANG=es_CO.UTF-8 TZ=America/Bogota PS1=# HOME=/export/home/nando SHLVL=2 LOGNAME=nando LC_CTYPE=es_CO.ISO8859-1 SSH_CONNECTION=10.0.0.4 56490 10.0.0.5 22 LC_TIME=es_CO.ISO8859-1 _=/usr/bin/env #
Opengrok montado y funcionando,
[TEMA CERRADO OPENGROK - OK]
Jugando con las zonas en Solaris
Bueno, para practicar en los cursos de solaris que oriento en el sena requiero crear zonas para que los aprendices del SENA practiquen libremente. Aqui algo de las experiencias>
CReacion de zona basica, con directorios compartidos>
-bash-3.2# zonecfg -z test
test: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:test> create
zonecfg:test> set autoboot=true
zonecfg:test> set zonepath=/zonas/test
zonecfg:test> add net
zonecfg:test:net> set address=10.0.0.1
zonecfg:test:net> set physical=pcn1
zonecfg:test:net> end
zonecfg:test> info
zonename: test
zonepath: /zonas/test
brand: native
autoboot: true
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
inherit-pkg-dir:
dir: /lib
inherit-pkg-dir:
dir: /platform
inherit-pkg-dir:
dir: /sbin
inherit-pkg-dir:
dir: /usr
net:
address: 10.0.0.1
physical: pcn1
zonecfg:test> verify
zonecfg:test> commit
zonecfg:test> exitDOc> es.opensolaris.org/files/zonas.pdf Por ahora no voy a trabajar mas con zonas. tema cerrado
[TEMA CERRADO ZONAS - OK]
Montando VIEWVC para Subversion
Como el opengrok esta parado hasta que algun desarrollador me ayude, intentare montar el viewvc con el repositorio de subversion.
En la instalacion me piden que instale http://www.codento.com/people/mtr/genscript/ como requerimiento. Lo bajo, descomprimo, extraigo los contenidos y compilo de manera tradicional> ./configure ; make ; make install
Ahora me habla de otro soft.
Highlight, code colorizer, 2.2.10 or later required, 2.4.5 or
later recommended for reliable line numbering
(http://www.andre-simon.de/)Al intentar instalarlo recibo un error.
-bash-3.2# make
make -C ./src -f ./makefile HL_DATA_DIR=/usr/share/highlight/ HL_CONFIG_DIR=/usr/etc/highlight/
Usage : make [ -f makefile ][ -K statefile ]... [ -d ][ -dd ][ -D ][ -DD ] [ -e ][ -i ][ -k ][ -n ][ -p ][ -P ][ -q ][ -r ][ -s ][ -S ][ -t ]
[ -u ][ -w ][ -V ][ target... ][ macro=value... ][ "macro +=value"... ]
make: Fatal error: Unknown option `-C'
*** Error code 1
make: Fatal error: Command failed for target `all'Se me ocurre buscar otro make {{{-bash-3.2# find / -name make -print /usr/bin/make /usr/ccs/bin/make /usr/share/lib/make /usr/xpg4/bin/make /usr/gnu/bin/make }}}
Con gnu/make funciona bien:
-bash-3.2# /usr/gnu/bin/make /usr/gnu/bin/make -C ./src -f ./makefile HL_DATA_DIR=/usr/share/highlight/ HL_CONFIG_DIR=/usr/etc/highlight/ make[1]: Entering directory `/viewvc-1.0.4/highlight-2.6.5/src' c++ -O2 -c configurationreader.cpp c++ -O2 -c stylecolour.cpp c++ -O2 -c stringtools.cpp c++ -O2 -c xhtmlgenerator.cpp c++ -O2 -c latexgenerator.cpp c++ -O2 -c texgenerator.cpp c++ -O2 -c rtfgenerator.cpp c++ -O2 -c htmlgenerator.cpp c++ -O2 -c ansigenerator.cpp c++ -O2 -c xmlgenerator.cpp ...
Cuando intento hacer el make install sale un error>
install: -m644 was not found anywhere! make: *** [install] Error 2
Seguire e intentare instalar el resto puesto que no es un rekisito indispensable tener este paquete. Seguimos con este:
CvsGraph 1.5.0 or later, graphical CVS revision tree generator
(http://www.akhphd.au.dk/~bertho/cvsgraph/)Cuando intento compilar, tengo el siguiente problema:
** The GD library is required for CvsGraph to function. Get it from http://www.boutell.com, compile it and use either --with-gd-lib=DIR and --with-gd-inc=DIR to specify its location. You might also have to use --with-z-inc, --with-z-lib
el configure sale bien. Pero el make saca un error
Makefile.am:18: Makefile.am:18: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL' Makefile.am:18: to `configure.ac' and run `aclocal' and `autoconf' again. make: *** [Makefile.in] Error 1
-bash-3.2# nano configure.ac -bash-3.2# aclocal-1. aclocal-1.10 aclocal-1.9 -bash-3.2# aclocal-1. aclocal-1.10 aclocal-1.9 -bash-3.2# aclocal-1.10 /usr/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE /usr/share/aclocal/audiofile.m4:12: run info '(automake)Extending aclocal' /usr/share/aclocal/audiofile.m4:12: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal configure.ac:65: warning: macro `AM_ICONV' not found in library -bash-3.2# autoconf
sigue el error, continuo despues.
nov 25. 2007
Ya monte el TRAC + OpenGrok, no creo que necesite el viewvc, excepto por el viewcgraph o algo similar, pero creo que existen plugines para el TRAC, entonces abandono el tema de viewVC.
[TEMA CERRADO VIEWVC - FAILED]
Creando un subversion para varios proyectos con multiples usuarios
Noviembre 23 de 2007 - 11:00PM
Bueno, por fin el opengrok funcionó. ahora sigue el trabajo con los posibles proyectos para los aprendices de analisis y desarrollo.
La sintaxis para el commit inicial o el import que llaman, es la siguiente., para este ejemplo nandux2 es el repositorio y la ruta en el home es donde se encuentran los archivos que quiero incorporar.
-bash-3.2$ svnadmin create nandux2 -bash-3.2$ svn import nandux2 file:///export/home/nando/svn/ -m "inicio" Adding nandux2/hooks Adding nandux2/hooks/pre-revprop-change.tmpl Adding nandux2/hooks/post-commit.tmpl Adding nandux2/hooks/post-lock.tmpl Adding nandux2/hooks/pre-commit.tmpl Adding nandux2/hooks/pre-lock.tmpl Adding nandux2/hooks/post-unlock.tmpl Adding nandux2/hooks/pre-unlock.tmpl Adding nandux2/hooks/start-commit.tmpl Adding nandux2/hooks/post-revprop-change.tmpl Adding nandux2/conf Adding nandux2/conf/svnserve.conf Adding nandux2/conf/passwd Adding nandux2/conf/authz Adding nandux2/db Adding nandux2/db/revs Adding nandux2/db/revs/0 Adding nandux2/db/revprops Adding nandux2/db/revprops/0 Adding nandux2/db/write-lock Adding nandux2/db/current Adding nandux2/db/uuid Adding nandux2/db/fs-type Adding nandux2/db/transactions Adding nandux2/db/format Adding nandux2/format Adding nandux2/dav Adding nandux2/locks Adding nandux2/locks/db.lock Adding nandux2/locks/db-logs.lock Adding nandux2/README.txt Committed revision 2. -bash-3.2$
-bash-3.2$ svn import file:///export/home/nando/prueba file:///proyecto/prueba/ -m "tales"~ svn: 'file:///export/home/nando/prueba' does not exist -bash-3.2$ svn import /export/home/nando/prueba file:///proyecto/prueba/ -m "tales"~ Adding /export/home/nando/prueba/ipf.conf Adding /export/home/nando/prueba/prueba2.doc Adding /export/home/nando/prueba/svn-commit.tmp Adding /export/home/nando/prueba/prueba.txt Committed revision 1. -bash-3.2$ svn import [RUTA A LOS ARCHIVOS QUE QUIERO IMPORTAR] [URL, FILE O LO QUE SEA DONDE ESTA EL REPOSITORIO]
Hay que averiguar lo de los permisos y como automatizar el checkout del cliente y el opengrok desde ese lugar.
sigue ...
Montando TRAC en OpenSolaris
Nov 24. de 2007 11:38PM
Tratando de montar TRAC en solaris, primero que todo bajemos el codigo que esta en el repositorio:
pkg-get -i trac
Para usar trac necesito python, swig, sqlite, pysqlite, clearsilver, subversion y sus correspondientes dependencias, con el comando ejecutado se asume que las dependencias bajaron.
Ubicamos donde queda instalado el trac
-bash-3.2# cd /opt/csw/ -bash-3.2# find . -name trac -print ./share/doc/trac ./share/trac ./lib/python/site-packages/trac -bash-3.2# cd share/trac/ -bash-3.2# ls cgi-bin htdocs templates wiki-macros conf plugins wiki-default -bash-3.2# cd templates/ -bash-3.2# pwd /opt/csw/share/trac/templates -bash-3.2# ls about.cs log_rss.cs roadmap.cs anydiff.cs log.cs search.cs attachment.cs macros.cs settings.cs browser.cs milestone.cs ticket_notify_email.cs changeset.cs newticket.cs ticket_rss.cs error.cs query_rss.cs ticket.cs footer.cs query.cs timeline_rss.cs header.cs README timeline.cs index.cs report_rss.cs wiki.cs log_changelog.cs report.cs -bash-3.2#
Bueno, pense que iba a ser mas complicado.
solo tome un repositorio de prueba, para crear la info de trac debe haber un directorio vacio y luego responder a 4 o 5 preguntas que nos hace el sistema.
-bash-3.2# trac-admin /export/home/nando/trac initenv Creating a new Trac environment at /export/home/nando/trac
Despues subimos el demonio trac (tracd) para probarlo, se debe tener en cuenta que por defecto el tracd carga en el localhost, como estoy conectado al servidor remotamente entonces le paso un parametro para indicarle sobre cual interfaz debe correr.
-bash-3.2# tracd --hostname=10.0.0.5 --port 8000 /export/home/nando/trac
Luego navego al sitio : 10.0.0.5:8000/trac y listo
***************************************************************
Ahora sigue montarlo como server web permanente.
Leyendo la documentación en wiki del trac, veo que maneja plugines, entonces hago la prueba, para lo que primero requiero montar:
-bash-3.2# python2.4 ez_setup.py Downloading http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c7-py2.4.egg Processing setuptools-0.6c7-py2.4.egg creating /usr/lib/python2.4/site-packages/setuptools-0.6c7-py2.4.egg Extracting setuptools-0.6c7-py2.4.egg to /usr/lib/python2.4/site-packages Adding setuptools 0.6c7 to easy-install.pth file Installing easy_install script to /usr/bin Installing easy_install-2.4 script to /usr/bin Installed /usr/lib/python2.4/site-packages/setuptools-0.6c7-py2.4.egg Processing dependencies for setuptools==0.6c7 Finished processing dependencies for setuptools==0.6c7 -bash-3.2#
Con setuptools montado ya puedo bajar los plugines.
Hago la prueba con un plugin para configurar el trac por web:
-bash-3.2# wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1.2dev_r4240-py2.4.egg.zip?format=raw
Lo renombro y lo instalo
-bash-3.2# mv Tracadmin.egg.zip Tracadmin.egg -bash-3.2# easy_install Tracadmin.egg Processing Tracadmin.egg creating /usr/lib/python2.4/site-packages/Tracadmin.egg Extracting Tracadmin.egg to /usr/lib/python2.4/site-packages Adding Tracadmin 0.1.2dev-r4240 to easy-install.pth file Installed /usr/lib/python2.4/site-packages/Tracadmin.egg Processing dependencies for Tracadmin==0.1.2dev-r4240 Finished processing dependencies for Tracadmin==0.1.2dev-r4240 -bash-3.2#
mas info en: /trac/wiki/TracPlugins
Luego adicione el nuevo plugin a la conf
[components] webadmin.* = enabled
Y lo ensayaré ahorita.
Continuo con el montaje del servidor web TRAC para multiples repositorios SVN
Bajo el mod_python desde las fuentes.
-bash-3.2# wget http://ftp.wayne.edu/apache/httpd/modpython/mod_python-3.3.1.tgz
--00:44:32-- http://ftp.wayne.edu/apache/httpd/modpython/mod_python-3.3.1.tgz
=> `mod_python-3.3.1.tgz'/apache/httpd/modpython/mod_python-3.3.1.tgz~
Connecting to 10.0.0.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 447.954 (437K) [application/x-tar]
100%[==================================================================================================>] 447.954 47.19K/s ETA 00:00
00:44:42 (47.15 KB/s) - `mod_python-3.3.1.tgz' saved [447954/447954]
-bash-3.2#Al parecer es mas dificil desde las fuentes, pero por error encuentro el nombre del paquete en el repositorio:
-bash-3.2# pkg-get install ap2_modpython
/opt/csw/bin/pkg-get[1828]: http://mirrors.usc.edu/pub/blastwave/unstable: not found
No existing install of CSWap2modpython found. Installing...
Trying http://mirrors.sunsite.dk/csw/unstable/i386/5.11/ap2_modpython-3.3.1,REV=2007.10.25-SunOS5.8-i386-CSW.pkg.gz
--00:49:22-- http://mirrors.sunsite.dk/csw/unstable/i386/5.11/ap2_modpython-3.3.1,REV=2007.10.25-SunOS5.8-i386-CSW.pkg.gz
=> `ap2_modpython-3.3.1,REV=2007.10.25-SunOS5.8-i386-CSW.pkg.gz'
Connecting to 10.0.0.2:3128... connected.
Proxy request sent, awaiting response... 200 OKAl finalizar nos muestra lo siguiente:
[activating module `python' in /opt/csw/apache2/etc/httpd.conf] NOTICE: mod_python is enabled in httpd.conf but the server was not restarted. Please configure mod_python and restart apache.
osea que el modulo de python queda activo por defecto en el server apache2.
Pero el problema es que lo hace en el apache del repositorio :s, ese es el problema de mezclar cosas
-bash-3.2# grep mod_python /etc/apache2/httpd.conf -bash-3.2# grep python /opt/csw/apache2/etc/httpd.conf LoadModule python_module libexec/mod_python.so -bash-3.2#
supongo que funcionara tambien con el otro.
Bueno, tampoco se habia copiado el modulo al libexec de los modulos del apache. entonces:
#cp /opt/csw/apache2/libexec/mod_python.so /usr/apache2/libexec/mod_python.so #svcadm restart http:apache2 #./apachectl -t -D DUMP_MODULES Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) authn_file_module (shared) authn_dbm_module (shared) authn_anon_module (shared) authn_dbd_module (shared) authn_default_module ... python_module (shared) Syntax OK
Ahi tenemos nuestro modulo de python cargado. seguimos ... mas info en: http://XXX/trac/wiki/TracModPython
Cuando por fin logro cuadrar las 4 versiones de apache que tengo, hago la prueba con el modulo python y funciona.
FUNCIONA!
Lo unico que agrego es un locate y le doy permisos al directorio trac para que el usuario que corre el servidor apache pueda leer y hacer cambios.
-bash-3.2# chown -R nobody:nobody /export/home/nando/trac/
y agrego el codigo
<Location /proyecto/prueba> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv /export/home/nando/trac PythonOption TracUriRoot /proyecto/prueba </Location>
Luego recargo el servicio:
-bash-3.2# svcadm restart svc:/network/http:cswapache2
y listo, navego a: http://XXX/proyecto/prueba
***************************************************
Ahora lo que quiero es poder tener varios repositorios SVN bajo /proyecto/X y que los pueda acceder por trac y por opengrok. Lo de opengrok es mas complex, pero ahi vamos.
La configuracion para varios proyectos es facil, solo hay que apuntar a donde se encuentren todos los ambientes trac y nos saldra un enlace para cada uno de los proyectos que queremos. Hay que recordar que cada directorio debe tener permisos de escritura para el usuario que corre el servidor web.
-bash-3.2# pwd /opt/csw/apache2/etc -bash-3.2# cat extra/httpd-trac.conf <Location /proyecto> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /export/home/nando PythonOption TracUriRoot /proyecto </Location> -bash-3.2#
Estoy asumiento que los ambientes trac estan en /export/home/nando
Nov 25, 2007
El trac ya funciona para uno y para varios proyectos, lo que sigue es trabajar con algunos plugines, automatizar la cracion de proyectos, tratar de ponerlo en español para los aprendices y listo. Por ahora se cierra el tema.
[TEMA CERRADO TRAC - OK]
Estadisticas para el SubVersion (statsvn)
Nov 28, 2007
Descargo el software
#wget http://superb-west.dl.sourceforge.net/sourceforge/statsvn/statsvn-0.3.1-source.zip
Lo descomprimo y lo trato de ejecutar segun el statsvn
# java -jar ./lib/statcvs-0.3.1-dev.jar ./logfile.log ./scripts/trunk/generator/ StatCVS - CVS statistics generation Logfile parsing failed. Expected '?' or empty line at line 1, but found '<?xml version="1.0"?>' #
Grave, no funciona, como casi siempre. seguire despues.
-- nonroot 2007-11-05 18:13:20
