Buscar este blog

jueves, 13 de noviembre de 2014

Centos 6.x minimal network setup

Configurar red

Lo primero es determinar la MAC de la máquina. Para ello se usa el comando ifconfig -a. En la salida se buscarán los números que aparecen junto a HWaddr.

Luego ejecutar los siguientes comandos:
  • ifconfig eth0 up
  • dhclient eth0

Finalmente hay que modificar el fichero  en el fichero /etc/sysconfig/network-scripts/ifcfg-eth0 para poner el ONBOOT a yes, y asegurarse de que la MAC coincide con la de la a máquina que se consultó antes.

DEVICE=eth0
HWADDR=00:0C:29:6F:FE:3E
TYPE=Ethernet
UUID=b31ea0b5-bd9d-4541-acd4-3d4017557173
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp


Si es una máquina virtual y se copió de otra puede ser necesario actualizar los siguientes ficheros:
  • /etc/udev/rules.d/70-persistent-net.rules
         Actualizar la MAC del interfaz de red
  • /etc/sysconfig/network
       Establecer el nombre de la máquina
  • /etc/hosts
        Ajustar el DNS manual


Configurar proxy

Configurar proxy general

Editar el archio ~/.bash_profile y añadir las siguientes líneas:

# The Web proxy server used by this account
http_proxy="http://usuario:password@my.proxy:8080"
export no_proxy=localhost,127.0.0.1
export http_proxy

Configurar YUM

Editar el archivo /etc/yum.conf y añadir las siguientes líneas:

# The proxy server - proxy server:port number
proxy=http://my.proxy:8080
# The account details for yum connections
proxy_username=usuario
proxy_password=password


Configurar varios interfaces de red en Virtual Box

La idea es que la máquina virtual pueda conectarse a internet de forma directa y que además también sea accesible desde el equipo anfitrión, por ejemplo a través de SSH.

Para ello hay que activar dos adaptadores de red en Virtual Box:

  1. Adaptador 1: de tipo Host Only
  2. Adaptador 2: de tipo NAT

Al iniciar Centos es posible que sólo se muestren eth0 y lo. Para activar eth1 se seguirán los mismos pasos que en la configuración básica:
  • ifconfig eth1 up
  • dhclient eth1
También puede ser necesario copiar ifcfg-eth0 a ifcfg-eth1 y asignarle la MAC del interfaz correspondiente.
-------------------------------



Visto en http://superuser.com/questions/752262/after-minimal-install-centos-6-5-doesnt-see-network

You'll have to manually edit
/etc/sysconfig/network-scripts/ifcfg-eth0
If you're using a DHCP server to get an IP, you should have a line that says
BOOTPROTO=dhcp
Then, do a
service network restart
Other way:
  • ifconfig eth0 up
  • dhclient eth0

Aparentemente sólo funciona con vmware...

Deshabilitar IP V6

 echo '1' > /proc/sys/net/ipv6/conf/all/disable_ipv6


vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1


miércoles, 12 de noviembre de 2014

MySQL enable Remote Access - Permitir acceso remoto a MySQL

Conectarse a mysql con el siguiente comando y ejecutar las instrucciones indicadas:
mysql -u root -p
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

El primer 'root' se refiere al nombre del usuario y el segundo a la password.

Client denied by server configuration: /usr/share/phpmyadmin - You don't have permission to access /phpmyadmin on this server

Al acceder a http://xxxxx/phpmyadmin/ se obtiene el siguiente error:
You don't have permission to access /phpmyadmin on this server.

Consultando los logs de Apache se muestra el siguiente mensaje;
client denied by server configuration: /usr/share/phpmyadmin

Esto me ha ocurrido durante la instalación en Centos7, siguiendo el tutorial de su wiki 

Solución
(Visto en el siguiente foro http://askubuntu.com/questions/483297/why-do-i-always-get-a-403-error-with-phpmyadmin)

Lo más probable es que ya se hayan revisado los millones de foros y blogs indicando como solucionar este error y la solución que proponían era la siguiente cambiar el fichero /etc/httpd/conf.d/phpmyadmin.conf de la siguiente forma (o en cualquiera de sus múltiples variantes con el allow):

<Directory "/usr/share/phpmyadmin">
  Order allow,deny
  Allow from all
</Directory>


Pero si se está usando apache 2.4.x la verdadera solución es la siguiente:


<Directory "/usr/share/phpmyadmin">
  Require all granted
</Directory>

Hay que usar Require all granted

Biztalk Terminating Instances running on Isolated Host - Forzar a terminar instancias activas en Isolated Host

Objetivo
Terminar todas las instancias activas que se han quedado suspendidas.
Se tienen una serie de instancias asociadadas a un puerto que se han quedado suspendicas y que no pueden ser terminadas. Se aplicará la solución más fuerte parando todo e intentándolo progresivamente.





Solución
Se indican una serie de pasos. En cada paso, intentar terminar las instancias. Si no funciona, pasar al siguiente.

1 - Parar todas las hosts instances
Para ello, desde la consola de administración de biztalk, se navega a Biztalk Server Administration > BizTalk Group > Platform Settings > Hosts Instances.
Una vez ahí, se selecionan todas y se paran.



2 - Parar todas las aplicaciones
Para ello, desde la consola de administración de biztalk, se navega a Biztalk Server Administration > BizTalk Group > Applications.
Una vez ahí, se selecionan todas y se paran.


3 - Parar IIS
Dado que el problema está en los isolated adapter, se prueba a parar los Internet Information Services de Windows.

Para ello, desde el menú de inicio se abre el IIS Manager y se para toda la conexión.



4 - Borrar la aplicación que contiene la instancias
A medida que aumenta la despesperación, incrementamos la contundencia de nuestras acciones.

Desde la consola de administración de biztalk navega a Biztalk Server Administration > BizTalk Group > Applications.
Una vez ahí se selecciona la aplicación propietaria y se borra.

Antes de borrarla se puede exportar como MSI, para recuperarla posteriormente.

Si esto no funciona, ahora las instancias tendrá de nombre <Name is not available>.
Parda la estamos liando.



5 - Biztalk Terminator
Se escala el conflicto y se usa la herramienta Biztalk Terminator.
Aquí la descripción oficinal
The BizTalk Terminator tool allows the user to easily address common BizTalk issues via SQL, WMI, and PowerShell based tasks provided by the BizTalk team. Additional functionality includes the ability to suspend, resume, and terminate in bulk by date range, make performance tuning changes, and integrate with the MessageBox Viewer utility.

Este es un blog en el que se cuentan más cosas de la herramienta.

Una vez descargada y descomprimida basta con ejecutar el .exe.



Para que no haya problemas, mejor ejecutarlo con la opción de administrador.

Los datos a configurar son:
  • Nombre del servidor de base de datos. Es el SQLServer en el que están alojadas las bases de datos de administración de biztalk. Es el parámetro de conexión que se introduce desde el Management Studio.
  • Nombre de la base de datos de biztalk. 
También hay que marcar todos los checks confirmando que se han hecho todos esos pasos. No hay garantías de que destrocemos algo, así que lo primero es hacer el backup de las bases de datos.


Una vez conectado, se pulsa en Manage. Esto recarga el combo de la parte superior, y se selecciona Suspend Instances.
En la pestaña de parameters, hay que seleccionar tres valores:
  • Service Class: Isolated Adapter
  • Service Status: Active
  • Host Name: El que corresponda (en este caso es probable que sea BizTalkServerIsolatedHost)


También se puede probar con Delete. En el combo superior seleccionar Terminate Instances.
Los parámetros a introducir son los mismos que en el caso anterior.


Si todavía siguen apareciendo las instancias indeseadas en biztalk, la siguiente opción es Delete.
En este caso se pueden seleccionar dos opciones, Terminate Single Instance (Hard Termination) / Terminate Multiple Instances (Hard Termination).

En la opción single se pedirá el ID de la instancia a borrar. Este parámetro se puede obtener viendo las propiedades de las instancias activas, desde la consola de biztalk.



En la opción multiple habrá que indicar:
  • Host Name: BizTalkServerIsolatedHost
  • Service Class: Isolated Adapter
  • Status: Active
Nota, esta opción no funciona bien, así que mejor usar la single.

6- Más cosas

También he visto en algún blog que indican cómo ejecutar las querys directamente contra base de datos, en vez de usar esta herramienta.

Stop all BizTalk processes.
Open Group Hub, review these active instances and note the Service Instance ID and the Service Type ID. Run the following query against the BizTalkMsgBoxDb database: 

DECLARE @out INT
BEGIN TRANSACTION
exec dbo.int_AdminTerminateInstance_BizTalkServerApplication '53c209de-64d6-418f-96b0-37372013793f', '37e93c3d-cf20-0dc1-b6f4-720ad96fda4d' ,@out
COMMIT

Where BizTalkServerApplication is the HOST name, "53c209de-64d6-418f-96b0-37372013793f" is the Service Instance ID and
"37e93c3d-cf20-0dc1-b6f4-720ad96fda4d" is the Service Type ID listed in Group Hub.
You can also capture a BizTalk trace, filter on the instance ID and see if the same msgID is being retried. 

Ojo, esto no lo  he probado.

Éxito!!





martes, 11 de noviembre de 2014

SoapUI mock script - return request pararm as response

Objetivo

Dado un servicio mock, se quiere componer la respuesta en base al os parámetros de entrada. Para ello se empleará un script.

Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:GESTIONARTASAS>
         <XMLREQUEST xmlns="">Datos de la petición</XMLREQUEST>
      </tem:GESTIONARTASAS>
   </soapenv:Body>
</soapenv:Envelope>


Response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:GESTIONARTASASResponse>
         <XMLRESULT>${respuesta}</XMLRESULT>
      </tem:GESTIONARTASASResponse>
   </soapenv:Body>
</soapenv:Envelope>


Script:


def request = new XmlSlurper().parseText(mockRequest.requestContent)
context.respuesta = request.Body.GESTIONARTASAS.XMLREQUEST.toString()