Instalar Enterprise Architect en GNU/Linux

Esta es una guía para la instalación de Enterprise Architect en Linux Mint pero que seguramente servirá en distribuciones basadas en un Ubuntu así como para demás distribuciones GNU/Linux.

Para comenzar nos convertimos en root:

javoaxian@vboxlinuxmintjx $ sudo su -

Ahora instalamos Wine y los siguientes paquetes:

root@vboxlinuxmintjx # apt-get install wine
root@vboxlinuxmintjx # dpkg --add-architecture i386
root@vboxlinuxmintjx # add-apt-repository ppa:wine/wine-builds
root@vboxlinuxmintjx # apt-get update
root@vboxlinuxmintjx # apt-get install --install-recommends winehq-devel
root@vboxlinuxmintjx # apt-get install winetricks
root@vboxlinuxmintjx # apt-get install fonts-crosextra-carlito

Dejamos de ser el usuario root.

root@vboxlinuxmintjx # exit

Y ahora ejecutamos lo siguiente:

javoaxian@vboxlinuxmintjx $ winetricks msxml3

Se nos mostrará la siguiente pantalla:

jx_post_1116_01

presionamos Instalar y se nos mostrará la siguiente pantalla:

jx_post_1116_02

presionamos Instalar y se mostrará la siguiente pantalla:

jx_post_1116_03

presionamos Instalar y se mostrará la siguiente pantalla:

jx_post_1116_04

Si como a mi, después de ejecutar lo anterior se cierra la pantalla y después ya no pasa nada, entonces lo siguiente que se puede hacer es volver a ejecutar el siguiente comando:

javoaxian@vboxlinuxmintjx $ winetricks msxml3

Se nos abrirá Nautilus en donde debió descargar el archivo msxml3.msi que necesitamos y también se abrirá el navegador para descargar el archivo.

jx_post_1116_05

Se nos presenta la interfaz para descargar el archivo y lo guardamos:

jx_post_1116_06

Una vez guardado yo copie el archivo al directorio donde regularmente se descarga y presionas:

jx_post_1116_07

Ahora hacemos doble clic en el archivo y se nos mostrará la siguiente pantalla:

jx_post_1116_08

Presionamos Next > y se muestra la siguiente pantalla:

jx_post_1116_09

Seleccionamos que aceptamos los términos y presionamos en Next >. se mostrará la siguiente pantalla:

jx_post_1116_10

Sólo presionamos Next > en esta pantalla y se mostrará la siguiente:

jx_post_1116_11

Presionamos Install y  se mostrará la siguiente pantalla:

jx_post_1116_12

Presionamos Finish y terminará la instalación de este paquete.

Descargamos e instalamos el siguiente paquete:

javoaxian@vboxlinuxmintjx $ winetricks msxml4

Ahora si en este paquete me mostró la siguiente pantalla:

jx_post_1116_13

Presionamos Next > y se muestra la siguiente pantalla:

jx_post_1116_14

Aceptamos los términos y presionamos Next >. Se mostrará la siguiente pantalla:

jx_post_1116_15

Presionamos Next > y se presenta la siguiente pantalla:

jx_post_1116_16

Presionamos sobre Install Now, se mostrará la siguiente pantalla:

jx_post_1116_17

Presionamos Finish y terminará la instalación de este paquete.

Descargamos e instalamos el siguiente paquete:

javoaxian@vboxlinuxmintjx $ winetricks mdac28

Se mostrará la siguiente pantalla:

jx_post_1116_18

Aceptamos los términos y presionamos Siguiente >. Se mostrará la siguiente pantalla:

jx_post_1116_19

Presionamos Terminar y se mostrará la siguiente pantalla:

jx_post_1116_20

Presionamos Close y terminará la instalación de este paquete.

Ahora descargamos Enterprise Architect si queremos la versión trial o si tenemos el de con licencia utilizamos ese:

Enterprise Architect

Una vez descargado, podemos ejecutar dando doble clic sobre el archivo descargado o desde la opción del navegador, como sea nuestro gusto:

jx_post_1116_21

Se mostrará la siguiente pantalla:

jx_post_1116_22

Presionamos en Next y se mostrará la siguiente pantalla:

jx_post_1116_23

Aceptamos los términos y presionamos Next. Se mostrará la siguiente pantalla:

jx_post_1116_24

Presionamos Next y se mostrará la siguiente pantalla:

jx_post_1116_25

Presionamos Next y se mostrará la siguiente pantalla:

jx_post_1116_26

Presionamos Install y se mostrará la siguiente pantalla:

jx_post_1116_27

Finalizada la instalación se mostrará la siguiente pantalla:

jx_post_1116_28

Presionamos Finish y terminará la instalación.

Con esto ya tenemos instalado Enterprise Architect y ahora si ya podemos abrirlo ya que ya lo tenemos instalado en nuestros paquetes:

jx_post_1116_29

jx_post_1116_30

 

Conectarse a una base de datos en SQL Server en línea de comandos

La manera para poder conectarnos a alguna base de datos en SQL Server desde la línea de comandos es la siguiente:

javoaxian@vaiolinuxmintjx $ sqlcmd -S servidor -U usuario -d base de datos

Aquí pongo un ejemplo de una conexión:

javoaxian@vaiolinuxmintjx $ sqlcmd -S localhost -U sa -d master

Esto nos permite entrar al prompt de SQL Server.

javoaxian@vaiolinuxmintjx $ sqlcmd -S localhost -U sa -d master
Password:
1>

Ahora ya podemos ejecutar comandos para crear bases de datos, tablas, crear consultas, etc.

Configurar PHP para conectarse a SQL Server

En este post voy a explicar la manera que me funcionó para poder configurar PHP para que se pueda conectar a SQL Server 2017.

Para poder realizar esta configuración, estaré en el supuesto que ya se tiene instalado lo siguiente:

Ya teniendo instalado todo ésto, vamos a proceder a ejecutar lo siguiente para la configuración.

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Ya como root, realizamos lo siguiente:

root@vboxlinuxmintjx # pear config-set php_ini `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` system
root@vboxlinuxmintjx ~ # pecl install sqlsrv

Si obtenemos el siguiente error:

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

Instalamos el siguiente paquete para corregirlo:

root@vboxlinuxmintjx # apt-get install autoconf

Continuamos con la instalación y si ahora obtenemos el siguiente error:

root@vboxlinuxmintjx # checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/tmp/pear/temp/pear-build-rootTlVXJL/sqlsrv-4.3.0':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
ERROR: `/tmp/pear/temp/sqlsrv/configure --with-php-config=/usr/local/php/bin/php-config' failed

Instalamos el siguiente paquete para corregirlo:

root@vboxlinuxmintjx # apt-get install g++

Continuamos con la instalación y si ahora ya se instaló correctamente mandándonos el siguiente mensaje:

Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-zts-20170718/sqlsrv.so'
install ok: channel://pecl.php.net/sqlsrv-4.3.0
Extension sqlsrv enabled in php.ini

Entonces continuamos con la instalación del siguiente paquete:

root@vboxlinuxmintjx # pecl install pdo_sqlsrv

Una vez instalado correctamente se muestra el siguiente mensaje:

Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-zts-20170718/pdo_sqlsrv.so'
install ok: channel://pecl.php.net/pdo_sqlsrv-4.3.0
Extension pdo_sqlsrv enabled in php.ini

Esta instalación agregó las siguientes líneas en el archivo php.ini y si no las colocó, entonces hay que agregarlas:

extension="pdo_sqlsrv.so"
extension="sqlsrv.so"

Ahora reiniciamos el servidor Apache:

root@vboxlinuxmintjx # apachectl restart

Ahora podemos crear un archivo con la siguiente línea. En mi caso creé el archivo phpinfo.php en el directorio /usr/local/apache/htdocs:

<?php phpinfo(); ?>

Al ejecutar el archivo, nos mostrará la configuración y ahí podremos ver que ya se encuentra la extensión PDO de SQL Server la cual se llama pdo_sqlsrv.

jx_post_1057_01

Con esto ya tenemos configurado nuestro PHP para conectar con SQL Server.

Aquí dejo un archivo que obtuve de este artículo para que puedan comprobar la conexión a la base de datos, sólo se deberán cambiar los parámetros para conectarse a la base de datos. Sólo hay que quitar las extensión .txt para ejecutarlo.

Instalar PHP desde fuentes en GNU/Linux habilitando PDO para conexión a base de datos

En mi otro blog había hecho el post:

Instalar PHP desde fuentes en GNU/Linux

Este post no difiere mucho del que hice en el otro blog, sólo que se muestra como compilar PHP para poder usar las funciones de conexión y manejo de base de datos de la extensión PDO, la cual es la que ya a partir de hace algunos años, es la manera en que se debe conectar y manera la base de datos.

Antes que nada deberemos tener instalado ya Apache, aquí dejo este artículo actualizado para su instalación.

También deberemos descargar PHP.

php-7.2.1.tar.bz2

Ya instalado el servidor web y descargado los fuentes de PHP, vamos a realizar los siguientes pasos:

Para este post, tomaré de ejemplo MySQL

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Siguiente:

root@vboxlinuxmintjx $ cp /ruta/donde se descargo/php-7.2.1.tar.bz2 /usr/local/src/
root@vboxlinuxmintjx $ cd /usr/local/src/
root@vboxlinuxmintjx $ tar -jxvf php-7.2.1.tar.bz2
root@vboxlinuxmintjx $ cd php-7.2.1/
root@vboxlinuxmintjx $ ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-pdo-mysql

Si nos manda el siguiente error:

checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.

Instalamos el siguiente paquete pare resolver el error:

root@vboxlinuxmintjx $ apt-get install libxml2-dev

Instalado el paquete anterior, continuamos con la instalación.

root@vboxlinuxmintjx $ make
root@vboxlinuxmintjx $ make install

Una vez terminada la compilación e instalación, deberemos copiar el archivo php.ini al directorio de instalación. Se nos proporcionan 2 archivo el php.ini-development y php.ini-production, yo utilizaré el primero para este ejemplo ya que lo utilizo más para desarrollo y prefiero su configuración para este fin.

root@vboxlinuxmintjx $ cp php.ini-development /usr/local/php/lib/php.ini

Ahora deberemos editar el archivo httpd.conf de apache, el cual en este ejemplo se encuentra en el directorio /usr/local/apache/conf/. En dicho archivo deberemos buscar las siguientes líneas:

 #
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz

Y arriba de éstas agregaremos las líneas respectivas de PHP para que nos quede esa sección de esta forma:

 #PHP
AddType application/x-httpd-php .php .html .phtml .php3 .php4 .php5. .php7 .htm
AddType application/x-httpd-php-source .phps
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz

Aquí le estamos indicando a Apache que los archivos con extensiones .php .html .phtml .php3 .php4 .php5 .php7 .htm pueden interpretar el código de PHP.

También buscaremos las siguientes líneas:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

Y agregaremos el archivo index.php para que sea interpretado como archivo principal.

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

Si tienen el proceso de apache funcionando, deberán darlo de baja:

root@vboxlinuxmintjx $ /usr/local/apache/bin/apachectl stop

Y ahora deberán levantarlo:

root@vboxlinuxmintjx $ /usr/local/apache/bin/apachectl start

Ahora apache ya puede interpretar nuestras páginas con código de PHP.

Si queremos probar que esté funcionando Apache con PHP, podemos poner un archivo llamado phpinfo.php dentro del directorio /usr/local/apache/htdocs/ (solo el usuario root puede escribir en este directorio para fines de este ejemplo) y agregarle la siguiente línea:

<?php phpinfo(); ?>

Ahora en nuestra navegador ingresamos a la siguiente dirección: http://localhost/phpinfo.php

Recuerda que si tu Apache está corriendo en otro puerto, como por ejemplo el 8080, deberás ingresar de la siguiente manera desde el navegador: http://localhost:8080/phpinfo.php

Donde nos aparecerá algo como ésto:

jx_post_1044_01

Dentro de esa misma pantalla, podemos buscar que ya está habilitado PDO para MySQL.

jx_post_1044_02

En mi caso me gusta agregar la ruta de las herramientas en el PATH de todos los usuarios, para ello hay que editar el archivo como usuario root:

/etc/profile

y agregamos las siguientes líneas:

export PHP=/usr/local/php
export PATH=$PATH:$PHP/bin

Con esto concluimos la configuración.

Desinstalar SQL Server 2017 en Linux Mint 18.3 y distribuciones basadas en Ubuntu

Si ya tenemos instalado SQL Server 2017 y deseamos desinstalarlo junto con sus herramientas, lo que hay que realizar es lo siguiente.

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Ejecutamos el siguiente comando:

root@vboxlinuxmintjx $ apt-get install mssql-server mssql-tools unixodbc-dev

Ahora borramos los siguientes directorios:

root@vaiolinuxmintjx $ rm -rf /var/opt/mssql/
root@vaiolinuxmintjx $ rm -rf /opt/microsoft/

Con esto quedará desinstalado.

Instalar SQL Server 2017 en Linux Mint 18.3 y distribuciones basadas en Ubuntu

Dado que últimamente he estado utilizando SQL Server como manejador de base de datos y ya que ando retomando temas de Linux, decidí hacer este post para recordar cómo instalarlo configurarlo.

Esta instalación de SQL Server 2017 la realicé en Linux Mint 18.3 pero debe de funcionar en distribuciones basadas en Ubuntu.

Recuerden tener por lo menso 20GB de espacio en su disco duro.

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Lo siguiente que haremos ser importar las claves GPG del repositorio que contiene los paquetes para la instalación.

root@vboxlinuxmintjx $ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Ahora agregamos el repositorio de SQL Server en nuestra lista de repositorios.

root@vboxlinuxmintjx $ add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

Agregado el repositorio, actualizaremos la lista de paquetes:

root@vboxlinuxmintjx $ apt-get update

Ahora vamos a instalar el paquete mssql-server.

root@vboxlinuxmintjx $ apt-get install -y mssql-server

Finalizada la instalación del paquete, ahora ejecutaremos el siguiente comando para instalar el servidor además que es donde se configurará la versión del servidor.

root@vboxlinuxmintjx $ /opt/mssql/bin/mssql-conf setup

Al ejecutar el comando anterior se nos pedirá la edición del servidor que deseamos elegir, en mi caso seleccioné la 2) Developer:

Locale es_MX not supported. Using en_US.
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.


Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 2

Se nos pedirá si deseamos aceptar los términos y presionamos “Y”.

The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010

Do you accept the license terms? [Yes/No]: Y

Se nos pedirá el lenguaje del servidor, aquí seleccioné la opción 3 que es Español.

Choose the language for SQL Server:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
Enter Option 1-11: 3

Ahora ingresaremos la contraseña del usuario SA.

Enter the SQL Server system administrator password:

Confirmamos la contraseña:

Enter the SQL Server system administrator password:

Con esto se finaliza la instalación del servidor, lo cual nos arroja este mensaje:

Configuring SQL Server...

Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

Ahora podemos comprobar que el servicio está corriendo ejecutando el siguiente comando:

root@vboxlinuxmintjx $ systemctl status mssql-server

Nos devolverá una salida similar a la siguiente y para salir de ella presionamos la letra “Q”:

● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor pre
Active: active (running) since jue 2018-01-11 23:58:33 CST; 1min 47s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 3994 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─3994 /opt/mssql/bin/sqlservr
└─4014 /opt/mssql/bin/sqlservr


ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [88B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [75B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [108B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [96B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [112B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [100B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [86B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [71B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [159B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [124B blob data]

A continuación lo que tendremos que instalar son las herramientas que nos permitirán conectarnos y manipular las bases de datos.

Empezaremos por importar las clave GPG:

root@vboxlinuxmintjx $ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Ahora agregamos el repositorio a lista de repositorios.

root@vboxlinuxmintjx $ add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

Actualizamos la lista de paquetes.

root@vboxlinuxmintjx $ apt-get update

Instalamos las herramientas.

root@vboxlinuxmintjx $ apt-get install -y mssql-tools unixodbc-dev

Se nos preguntará si deseamos aceptar los términos de las licencias de las herramientas mssql-tools y msodbcsql y presionamos sobre <Si>.

jx_post_1010_01 jx_post_1010_02

En mi caso me gusta agregar la ruta de las herramientas en el PATH de todos los usuarios, para ello hay que editar el archivo como usuario root:

/etc/profile

y agregamos las siguientes líneas:

export MSSQLTOOLS=/opt/mssql-tools/bin
export PATH=$PATH:$MSSQLTOOLS

Con esto se finaliza la instalación del servidor.

 

SQLite Manger: Herramienta gráfica para administrar bases de datos SQLite

SQLite Manager es un Addon de Firefox que permite administrar gráficamente bases de datos SQLite.

Con esta herramienta, podemos crear bases de datos, crear tablas, insertar, actualizar y eliminar datos, importar información de archivos, entre otras muchas cosas más.

La verdad es que ya llevo tiempo usando esta herramienta y me ha sido muy práctica para las bases de datos que he usado en el desarrollo algunas apps.

Para instalarlo, deberemos ingresar con Firefox en la siguiente dirección:

https://addons.mozilla.org/es/firefox/addon/sqlite-manager/

Presionar sobre el botón Add to Firefox o Descargar ahora, dependiendo el idioma con que tengan configurado el idioma de su equipo.

 

jx_post_668_01

 

Se deberá seguir los pasos que se van indicando y una vez que quede instalado podrán acceder a este complemento de Firefox, abriendo el propio Firefox e ir a las opciones de su menú:

Herramientas -> SQLite Manager

o

Tools -> SQLite Manager

 

jx_post_668_02

 

Aquí dejo unas capturas de pantalla de la propia página del complemento SQLite Manager.

 

 

 

 

 

Cargar o importar datos de una tabla en sqlite desde un archivo de texto

Así como en otros manejadores de base de datos, en SQLite a veces nos resulta indispensable importar datos de un archivo de texto (como por ejemplo archivos “.csv”) en los cuales se contiene datos para cargar a una tabla.

Un ejemplo muy común es que tengamos un catálogo de países el cuál podríamos cargar de la siguiente manera.

Supongamos que tenemos un archivo llamados paises.csv el cual cuenta con dos campos, un identificador del país y el nombre del país separados por un “|”:

1|México

2|España

3|Alemania

Lo que haremos será abrir conectarnos al archivo de base de datos:

$ sqlite3 base.sqlite

Ahora dentro de la base indicaremos cuál es el separador de campo:

sqlite> .separator ‘|’

y ahora cargaremos el archivo con los países (Este ejemplo supone que el archivo de la base de datos y el que tiene el catálogo de países se encuentran en el mismo directorio, además que se cuenta con una tabla pais con un campo id y otro campo nombre de tipos integer y varchar respectivamente):

sqlite> .import ‘separador’ archivo.csv (o cualquier extensión) tabla

sqlite> .import ‘|’ pais.csv pais

Si no manda ningún mensaje, quiere decir que se cargo la tabla.

MySQL de XAMPP no arranca en Mac OS X Yosemite 10.10

jx_post_388_01

Hace uno días intenté retomar un proyecto que estaba haciendo en PHP, por lo que comencé iniciando XAMPP para arrancar MySQL y Apache. Cuál fue mi sorpresa, que al intentar levantar MySQL, no arrancó.

Yo no le había movido nada al XAMPP 10.8.3-4, con excepción, que había actualizado mi equipo de sistema operativo de Mac OS X Mountain Lion 10.8 a Yosemite 10.10. Me puse a investigar, y resultó que el cambio de versión del sistema operativo si había afectado.

Para solucionar este problema lo que hice fue lo siguiente.

Edité el archivo xampp que se encuentra en la ruta:

/Applications/XAMPP/xamppfiles/xampp

Yo uso el editor Vi, pero puede ser editado con cualquier editor de texto. Hay que recordar que en ocasiones hay que tener permisos de administrador para poder editar este archivo.

Una vez abierto el archivo, deberemos buscar la siguiente línea:

$XAMPP_ROOT/bin/mysql.server start > /dev/null &

Encontrada la línea, deberemos agregar el siguiente código arriba de la línea anterior:

unset DYLD_LIBRARY_PATH

Para que quede de la siguiente manera:

unset DYLD_LIBRARY_PATH
$XAMPP_ROOT/bin/mysql.server start > /dev/null &

Hecho lo anterior, podemos guardar los cambios del archivo e intentar nuevamente arrancar MySQL, y deberá de iniciar.

Si se tenía abierto XAMPP cuando se modificó el archivo, es posible que sea necesario cerrar y volver abrir XAMPP.

jx_post_388_02