h1

PHP: solucionar «Call to undefined function curl_init()»

21/02/2012

Actualización de octubre de 2026: la solución original menciona php5-curl, un nombre de paquete de versiones antiguas. En Debian/Ubuntu actuales, la extensión suele distribuirse como php-curl o un paquete específico de la versión instalada. Comprueba primero qué PHP ejecuta la aplicación y si la extensión está cargada, ya que el PHP de la línea de comandos puede diferir del utilizado por el servidor web.

Tras instalar la extensión adecuada, reinicia o recarga el servicio PHP que corresponda; no copies literalmente instrucciones dirigidas a PHP 5.

Relacionado: opciones de PHP en Joomla.


Si se produce el siguiente error en PHP:

Notice: Use of undefined constant add_css - assumed 'add_css' in /var/www/joomlatest/plugins/content/sexybookmarks.php on line 49 Fatal error: Call to undefined function curl_init() in /var/www/joomlatest/plugins/content/sexybookmarks.php on line 400

Es necesario instalar el soporte de «curl» en PHP:
$ sudo apt-get install php5-curl

h1

PHP y Joomla: configurar output_buffering y sus limitaciones

19/02/2012

Actualización (2026): la directiva php_value en .htaccess solo es aplicable en ciertas configuraciones de Apache/PHP; puede fallar con PHP-FPM u otros modos y generar un error 500. Antes de cambiarla, identifica la versión de PHP y su modo de ejecución. No desactives el buffering de salida sin una necesidad concreta y comprobaciones de funcionamiento.


Para desactivar «búferes de salida» («output buffers) en PHP para Joomla es necesario

1º) Crear o editar el fichero «.htaccess» en la raíz de Joomla.

2º) Añadir la siguiente línea:
php_value output_buffering "0"

Otros artículos relacionados: Recarga de Apache · Errores 403 de Joomla

h1

How to enable SSL in amuleweb via Apache reverse proxy

18/02/2012

For accessing through a cyphered connection like SSL to the web interface «amuleweb» of aMule, it is necesary to install a webserver like Apache2, which will act like a reverse proxy. It is needed to complete these steps:

1º) Install Apache

sudo apt-get install apache2

2º) Install the http proxy module of Apache2:

sudo apt-get install libapache2-mod-proxy-html

3º) Enable proxy modules:

sudo a2enmod proxy
sudo a2enmod proxy_http

 

4º) Add these 2 lines for amule configuration in the SSL default site of Apache2:

sudo nano /etc/apache2/sites-enabled/default-ssl

(...)
ServerAdmin webmaster@localhost

ProxyPass /amule/ http://172.26.0.5:4711/
ProxyPass /amule/ http://172.26.0.5:4711/

DocumentRoot /var/www
(...)

5º) Restart Apache2
/etc/init.d/apache2 restart

6º) Browse this address:
https://CHANGE_THIS_FOR_THE_LOCAL_IP_OF_YOUR_SERVER:443/amule/

Remember than for any trouble you can check /var/log/apache2/error.log

h1

monit: Error opening the idfile ‘/var/lib/monit/id’ — No such file or directory

17/02/2012

Si al ejecutar Monit 5.3.2 ocurre el siguiente error:

root@shirley:~# monit
monit: Error opening the idfile '/var/lib/monit/id' -- No such file or directory
Starting monit daemon with http interface at [*:4000]
Monit start delay set -- pause for 120s

Es necesario crear el path que indica:
root@shirley:~# mkdir /var/lib/monit

de modo que al arrancarlo creará la huella de la sesión:
root@shirley:~# monit
monit: generated unique Monit id 61cd39f959ea5fd0ea34b587ab836517 and stored to '/var/lib/monit/id'
Starting monit daemon with http interface at [*:4000]
Monit start delay set -- pause for 120s
root@shirley:~# ps axu | grep monit
root 26000 0.0 0.0 33984 744 ? S 21:11 0:00 monit
root 26002 0.0 0.0 7688 824 pts/1 S+ 21:11 0:00 grep --color=auto monit

y funcionará correctamente. Además, en algunas ocasiones es necesario corregir el path incluido del binario en /etc/init.d/monit

h1

Comprobar si una máquina Linux puede ejecutar máquinas virtuales

14/02/2012

Si se desea comprobar si en un host Linux se pueden ejecutar máquinas virtuales, es necesario correr el siguiente comando:

$ egrep '(vmx|svm)' /proc/cpuinfo

Si devuelve «svm» (Intel) ó «vmx» (AMD), la máquina puede ejecutar máquinas virtuales. Si no, es necesario activar, si el hardware lo permite, la opción en la BIOS.

Fuente: Webupd8

h1

dpkg: reparar un paquete parcialmente instalado sin editar status directamente

11/02/2012

Advertencia de seguridad y mantenimiento (octubre de 2026). La solución histórica que aparece más abajo propone editar directamente /var/lib/dpkg/status. No se recomienda utilizarla como procedimiento habitual: puede hacer que la base de datos declare instalado un paquete cuyo proceso de configuración falló realmente.

Comprobaciones previas

Inspecciona el estado con sudo dpkg --audit, revisa el mensaje del script de instalación y comprueba los servicios implicados. Según el problema real, pueden resultar apropiados sudo dpkg --configure -a o sudo apt --fix-broken install, después de leer qué cambios propone cada comando. Haz copia de los datos importantes y de la configuración antes de intervenir. Conservamos el ejemplo de VirtualBox 4.1 únicamente como caso histórico.

Relacionado: dependencias incumplidas con apt/dpkg y errores del controlador VirtualBox.


Si al instalar un paquete se queda registrado como parcialmente instalado o mal instalado, o ha fallado una parte de su instalador, pero realmente se ha instalado correctamente, como puede ser este caso:

root@shirley:/var/cache/apt/archives# dpkg -i virtualbox-4.1_4.1.8-75467~Ubuntu~lucid_amd64.deb
(Leyendo la base de datos ... 00%
126367 ficheros y directorios instalados actualmente.)
Preparando para reemplazar virtualbox-4.1 4.1.8-75467~Ubuntu~lucid (usando virtualbox-4.1_4.1.8-75467~Ubuntu~lucid_amd64.deb) ...
* Stopping VirtualBox kernel modules [ OK ]
Desempaquetando el reemplazo de virtualbox-4.1 ...
Configurando virtualbox-4.1 (4.1.8-75467~Ubuntu~lucid) ...
addgroup: El grupo `vboxusers' ya existe como grupo del sistema. Saliendo.
* Stopping VirtualBox kernel modules [ OK ]
* Uninstalling old VirtualBox DKMS kernel modules [ OK ]
* Trying to register the VirtualBox kernel modules using DKMS
[ OK ]
* Starting VirtualBox kernel modules [ OK ]
* Starting VirtualBox web service
*
invoke-rc.d: initscript vboxweb-service, action "start" failed.
dpkg: error al procesar virtualbox-4.1 (--install):
el subproceso instalado el script post-installation devolvió el código de salida de error 1

Procesando disparadores para ureadahead ...
Procesando disparadores para shared-mime-info ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Unknown media type in type 'fonts/package'
Unknown media type in type 'interface/x-winamp-skin'
Procesando disparadores para hicolor-icon-theme ...
Procesando disparadores para python-central ...
Se encontraron errores al procesar:
virtualbox-4.1

root@shirley:/var/cache/apt/archives#

Se puede corregir especificando en la base de datos el estado del paquete:
$ sudo nano /var/lib/dpkg/status
Package: virtualbox-4.1
Status: install ok half installed

h1

VirtualBox: errores y dependencias al compilar desde código fuente

10/02/2012

Revisión (octubre de 2026): estos errores se documentaron compilando una versión SVN antigua de VirtualBox. Los paquetes indicados —incluidos libIDL, libSDL1.2 y otros componentes antiguos— pueden no existir o no ser apropiados para una versión actual.

Antes de instalar paquetes al azar, utiliza el código fuente y la documentación de compilación correspondientes a la misma versión de VirtualBox. Revisa configure.log y el primer error concreto. Evita compilar software antiguo sin valorar compatibilidad y actualizaciones de seguridad.

Relacionado: error vboxdrv de VirtualBox.


Si al compilar la versión SVN de Virtualbox,

carlos@shirley:~/tmp/VBsvn/vbox$ ./configure --disable-hardening

se producen los siguientes errores:

Checking for as86:
** as86 (variable AS86) not found!

Checking for bcc:
** bcc (variable BCC) not found!

Checking for libIDL:
** libIDL-config (variable libIDL-config) not found!

Checking for libcurl:
libcurl not found at -lcurl or libcurl headers not found

Checking for xslt:
** xsltproc (variable XSLTPROC) not found!

Checking for mkisofs:
** mkisofs (variable MKISOFS) not found!

Checking for libIDL:
** libIDL-config (variable libIDL-config) not found!

Checking for xslt:
** xsltproc (variable XSLTPROC) not found!

Checking for Xmu:
Xmu not found at -L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib -lXext -lX11 -lXmu -I/usr/local/include or Xmu headers not found

Checking for libcap library:
libcap not found at -lcap or libcap headers not found

Checking for makeself:
** makeself (variable makeself) not found!

Se solucionan instalando los siguientes paquetes:
sudo apt-get install bin86 bcc xsltproc mkisofs libidl-dev libcurl4-gnutls-dev makeself libcap-dev libsdl1.2-dev libidl-dev mkisofs xsltproc iasl

Mientras, el siguiente error de «pam_appl.h:»,
home/carlos/tmp/VBsvn/vbox/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c:79:31: fatal error: security/pam_appl.h: No such file
or dire ctory compilation terminated.
kmk: *** [/home/carlos/tmp/VBsvn/vbox/out/linux.amd64/release/obj/VBoxAuth/pam/VBoxAuthPAM.o] Error 1

Se soluciona con:
apt-get install libpam0g-dev

h1

Kissdx: error «buffer overflow detected» al iniciar el servidor

14/01/2012

Revisión técnica (octubre de 2026): El aviso de desbordamiento puede indicar un fallo serio de memoria en el ejecutable. No desactives protecciones del compilador ni reduzcas controles de seguridad para evitarlo. Este caso procede de una versión de Kissdx antigua; revisa la configuración y considera sustituirla por software mantenido si el servicio sigue expuesto a la red.

Se conserva a continuación la solución histórica original.


Si se produce el siguiente error al arrancar Kissdx:

carlos@shirley:~/kissdx/trunk.r191$ kissdx -v
[ 1723] 2012-01-14 18:44:44 Using config file /etc/kissdx.conf
[ 1723] 2012-01-14 18:44:44 kissdx v0.13-10a, 2007-01-30 is now using the following configuration:
[ 1723] 2012-01-14 18:44:44 audiopath = /media/audio
[ 1723] 2012-01-14 18:44:44 videopath = /media/video
[ 1723] 2012-01-14 18:44:44 picturepath = /media/picture
[ 1723] 2012-01-14 18:44:44 persistentstoragepath =
[ 1723] 2012-01-14 18:44:44 kmlurl = http://tinystocks.com/k/kiss.php
[ 1723] 2012-01-14 18:44:44 pretrigger =
[ 1723] 2012-01-14 18:44:44 posttrigger =
[ 1723] 2012-01-14 18:44:44 audiofileextensions = mp3,ogg,wma,wav
[ 1723] 2012-01-14 18:44:44 videofileextensions = mpg,mpeg,vob,avi,wmv,ts,mp4
[ 1723] 2012-01-14 18:44:44 picturefileextensions = jpg,jpeg,png,bmp
[ 1723] 2012-01-14 18:44:44 isofileextensions = iso,img
[ 1723] 2012-01-14 18:44:44 max_recent_files = 30
[ 1723] 2012-01-14 18:44:44 server_character_set =
[ 1723] 2012-01-14 18:44:44 client_character_set =
[ 1723] 2012-01-14 18:44:44 subtitle_catchall_pattern = {name}*.*
[ 1723] 2012-01-14 18:44:44 picturetargetwidth = 1280
[ 1723] 2012-01-14 18:44:44 picturetargetheight = 720
[ 1723] 2012-01-14 18:44:44 picturemaxzoompercent = 20
[ 1723] 2012-01-14 18:44:44 picturecachesize = -1
[ 1723] 2012-01-14 18:44:44 picturecachetrimminginterval = 5
[ 1723] 2012-01-14 18:44:44 networktimeoutinterval = 0
[ 1723] 2012-01-14 18:44:44 enablehiddenfilestext = Toggle all files status
[ 1723] 2012-01-14 18:44:44 enablehiddenfilesminutes = 1
[ 1723] 2012-01-14 18:44:44 starting kissdx...
*** buffer overflow detected ***: kissdx terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f4c82e797f7]
/lib/x86_64-linux-gnu/libc.so.6(+0xf7710)[0x7f4c82e78710]
/lib/x86_64-linux-gnu/libc.so.6(+0xf65e3)[0x7f4c82e775e3]
kissdx[0x403ee6]
kissdx[0x4042e2]
kissdx[0x40303e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f4c82da230d]
kissdx[0x4030bd]
======= Memory map: ========
00400000-00423000 r-xp 00000000 08:71 2759001 /usr/sbin/kissdx
00622000-00623000 r-xp 00022000 08:71 2759001 /usr/sbin/kissdx
00623000-0062c000 rwxp 00023000 08:71 2759001 /usr/sbin/kissdx
0062c000-00700000 rwxp 00000000 00:00 0
023db000-023fc000 rwxp 00000000 00:00 0 [heap]
7f4c8242b000-7f4c82440000 r-xp 00000000 08:71 1179692 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4c82440000-7f4c8263f000 ---p 00015000 08:71 1179692 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4c8263f000-7f4c82640000 r-xp 00014000 08:71 1179692 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4c82640000-7f4c82641000 rwxp 00015000 08:71 1179692 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4c82641000-7f4c82b7d000 r-xp 00000000 08:71 2758034 /usr/lib/locale/locale-archive
7f4c82b7d000-7f4c82b7f000 r-xp 00000000 08:71 1179677 /lib/x86_64-linux-gnu/libdl-2.13.so
7f4c82b7f000-7f4c82d7f000 ---p 00002000 08:71 1179677 /lib/x86_64-linux-gnu/libdl-2.13.so
7f4c82d7f000-7f4c82d80000 r-xp 00002000 08:71 1179677 /lib/x86_64-linux-gnu/libdl-2.13.so
7f4c82d80000-7f4c82d81000 rwxp 00003000 08:71 1179677 /lib/x86_64-linux-gnu/libdl-2.13.so
7f4c82d81000-7f4c82f16000 r-xp 00000000 08:71 1179676 /lib/x86_64-linux-gnu/libc-2.13.so
7f4c82f16000-7f4c83115000 ---p 00195000 08:71 1179676 /lib/x86_64-linux-gnu/libc-2.13.so
7f4c83115000-7f4c83119000 r-xp 00194000 08:71 1179676 /lib/x86_64-linux-gnu/libc-2.13.so
7f4c83119000-7f4c8311a000 rwxp 00198000 08:71 1179676 /lib/x86_64-linux-gnu/libc-2.13.so
7f4c8311a000-7f4c83120000 rwxp 00000000 00:00 0
7f4c83120000-7f4c831a3000 r-xp 00000000 08:71 1179686 /lib/x86_64-linux-gnu/libm-2.13.so
7f4c831a3000-7f4c833a2000 ---p 00083000 08:71 1179686 /lib/x86_64-linux-gnu/libm-2.13.so
7f4c833a2000-7f4c833a3000 r-xp 00082000 08:71 1179686 /lib/x86_64-linux-gnu/libm-2.13.so
7f4c833a3000-7f4c833a4000 rwxp 00083000 08:71 1179686 /lib/x86_64-linux-gnu/libm-2.13.so
7f4c833a4000-7f4c833c8000 r-xp 00000000 08:71 2766045 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4c833c8000-7f4c835c7000 ---p 00024000 08:71 2766045 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4c835c7000-7f4c835c8000 r-xp 00023000 08:71 2766045 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4c835c8000-7f4c835c9000 rwxp 00024000 08:71 2766045 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4c835c9000-7f4c835ed000 r-xp 00000000 08:71 2757372 /usr/lib/libdvdread.so.4.1.3
7f4c835ed000-7f4c837ec000 ---p 00024000 08:71 2757372 /usr/lib/libdvdread.so.4.1.3
7f4c837ec000-7f4c837ed000 r-xp 00023000 08:71 2757372 /usr/lib/libdvdread.so.4.1.3
7f4c837ed000-7f4c837ee000 rwxp 00024000 08:71 2757372 /usr/lib/libdvdread.so.4.1.3
7f4c837ee000-7f4c8380f000 r-xp 00000000 08:71 1179683 /lib/x86_64-linux-gnu/ld-2.13.so
7f4c839ef000-7f4c839f3000 rwxp 00000000 00:00 0
7f4c83a0c000-7f4c83a0e000 rwxp 00000000 00:00 0
7f4c83a0e000-7f4c83a0f000 r-xp 00020000 08:71 1179683 /lib/x86_64-linux-gnu/ld-2.13.so
7f4c83a0f000-7f4c83a11000 rwxp 00021000 08:71 1179683 /lib/x86_64-linux-gnu/ld-2.13.so
7fff59c6e000-7fff59c8f000 rwxp 00000000 00:00 0 [stack]
7fff59dc4000-7fff59dc5000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Abortado

Es necesario actualizar la versión, utilizando preferiblemente ésta.

h1

Virtualbox: no funciona conexión remota (remote desktop)

10/01/2012

En las versiones recientes de Virtualbox puede parecer que la funcionalidad de «remote desktop», para acceder por protocolo de escritorio remoto a la terminal de una máquina virtual, no funcione pese a estar activada en la configuración de la máquina virtual.

No obstante es un cambio incluido en Oracle. Para poder hacer funcionar esta característica es necesario descargar e instalar el complemento «VirtualBox 4.x Oracle VM VirtualBox Extension Pack«, localizable en la web de descargas de VirtualBox.

En GNU/Linux se puede instalar con el siguiente script:

#!/bin/bash
# instalar.script.oracle.extensions.sh
# https://forums.virtualbox.org/viewtopic.php?f=7&t=44337
version=$(vboxmanage -v)
echo $version
var1=$(echo $version | cut -d 'r' -f 1)
echo $var1
var2=$(echo $version | cut -d 'r' -f 2)
echo $var2
file="Oracle_VM_VirtualBox_Extension_Pack-$var1-$var2.vbox-extpack"
echo $file
wget http://download.virtualbox.org/virtualbox/$var1/$file -O /tmp/$file
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
sudo VBoxManage extpack install /tmp/$file --replace

Fuente: https://forums.virtualbox.org/viewtopic.php?f=7&t=45686

h1

error El controlador de disco para /dev/sda1 no está listo o presente. Continué esperando o pulse S para omitir o M para recuperar manualmente. — configuración de fstab

29/12/2011

Si se produce el siguiente error:

El controlador de disco para /dev/sda1 no está listo o presente. Continue esperando o pulse S para omitir o M para recuperar manualmente.
The disk drive for /media/miDisco is not ready yet or not present. Continue to wait; or Press S to skip mounting or M for manual recovery

se debe a que en el arranque no se ha encontrado una unidad de almacenamiento definida en /etc/fstab. Para que la espera no sea bloqueante, es necesario añadir el parámetro «nobootwait» en su definición del fstab:

UUID=abcd /media/miDisco vfat utf8,auto,rw,user 0 0
UUID=abcd /media/miDisco vfat utf8,auto,rw,user,nobootwait 0 0