viernes, 23 de septiembre de 2016

Resolver La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path

Siempre que inicio el servidor tomcat me aparece un mensaje como este:
INFO: La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path:...
Y nunca le dí importancia hasta hoy, por que tengo que utilizarlo en un proyecto bastante amplio que necesita cuidar el performance al máximo, en fin le he dedicado un rato para investigar a que se refiere esta libreria y esto fue lo que encontre:
The Apache Portable Runtime is a highly portable library that is at the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number generation, system status, etc), and native process handling (shared memory, NT pipes and Unix sockets).
These features allows making Tomcat a general purpose webserver, will enable much better integration with other native web technologies, and overall make Java much more viable as a full fledged webserver platform rather than simply a backend focused technology.
Al parecer es una libreria que mejora la integración del servidor con el sistema, y el resultado es que tomcat deja de ser un contenedor de servlets y hace que java sea mucho mas viable para esta técnologia y no solo un lenguaje de back end. Una de las ventajas es que mejora la velocidad del tomcat busque algunos test y afirman que mejora en rendimiento =)… (¬¬ de haber sabido que algo así existía…  tengo que fijarme más en los mensajes del log).

Instalación

Linux
Ahorita tengo kubuntu 11.10 así que vamos a realizar la instalación:
Requisitos:
  • APR 1.2+ development headers (libapr1-dev package)
  • OpenSSL 0.9.7+ development headers (libssl-dev package)
  • JNI headers from Java compatible JDK 1.4+
  • GNU development environment (gcc, make)
Instalar las dependencias (ya tengo instalado el JDK 1.6).
sudo apt-get install gcc fakeroot libssl-dev libapr1 libapr1-dev build-essential
Ahora bajamos el código fuente “tomcat-native-1.1.22-src.tar.gz” desde aquí (yo tome la versión actual que es 1.1.22), lo descomprimes y después hay que compilar e instalar:
wget http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.1.22/source/tomcat-native-1.1.22-src.tar.gz
tar -xvf tomcat-native-1.1.22-src.tar.gz
cd tomcat-native-1.1.22-src/jni/native/
./configure --with-apr="/usr/bin" --with-java-home="/opt/jdk1.6.0_23_x64/" && make && sudo make install
Nota: Cambia la ruta hacia tu JDK
Al final te debe de salir esto:
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apr/lib If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'See operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Ahora incluimos la librería en el sistema (en algunas maquinas se genera de forma automática, si te marca que ya existe te saltas este paso)
sudo ln -s /usr/local/apr/lib/libtcnative-1.so libtcnative-1.so
Falta agregarlo al classpath del tomcat, editas el archivo setenv.sh y agregas la siguiente línea:
export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
Ahora al iniciar el servidor aparecerá algo así:
INFO main org.apache.catalina.core.AprLifecycleListener - Loaded APR based Apache Tomcat Native library 1.1.22.
INFO main org.apache.catalina.core.AprLifecycleListener - APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

Solventar problema de memoria en openkm

Hay que editar el siguiente archivo 
 
root@openkm:/var/www/openkm-6.3.1-community/tomcat/bin# vi setenv.sh
 
 JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx2048m -XX:+UseConcMarkSweepGC -Djava.awt.headless=true"
 
a
 
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx2048m -XX:+UseConcMarkSweepGC -Djava.awt.headless=true"
 

miércoles, 14 de septiembre de 2016

Habilitando la conexión SSH para el usuario root en un servidor y verificar estatus del ssh

  1. Edite el archivo de configuración para SSH con el comando:

    vi /etc/ssh/sshd_config
  2. Ubique la linea que comienza con PermitRootLogin y cambie el valor no por yes
Comprobar el estado del servicio SSH e iniciar el servicio SSH si se detiene:
 sudo service ssh status 
En mi caso SSH se detuvo, pero después de iniciar el servicio:
 sudo service ssh start 

Usar scp con espacios


Para copiar a/desde un destino remoto con el comando scp que contenga espacios, debe usarse comillas y además \.
Ejemplos:
$ scp archivo_local servidor.remoto.com:"/carpeta\ con\ espacios/"
$ scp "archivo con espacios" servidor.remoto.com:"/carpeta\ con\ espacios/"
$ scp archivo\ con\ espacios servidor.remoto.com:"/carpeta\ con\ espacios/"

jueves, 8 de septiembre de 2016

Crear menus facilmente en debian modo gráfico

aptitude install alacarte

Ir a Mostrar las aplicaciones --> Menú principal y ahí agregar el lanzador correspondiente

viernes, 2 de septiembre de 2016

Instalación de Dropbox en un equipo sin periféricos a través de la línea de comandos

Instalación de Dropbox en un equipo sin periféricos a través de la línea de comandos

El demonio de Dropbox funciona bien en todos los servidores Linux de 32 y 64 bits. Para instalarlo, ejecuta el siguiente comando en tu terminal de Linux.
32-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
64-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
A continuación, ejecuta el demonio de Dropbox desde la carpeta .dropbox-dist recién creada.
~/.dropbox-dist/dropboxd

Actualizar kali linux en una instalacion limpia

vi /etc/apt/source.list

deb http://http.kali.org/kali kali-rolling main non-free contrib

apt-get update
apt-get dist-upgrade
reboot