Respuestas de foro creadas
-
AutorEntradas
-
alonsojpdSuperadministrador
Prueba a ejecutar el siguiente comando en tu servidor Linux CentOS 7:
setsebool -P httpd_can_network_connect 1
10/19/2017 a las 14:13 en respuesta a: Warning: ldap_bind(): Unable to bind to server: Invalid credentials in #1462alonsojpdSuperadministradorhay varias opciones para que no se muestre el error, una de ellas es establecer el nivel de errores y warning en la configuración de PHP, la más sencilla es añadir una arroba (@) delante de la función ldap_bind, sería algo así:
123456789101112131415161718192021$validacionLDAP = true;//Obtenemos el nombre del dominio en el valor2 del parámetro "web_acceso_ldap"$dominioLDAP = obtenerValorParametroBD ("web_acceso_ldap", false);$ldapConexion = ldap_connect($dominioLDAP);if ($ldapConexion == false){$er = "err_ldap";require("login.php");}else{try{$validarUsuario = @ldap_bind($ldapConexion, $usuarioLogin, $contrasenaLogin);ldap_close($ldapConexion);}catch (Exception $exc){$validarUsuario = 0;}}09/06/2017 a las 09:56 en respuesta a: Hacer script MS-DOS para obtener PID proceso matar e iniciar servicio #1386alonsojpdSuperadministradorPuedes hacerlo con el siguiente script MS-DOS:
MS DOS12345678@ echo offfor /f "tokens=2 delims=," %%a in ('tasklist /svc /FO csv ^| findstr /C:TermService') do set PID=%%aif not defined PID echo NO se ha encontrado el proceso TermService.& exit /b 1taskkill /F /PID %PID%timeout /T 10net start termservicetimeout /T 10shutdown -r -f -t 06Ten en cuenta que no se comprueba casi nada, sólo si se ha obtenido el PID del proceso termservice. Puedes mejorar el script, pero te servirá como guía.
alonsojpdSuperadministradorSí puedes hacerlo, añadiendo la siguiente línea a tu fichero de script .bat:
timeout /T 10
09/06/2017 a las 09:25 en respuesta a: Error no se inicia servicio Pandora FMS client en Linux CentOS #1380alonsojpdSuperadministradorEl error puede ser debido a que no tienes el módulo perl-Sys-Syslog instalado en ese equipo Linux.
Para instalarlo ejecuta el siguiente comando (necesitas conexión a Internet):yum install -y perl-Sys-Syslog
Si no te funciona el comando anterior tendrás que buscar el paquete RPM de perl-Sys-Syslog, decargarlo de una fuente fiable e instalarlo como instalaste Pandora Agent, usando rpm -i.
Una vez instalado vuelve a inciar el agente de pandora con:
/etc/init.d/pandora_agent_daemon start
Y revisas el fichero de log para comprobar que se ha inciado correctamente, también con:
ps -ef | grep pandora
Que te debe devolver algo así como:
root 2585 1 0 09:14 pts/0 00:00:00 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root 2804 2331 0 09:25 pts/0 00:00:00 grep –color=auto pandora09/06/2017 a las 09:18 en respuesta a: Error no se inicia servicio Pandora FMS client en Linux CentOS #1378alonsojpdSuperadministradorHola, en primer lugar revisa el fichero de log del agente para ver si te devuelve el motivo del error en el inicio del servicio.
En Linux CentOS dicho fichero de log de Pandora Agent suele estar en:
/var/log/pandora/pandora_agent.log
Por lo que con un simple:
cat /var/log/pandora/pandora_agent.log
Podrás ver el contenido, revísalo y nos dices si te indica algún error.
09/01/2017 a las 09:07 en respuesta a: Error Do not Access Superglobal $_POST Array Directly en NetBeans con PHP #1375alonsojpdSuperadministradorPara los GET puedes usar el mismo método, cambiando:
filter_input_array(INPUT_POST) por filter_input_array(INPUT_GET)
y
filter_input(INPUT_POST, «…») por filter_input(INPUT_GET, «…»)
09/01/2017 a las 09:03 en respuesta a: Error Do not Access Superglobal $_POST Array Directly en NetBeans con PHP #1373alonsojpdSuperadministradorEste warning es debido a que en las nuevas versiones de PHP no se recomienda el uso directo de las variables superglobales como las usadas en los formularios y métodos POST y GET. En su lugar se recomienda filtrar la información recibida, esto es por seguridad.
Para solucionar el warning puedes usar, por ejemplo, la función filter_input_array para el $_POST y filter_input para el $_POST[«…»].
De forma que tu código podría quedar de la siguiente manera:
PHP12345678910//Insertar nuevo registroif (filter_input_array(INPUT_POST)){$campos = array (array("nombre" => "nombre", "tipo" => "texto", "valor" => filter_input(INPUT_POST, "nombre")),array("nombre" => "fechaalta", "tipo" => "fecha", "valor" => filter_input(INPUT_POST, "fechaalta")),array("nombre" => "precioventa", "tipo" => "numero", "valor" => filter_input(INPUT_POST, "precioventa")),array("nombre" => "preciocoste", "tipo" => "numero", "valor" => filter_input(INPUT_POST, "preciocoste")),array("nombre" => "codigotipo", "tipo" => "numero", "valor" => filter_input(INPUT_POST, "codigotipo")),array("nombre" => "stock", "tipo" => "numero", "valor" => filter_input(INPUT_POST, "stock")),array("nombre" => "observacion", "tipo" => "texto", "valor" => filter_input(INPUT_POST, "observacion")));06/03/2017 a las 22:40 en respuesta a: Error Page not found y Nothing found for quieres en páginas de WordPress #1245alonsojpdSuperadministradorEste error es «común» en WordPress, para solucionarlo (casi siempre funciona) es sencillo, sigue los siguientes pasos:
1. Accede a la administración de WordPress:
tusitio/wp-admin
2. Pulsa en «Ajustes» y luego en «Enlaces permanentes».
3. Ahora solo tienes que pulsar en «Guardar cambios», sin hacer nada más.
Con esto suelen arreglarse los problemas 404 página no encontrada en WordPress.
05/26/2017 a las 11:11 en respuesta a: Error agregar equipo a dominio Windows 0x0000232A RCODE_SERVER_FAILURE #1224alonsojpdSuperadministradorEl error que nos comentas puede ser debido a varias cosas:
1. A que no estés poniendo bien el nombre de tu dominio Windows, asegúrate de que en «Miembro de Dominio» escribes correctamente el nombre de tu dominio, a ser posible completo, con el .com incluido.
2. Comprueba que las DNS del equipo Windows XP son las correctas de tu servidor DNS interno. Como sabes, desde hace unos años, Windows Server basa su configuración para el dominio en el DNS, por lo tanto los equipos cliente que vayas a conectar al servidor deben tener las DNS correctamente configuaradas.
Verifica estas cosas y vuelves a probar y nos cuentas.
04/22/2017 a las 13:12 en respuesta a: Problemas con avatar en WordPress con BuddyPress y bbPress #1179alonsojpdSuperadministradorPuedes usar este script en PHP, solo tienes que copiarlo a un fichero, llamarlo «avatar.php», subirlo por FTP a la carpeta raíz de tu sitio web, cambiar los usuarios, contraseñas y rutas por defecto por las
tuyas y luego subir el fichero y ejecutarlo escribiendo:
http://direccion_de_tu_web/avatar.php
Es MUY importante que sigas bien estos pasos:
0. Antes de nada, HACER COPIA DE SEGURIDAD de la web completa, tanto de la Base de Datos (el script solo lee y no toca la base de datos, pero siempre es recomendable hacer copia) y de los
ficheros de WordPress.
1. Copias el contenido siguiente a un fichero y lo llamas «avatar.php»:
PHP123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115<?php//Cambiar datos de conexión al servidor de MySQL y a la base de datos$servidor = "localhost";$usuario = "usuario_bd";$contrasena = "contraseña_usuario_bd";$baseDatos ="nombre_base_datos";//Carpeta donde se encuentran los avatares de BuddyPress//Si no es esta cambiar el valor por la que sea$carpetaAvatar = "wp-content/uploads/avatars/";//Cambiar esta URL por la del avatar que quieres que aparezca si//el usuario no tiene avatar en BuddyPress$urlAvatarSinAvatar = "http://xxx/wp-content/uploads/2017/04/no-avatar-150x93.jpg";$link = conectarBD();//Recorremos todos los usuarios y buscamos los posts con la URL del avatar de WP User Avatar en la BD$query = "select u.idfrom cb_users u;";$result = mysqli_query($link, $query);while($row = mysqli_fetch_array($result)){//Obtenemos la URL del avatar de WP User Avatar$query = "select p.guidfrom cb_posts pwhere p.id=(SELECT m.meta_valuefrom cb_usermeta mwhere m.user_id=" . $row['id'] . " and m.meta_key='cb_user_avatar')";$urlAvatar = "";$result2 = mysqli_query($link, $query);while($row2 = mysqli_fetch_array($result2)){$urlAvatar = $row2["guid"];if ($row2["guid"] != ""){//Añadir avatar solo si no existe ya en BuddyPressif (!is_dir($carpetaAvatar . $row["id"])){mkdir($carpetaAvatar . $row["id"]);echo $urlAvatar . " -- " . $carpetaAvatar . $row["id"] . "/" .$row["id"] . "-bpfull." . extensionFichero($urlAvatar) . "<br>";copy($urlAvatar, $carpetaAvatar . $row["id"] . "/" .$row["id"] . "-bpfull." . extensionFichero($urlAvatar));copy($urlAvatar, $carpetaAvatar . $row["id"] . "/" .$row["id"] . "-bpthumb." . extensionFichero($urlAvatar));}}}mysqli_free_result($result2);//Creamos la carpeta vacía del usuario si no existe avatar antiguo (WP User Avatar) ni nuevo (BuddyPress)if (!is_dir($carpetaAvatar . $row["id"])){mkdir($carpetaAvatar . $row["id"]);}}mysqli_free_result($result);//Cerramos la conexión a la base de datosmysqli_close($link);//Recorremos todas las carpetas de los avatares de Buddypress//en busca de carpetas vacías//Si están vacías añadiemos avatar de defecto//Si no tenía avatar en WP Avatar le asignamos el de defecto$urlAvatar = $urlAvatarSinAvatar;$carpetas = scandir($carpetaAvatar);foreach ($carpetas as $carpeta){$ficheros = scandir($carpetaAvatar . $carpeta);if (count($ficheros) < 3) //si no hay ficheros (solo .. y .){echo " -- sin avatar -- " . $carpetaAvatar . $carpeta . "<br>";copy($urlAvatar, $carpetaAvatar . $carpeta . "/" .$carpeta . "-bpfull." . extensionFichero($urlAvatar));copy($urlAvatar, $carpetaAvatar . $carpeta . "/" .$carpeta . "-bpthumb." . extensionFichero($urlAvatar));}}echo "<br><br><b>Fin del script, cerrada conexión con BD.</b>";//Conectar con el servidor MySQL y la base de datosfunction conectarBD(){global $servidor, $puerto, $usuario, $contrasena, $baseDatos, $tabla;if (!($link = mysqli_connect($servidor, $usuario, $contrasena))){echo "Error al conectar con el servidor de base de datos.<br/>";exit();}else{echo "Conexión a la base de datos satisfactoria.<br/>";}if (!mysqli_select_db($link, $baseDatos)){echo "Error al conectar al servidor de BD, no existe la base de datos (catálogo).<br/>";exit();}else{echo "Conexión a la base de datos $baseDatos satisfactoria.<br/>";}return $link;}//Obtener extensión de ficherofunction extensionFichero($ruta){return end(explode(".", $ruta));}?>2. Una vez copiado el contenido anterior en un fichero hay que cambiar los valores de conexión a la base de datos (servidor, base de datos, usuario y contraseña).
3. También hay que cambiar (si no es el correcto) la ubicación de los avatares de BuddyPress y la URL del avatar que se establecerá por defecto para aquellos usuarios que no tengan avatar, ni en BuddyPress,
ni en WP User Avatar.
4. Revisar el código por si ha cambiado algo con respecto a nuevas versiones.
5. Intentar ejecutar primero en una réplica de la web y no en la web real, para evitar problemas.
6. Una vez hecho TODO lo anterior, podremos subir el script PHP (avatar.php) a la raíz de nuestra web y ejecutarlo con un:
El Script tardará unos minutos en función del número de usuarios de la web de WordPress, NO cierres la ventana, no mostrará progreso, solo mostrará un listado de lo realizado una vez finalizado el script.
04/22/2017 a las 12:38 en respuesta a: Problemas con avatar en WordPress con BuddyPress y bbPress #1177alonsojpdSuperadministradorAsí es, WP User Avatar es compatible con BuddyPress pero solo su versión de pago, la gratuita NO es compatible. Si tienes instalado el gratuito de WP User Avatar, prueba a desactivarlo y ves si ya te funcionan los avatares e imágnes de perfil bien en bbPress.
Si tienes BuddyPress ya no necesitas WP User Avatar, salvo que tengas el de pago de WP User Avatar, en cuyo caso podrías mantener los dos.
04/22/2017 a las 12:35 en respuesta a: Problemas con avatar en WordPress con BuddyPress y bbPress #1175alonsojpdSuperadministradorEn primer lugar ¿tienes algún otro gestor de avatares instalado en WordPress, por ejemplo el plugin «WP User Avatar»?
alonsojpdSuperadministradorEste error suele ser debido a que se ha borrado la carpeta del perfil del usaurio por error. Para solucionarlo sigue estos pasos:
1. Ten en cuenta primero de todo que hay que modificar el Registro del sistema, por lo que hay que proceder con precaución y haciendo backup (copia de seguridad) de la clave que vamos a modificar.
2. Inicia sesión en el equipo Windows Server 2012 con un usuario con permisos de administrador, que NO sea el usuario que tiene el problema de carga del perfil.
3. Haz una copia de seguridad de la carpeta del usuario si existe, incluso de la temporal. Suele estar en: %SystemDrive%\Usuarios\Nombre_Usuario
4. Pulsa en «Inicio» y escribe «regedit». Te aparecerá el acceso directo «regedit.exe», pulsa sobre él.
5. Accede a la clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
6. Ahí te aparecerán todas las claves de todos los usuarios, con el SID de cada usuario. Busca una que acabe con xxxxx.bak y, además, contendrá el valor «ProfileImagePath» con la carpeta del usuario. Elimina esta clave completa (la que acaba en xxx.bak).
7. Cierra el Editor del Registro e inicia sesión con el usuario al que le daba el error de perfil temporal.
8. Si todo es correcto el sistema habrá creado la carpeta en la ubicación correcta:%SystemDrive%\Usuarios\Nombre_Usuario y habrá creado su clave de registro correspondiente.
alonsojpdSuperadministradorEn Apex de la versión 9g, al crear un DBLINK puedes tener problemas con la contraseña, es mejor que la establezcas con «IDENTIFIED BY VALUES». Como desde el asistente de Apex para crear enlace a base de datos externo (DB LINK) no tienes la opción de cambiar el SQL, tendrás que ejecutar la siguiente sentencia desde «Comandos SQL» – «Introducir comando»:
Transact-SQL12345678910CREATE DATABASE LINK BDEXTERNACONNECT TO USUEXTERNO IDENTIFIED BY VALUES 'XXX'USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.150)(PORT = 1521)))(CONNECT_DATA =(SID = ORCL)))';Teniendo en cuenta que la contraseña de «VALUES», «XXX» tendrás que sustituirla por el hash de la contraseña que genera Oracle tendrás que obtenerlo de alguna forma.
Una opción para obtener este valor de la contraseña generado por Oracle es la siguiente:
1. Crea un database link desde SQL Developer como el que has creado anteriormente o incluso si ya lo tienes creado explora en SQL Developer, en los objetos «Enlaces de Base de Datos». Selecciona el que tengas creado y dale con el botón derecho del ratón a «Editar».
2. En la pestaña DLL de la ventana de edición del DBLINK marca «Crear» y verás que te muestra el SQL de creación del DBLINK con el IDENTIFIED BY VALUES ‘………’, copia el hash de la contraseña y pégalo en la consulta SQL de creación del DBLINK desde Apex.Con esto debería funcionarte correctamente.
alonsojpdSuperadministradorEn Oracle existen tres tablas donde se pueden almacenar los DBLINK, haciendo un select de cada una de ellas puedes obtener el listado de los DBLINK de la base de datos Oracle y sus datos de conexión:
123select * from DBA_DB_LINKS;select * from ALL_DB_LINKS;select * from USER_DB_LINKS;alonsojpdSuperadministradorSe pueden limpiar de dos maneras:
1. Usando algún plugin para ello, los hay gratuitos y funcionan bien.
2. Si no quieres instalar plugin en tu WordPress puedes hacerlo de forma manual, te lo explicamos a continuación.Para eliminar las revisiones que tienes actualmente (todas), antes de continuar ten en cuenta que es un proceso irreversible, se eliminarán TODAS las revisiones:
1. Accede la la base de datos de WordPress o bien con phpMyAdmin o con MySQL Wordbench o con cualquier otro cliente.
2. Ejecuta la siguiente consulta SQL para eliminar todos los post que sean de tipo «revision»:
delete from wp_posts where post_type = 'revision';
(cambia «wp_posts» por el nombre de la tabla de post de tu WordPress, puede que el prefijo cambie «wp»)
3. Con esto ya tienes eliminadas todas las revisiones, ahora si quieres que no te guarde revisiones nunca a partir de ahora abre el fichero «wp-config.php» de tu WordPress y añade o modifica si existe la siguiente línea:
define('WP_POST_REVISIONS', false);
Si quieres que te guarde revisiones pero quieres fijar un máximo por cada entrada puedes especificar el número de revisiones que te guardará WordPress como máximo con el parámetro anterior:
define('WP_POST_REVISIONS', 2);
Con el «2» indicamos a WordPress que como máximo guarde 2 revisiones, por lo que si hay más eliminará las más antiguas automáticamente.
alonsojpdSuperadministradorSí es posible, puedes usar el comando scp, con la siguiente sintaxis:
scp usuario_srvlinux1@ip_srvlinux1:ruta_fichero ruta_detino
Donde:
- usuario_srvlinux1: nombre de un usuario del servidor del que quieras copiar el fichero con permisos suficientes.
- ip_srvlinux1: IP del servidor de Linux del que queramos copiar el fichero.
- ruta_fichero: Ruta y nombre del fichero a copiar desde el servidor (ruta local).
- ruta_detino: Ruta local del servidor de destnio donde queramos depositar el fichero copiado.
Un ejemplo:
scp root@192.168.1.100:/home/oracle/scrip.sh /home/oracle/backup/script.sh
alonsojpdSuperadministradorEl mensaje que te da es porque el usuario está bloqueado, posiblemente porque has hecho varios intentos de acceso con contraseña errónea y Oracle lo haya bloqueado por seguridad.
Para desbloquearlo ejecuta:
alter user nombre_usuario account unlock;
alonsojpdSuperadministradorAccede a Linux con el usuario de Oracle (en una instalación normal «oracle») y luego accede a SQL Plus, puedes hacerlo con el comando:
sqlplus /nolog
Conéctate a la base de datos con:
conn / as sysdba;
Y ejecuta el siguiente comando para cambiar la contraseña al usuario que quieras:
alter user nombre_usuario identified by nueva_contraseña;
Cambia «nombre_usuario» por el usuario al que le quieras cambiar la contraseña y «nueva_contraseña» por la contraseña que quieras establecerle.
El sistema te devolverá el mensaje:
User altered.
Indicando que el proceso de cambio de contraseña se ha efectuado correctamente.
01/30/2017 a las 09:07 en respuesta a: Restar dos fechas y obtener los días de diferencia en MySQL #1132alonsojpdSuperadministradorSí la hay, puedes usar la función DATEDIFF(). Esta función permite restar dos fechas dadas y devolver los días de diferencia que hay entre cada una, un ejemplo de uso:
Transact-SQL123select *from factura fwhere DATEDIFF (f.fechaalta, sysdate()) > 5alonsojpdSuperadministradorHola, puedes cambiar o establecer esta configuración en el fichero pandora_server.conf, que suele estar en /etc/pandora. Puedes editarlo por ejemplo con vi o con nano:
vi /etc/pandora/pandora_server.conf
Y buscar y cambiar estas líneas:
# mta_address: External Mailer (MTA) IP Address to be used by Pandora FMS internal email capabilities
mta_address correo.midominio.com
# mta_port, this is the mail server port (default 25)
#mta_port 25
# mta_user MTA User (if needed for auth, FQD or simple user, depending on your server)
mta_user pandora@midominio.com
# mta_pass MTA Pass (if needed for auth)
mta_pass contraseña
# mta_auth MTA Auth system (if needed, it supports LOGIN, PLAIN, CRAM-MD5, DIGEST-MD)
mta_auth LOGIN
# mta_from Email address that sends the mail, by default is pandora@localhost
# probably you need to change it to avoid problems with your antispam
mta_from Pandora FMSalonsojpdSuperadministradorPuedes seguir estos pasos para enviar un mail desde la línea de comandos de Linux CentOS (válido para otras distribuciones):
1. Escribe el siguiente comando:
mail -s "Prueba de envío de mail desde Linux" alonso@alonso.com
2. Una vez introducido el comando anterior, con el asunto y mail de destino que queramos (cambiando «alonso@alonso.com» por el mail de destino y «Prueba de envío de mail desde Linux» por el asunto que queramos) pulsaremos INTRO, el cursor pasará a la línea siguiente, ahí podemos escribir el cuerpo del correo electrónico.
3. Una vez escrito el cuerpo del mail para finalizar y enviarlo tenemos dos opciones:
* Pulsar las teclas Control + D.
* Escribir «.» (sin comillas, solo punto) y pulsar INTRO.Y el mensaje de correo electrónico se enviará.
10/15/2016 a las 14:45 en respuesta a: Cookies en Mozilla Firefox ¿cómo desactivarlas? ¿qué son? #1116alonsojpdSuperadministradorHola, aquí tienes un videotutorial que hemos realizado al respecto de las Cookies:
Uso de Cookies en el navegador Mozilla Firefox. Os mostramos en este videotutorial qué son las Cookies y cómo configurar el comportamiento del navegador Mozilla Firefox para el tratamiento de las Cookies. Indicamos dónde se almacenan (cookies.sqlite) y cómo mostrar las opciones de privacidad de Mozilla Firefox directamente con about:preferences#privacy
alonsojpdSuperadministradorPara cambiar el texto que aparece abajo en el tema de WordPress tienes que editar el fichero footer.php «manualmente». Para ello sigue estas instrucciones:
1. Accede al panel de administración …/wp-admin.
2. Pulsa en el menú «Apariencia», luego en «Editor».
3. En la parte derecha, pulsa en «Pié de página del tema» (footer.php).
4. Busca en el fichero este texto:
PHP12345<!-- Footer Info --><p id="footer-info"><?php printf( et_get_safe_localization( __( 'Designed by %1$s | Powered by %2$s', 'extra' ) ), '<a href="http://www.elegantthemes.com" title="Premium WordPress Themes">Elegant Themes</a>', '<a href="http://www.wordpress.org">WordPress</a>' ); ?></p><!-- Footer Navigation -->5. Cámbialo por este otro:
<p id="footer-info"><a href="http://www.proyectoa.com" title="Proyecto A">Proyecto A</a>, todos los derechos reservados</p>
Lógicamente pon en el texto lo que quieras, en el ejemplo saldría «Proyecto A, todos los derechos reservados» con un enlace al inicio de Proyecto A.
6. Pulsa en «Actualizar archivo».
Y ya debería aparecerte cambiado el pie de la web de WordPress.
Ten en cuenta que cada vez que actualices WordPress tendrás que volver a hacer este proceso.
NOTA IMPORTANTE: si te equivocas al cambiar el texto del fichero footer.php la web podría dejar de funcionar, por lo tanto si te es posible primero hazle una copia de seguridad. Y siempre edítalo con cuidado, dejando las etiquetas acabadas, como te indico arriba.
-
AutorEntradas