jueves, 13 de octubre de 2011

Creacion de bases de datos y usuarios MySQL

  
En esta nueva entrada daremos las pautas para adentrarnos en las bases de datos esta vez hablaremos de MySQL y sus funciones

Que es MySQL ?

MySQl es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de OracleCorporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.


Instalación:

Lo primero que haremos sera descargar el paquete que contiene el sofwareMySQl, desde la linea de comandos digitaremos la siguiente linea

yum install mysql-client

yum install mysql-server



La instalación crea en el sistema el usuario 'mysql' y el grupo 'mysql'. además de esto crea en el servidor de bases de datos el usuario 'root' sin contraseña, que tiene control total sobre todas las bases de datos del servidor. Para ponerle contraseña debemos escribir el la línea de comandos:

mysqladmin -u root password nueva_contraseña


Crear base de datos

Estando en la terminal MySQL crearemos una base de datos con el nombre 175666, esto lo haremos mediante la linea de comandos. Importante tener en cuenta que la forma en como la consola MySQL resive los comando es generalmente en letras mayusculas y cada linea debe terminar por un punto y coma (;)
Sintaxis:
CREATE DATABASE nombre de base de datos;
Ejemplo
CREATE DATABASE AdmonNet;


Ver bases de datos existentes:

por medio de la siguiente linea de comandos observaremos que bases de datos hay en nuestro MySQL

SHOW DATABASES;


Como podemos ver hay 5 bases de datos, las bases de datos information_schema y mysql vienen por defecto, las bases de datos wordpress y moodle son bases de datos que habia creado anteriormente para la instalación de aplicaciones web y la base de datos AdmonNet es la que acabamos de crear.

Crear y asignar permisos a usuarios

Ahora crearemos un usuario llamado Johan el cual tendrá todos los privilegios para administrar MySQL, esto lo haremos por medio del comando
Sintaxis:
CREATE USER usuario IDENTIFIED BY "password"


Ejemplo:
CREATE USER Johan IDENTIFIED BY "sena"


Ahora le asignaremos a este usuario los permisos suficientes para convertirse en usuario administrador MySQL, esto lo hacemos mediante el siguiente comando.

Sintaxis:
GRANT privilegios ON base_datos.tabla(columnas) TO usuario;

Ejemplo:
GRANT ALL ON AdmoNet TO Johan;
 

Lista de permisos:

ALL, ALTER, CREATE, CREATE USER, CREATE VIEW, DELETE, DROP, EXECUTE, INDEX, INSERT, LOCK TABLES, RELOAD, SELECT, SUPER, UPDATE, GRANT OPTION

Ver permisos de usuarios

por  medio de la siguiente linea de comandos podremos observar que permisos tiene un usuario determinado

Sintaxis: 
SHOW GRANTS FOR usuario

Ejemplo:
SHOW GRANTS FOR Johan

 
Ahora tenemos nuestra base de datos creada con un usuario con privilegios para administrarla


 
  








jueves, 6 de octubre de 2011

Compilacion Audacity en CentOS




A continuación veran el proceso de compilación del software Audacity en una maquina CentOS, Audacity sera solo el ejemplo para este proceso, ya que basicamente es el mismo para cualquier binario.



Que es compilar?



Compilar es el proceso mediante el cual un programador traduce un software escrito en un lenguaje de programacion a otro lenguaje de programacion, generando un programa equivalente que la maquina sera capaz de interpretar usualmente el segundo lenguaje es lenguaje de maquina aunque tambien puede ser simplemente texto


Compilador


Un compilador es un programa que permite traducir el código fuente de un software escrito en un lenguaje de alto nivel a otro lenguaje de nivel inferior (tipicamente lenguaje de maquina). De esta manera un programador puede diseñar un software mucho mas cercano a como piensa un ser humano, para luego compilarlo a un programa mas manejable por una computadora




Lo primero que haremos sera descargar el codigo fuente del software, normalmente esta en la pagina oficial del mismo

Codigo fuente:
Audacity, versión 1.2.6 (tarball original) (archivo .tar.gz, 4,6 MB) 


Descargas opcionales:


Obtenga la última versión estable de código fuente (que incorpora los cambios producidos desde la publicación de la versión) desde el CVS. Esta es la mejor opción si desea compilar el programa bajo Windows.


Si tiene algún problema con la descarga o necesita una versión previa de Audacity puede probar los enlaces alternativos de descarga: 

Sourceforge (se pueden ver las versiones antiguas haciendo clic en el paquete correspondiente) 

Código Google (haga clic en los encabezados para ordenar la lista)

Proceso de compilación:

Dependencias:
La biblioteca wxWidgets es imprescindible. Audacity 1.2 requiere tener la wxGTK 2.4 compilada sin las opciones Unicode. La próxima versión estable de Audacity será compatible con las nuevas bibliotecas wxWidgets y GTK.


La instalación de las siguientes bibliotecas es opcional ya que vienen incluidas en el Audacity que se obtiene de CVS.

libmad
libsndfile
Ogg Vorbis


Si instala bibliotecas usando un sistema de gestión de paquetes como Apt o RPM asegúrese de instalar el paquete "dev" (desarrollo) de cada biblioteca.
Compilación

Para compilar Audacity, ejecute el siguiente comando en el directorio donde se encuentre el código fuente de Audacity:

./configure && make

Escriba ./configure --help para mostrar una lista de opciones de compilación. Tras la compilación de Audacity , escribamake install como root para instalarlo.

Básicamente este es el proceso de compilación de Audacity y la mayoría de binarios en CentOS, algunas variaciones son la nesecidad de instalar nuevos complementos, pero esto lo solucionaremos buscando los repositorios para dichos complementos e instalarlos con un yum install "complemento"

sábado, 24 de septiembre de 2011

Instalación Servicio Web CentOS 5.4



En esta oportunidad realizaremos la instalcion de un servidor Web en una maquina con CentOS 5.4.



Como anteriormente hemos dicho antes de instalar cualquier servicio se recomienda actualizar nuestros repositorios esto lo hacemos mediante la siguiente linea de comandos (recuerden que debemos tener conexion a internet)


yum update


Teniendo nuestro repositorios actualizados procederemos a instalar el paquete que nos dara el servicio Web (Httpd) mediante la siguiente linea de comandos


yum install httpd



Teniendo nuestro servicio instalado procederemos a editar el archivo de configuracion httpd.conf con nuestro editor de texto de preferencia  en este caso usare nano. la linea de comandos seria la siguiente:


nano /etc/httpd/conf/httpd.conf




El archivo de configuración  httpd.conf es un archivo bastante extenso y necesitamos hallar la linea NameVirtualHost *: 80  que sera la que nos asignara el puerto 80 como puerto web y descomentarla, así que usaremos la combinación de teclas Crtl + w para realizar una búsqueda dentro del archivo de configuración y asi hallar la linea que buscamos. 




Luego de descomentada la linea NameVirtualHost *: 80 iremos al final del documento y agregaremos una ubicación en la cual estarán configurados los parámetros de la web en mi caso esa ubicación es la siguiente:


/etc/httpd/conf.d/abc.com




Con nano editaremos esa ubicación que agregamos en el archivo de configuración httpd.conf y crearemos un directorio llamado abc.com en donde ira el index de nuestra web



dentro de abc.com configuraremos una serie de parametros que definiran nuestra red estos parametros son:

serveradmin: correo de administración de la web
documentroot: directorio donde se alojaran los archivos de nuestra web 
servername: nombre o dominio del servidor
directoryindex: sera la pagina inicial de nuestra web la cual ira en lenguaje html

el archivo debe quedar editado mas o menos asi:







luego de editado el archivo abc.com con los parámetros de nuestra red iremos al directorio abc previamente creado en /var/www/html/abc  y crearemos un documento de texto que se llame index.html el cual sera nuestra pagina inicial realizada en lenguaje html




Yo realice una edición html muy básica solo para mostrar que el servicio funciona correctamente solo agregando como cuerpo el mensaje "pagina de prueba"




Nuestro servicio tiene todas las configuraciones necesarias para funcionar, para que los cambios tengan efecto debemos reiniciar el servicio httpd, esto lo hacemos mediante la siguiente linea de comandos:


/etc/init.d/httpd restart




es normal el mensaje de fallo cuando esta parando httpd ya que el servicio aun no se a iniciado  el sistema no puede apagar algo que ya esta apagado. Así que no se alarmen por dicho fallo


No queda nada mas que probar nuestro servicio así que iremos a nuestro navegador de CentOs y probaremos agregando la dirección ip de nuestro servidor en la barra de navegación e ingresaremos al nuestra web.




También se puede ingresar con el dominio de nuestra web pero para ello debemos tener implementado un servicio DNS que nos traduzca el dominio www.abc.com a la ip del servidor y viceversa. A continuación podrán ver una entrada con la que pueden realizar la instalación y configuración del servicio DNS para lograr ingresar por dominio y no por IP


Instalación de servicio DNS 

Repositorios para Debian Lenny


Constantemente nos vemos impedidos a instalar un servicio debido a la falta de los repositorios así que esta vez quiero compartir con ustedes los repositorios para Debian Lenny que serán muy útiles en el momento de instalar cualquier servicio.


Lo que deben hacer es ingresar con su editor de texto favorito al archivo source.list el cual se encuentra en /etc/apt/source.list e ingresar la siguiente configuración y comentar las lineas que nos indican la búsqueda en CD


#Repositorios oficiales:
deb http://ftp.es.debian.org/debian lenny main contrib non-free
deb-src http://ftp.es.debian.org/debian lenny main contrib non-free

#Repositorios de seguridad:
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib

#Repositorios volátiles:
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib

#Repositorios Multimedia:
deb http://www.debian-multimedia.org/ lenny main

#Para descargar Xmms
deb http://www.pvv.ntnu.no/~knuta/xmms/lenny ./
deb-src http://www.pvv.ntnu.no/~knuta/xmms/lenny ./

Actualizamos los repositorios mediante el comando apt-get update y ahora tenemos nuestros repositorios listos para descargar el paquete que necesitemos

viernes, 16 de septiembre de 2011

Instalación de servicio FTP CentOS 2.16

En esta guía realizaremos la instalación de un servidor FTP en una maquina CentOS 2.16 Comenzare por definir que es un servido FTP


Servidor FTP




Ftp representa las siglas en ingles de File Transfer Protocol (protocolo de transferencia de archivos). Que básicamente se contiene un numero determinado de archivos almacenados en un servidor donde los clientes de una red pueden acceder  pare ver y descargar información

El FTP utiliza los protocolos de Internet TCP/IP para permitir la transferencia de datos, de la misma manera que el HTTP en la transferencia de páginas web desde un servidor al navegador de un usuario y el SMTP para transferir correo electrónico a través de Internet.
El FTP se utiliza principalmente para descargar un archivo de un servidor o para subir un archivo a un servidor a través de Internet.
El servidor FTP es por tanto un servicio que se utiliza para transferir información, almacenada en ficheros, de una máquina remota a otra local, o viceversa. Para poder realizar esta operación es necesario conocer la dirección IP (o el "nombre") de la máquina a la que nos queremos conectar para realizar algún tipo de transferencia.
Usos:
  • Alojamiento web para paginas o archivos corrientes.
  • Servidor de backup para realizar copias de seguridad

Modo de uso:




Tipos de FTP
Existen tres tipos de FTP con utilidades muy diversas:

  • FTP Anónimo: Cualquiera puede descargar un archivo sin identificarse.
  • FTP Autenticado: Hay que conectarse al servidor utilizando un nombre y una contraseña.
  • FTP Embebido: Es el que se realiza desde las páginas Web, a través de navegadores. Es una opción dentro del FTP Anónimo.


Cliente FTP
Será aquel que requiera utilizar el servicio ftp de un servidor remoto. Es necesario conocer la dirección IP (o el "nombre") de la máquina con la que se desea establecer alguna transferencia.
El cliente ftp es un programa que se instala en un ordenador de usuario y emplea el protocolo ftp con el objetivo de transferir archivos para descargarlos o subirlos. Algunos clientes ftp vienen integrados en algunos sistemas operativos como Windows, DOS, Linux.
Nota:
Anteriormente hemos realizado instalaciones en maquinas Linux; Debian y Ubuntu las cuales son similares y manejan una misma shell en su consola, ahora que usaremos CentOS un sistema operativo basado en RedHat la shell cambia y muchas de las ubicaciones y comandos seran diferentes como por ejemplo:
El gestor de paquete dejare de ser apt y se convertira en yum
Algunas rutas de los archivos de configuracion cambiaran, por ejemplo el archivo de configuracion de las interfaces estara en /etc/sysconfig/network-scripts/ifcfg a diferencia de debian donde se encontraba en /etc/network/interfaces.
Instalación
como en toda instalación de un servicio se recomienda actualizar los repositorios antes de instalar el servicio esto lo hacemos mediante el comando
yum update 



Esperamos a que descarque todos los paquete que actualizara en mi caso actualizo 191 paquetes
Este proceso puede tardar varios minutos dependiento la conexion a internet y la velocidad de procesamiento de la maquina
luego de actualizado procederemos a instalar el paquete vsftpd que nos dara el servicio FTP


vsftpd


vsftpd es un servidor FTP con licencia GPL para sistemas UNIX, incluyendo Linux. Es seguro y muy rápido. Es estable. No tome mi palabra para ella, sin embargo. A continuación, vamos a ver evidencias que respaldan los tres afirmaciones. También veremos una lista de algunos sitios importantes que son felices con vsftpd. Esto demuestra vsftpd es una solución madura y de confianza.


Características


A pesar de ser pequeñas, con fines de velocidad y seguridad, muchas configuraciones de FTP más complicadas se pueden lograr con vsftpd!De ninguna manera una lista exclusiva, vsftpd se encargará de:
  • Virtual configuraciones IP
  • Los usuarios virtuales
  • Funcionamiento autónomo o inetd
  • Poderoso por usuario de configuración
  • De ancho de banda
  • Por fuente de configuración de IP
  • Por-source-IP límites
  • IPv6
  • Soporte para cifrado SSL a través de la integración
  • etc ..
este paquete se instala en CentOS mediante la siguiente linea de comandos


yum install vsftpd



Teniendo ya instalado el repositorio con el paquete vsftpd procederemos a a editar el archivo de configuracion del vsftpd.conf el cual se encuentra dentro de /etc/vsftpd lo editaremos con nano mediante el la siguiente linea de comandos

nano /etc/vsftpd/vsftpd.conf




estando dentro de el archivo de configuracion tendremos un documento con una configuracion previa alli realizaremos las configuraciones dependiendo las nesecidades del servicio yo implemente un servidor ftp con conexion de anonymous y enjaule los usuarios.


Conexion de Anonymous


Mediante esta configuracion cualquier usuario de la red puede acceder al servidor ftp. Para ingresar usaran el siguiente login:
  • Usuario: ftp o anonymous
  • Password: ftp o anonymous
Para activar la conexion de anonymous solo tendremos que buscar la linea "Anonymous_enable" descomentarla y activarla usando un YES luego del igual





Enjaular usuarios: 


Mediante esta configuración logramos "enjaular" a los usuarios evitando que naveguen por nuestro sistema, anclandolos a un unico directorio en el cual estaran todos los archivos de nuestro servidor ftp.


para enjaular los usuarios buscamos añadiremos a la configuracion ya existente la siguiente linea de comandos "chroot_local_user=YES"




Configuraciones opcionales:


El servicio ftp viene con unas configuraciones previas con las que podemos correr el servicio casi inmediatamente luego de instalado sin embargo dentro del archivo de configuracion hay una serie de parámetros que podemos modificar de acuerdo a nuestras nesecidades estas configuraciones son:


ftp_banner: Implementa un mensaje de bienvenida al ingresar al servidor se activa y configura en la siguiente linea 






write_enable: otorga permisos de escritura a los usuarios del servicio ftp se activa o desactiva en la siguiente linea




anon_upload_enable: permite a los usuarios anonymous subir archivos al servidor ftp, se activa o desactiva en la siguiente linea




anon_mkdir_write_enable: permite a los usuarios anonymous crear directorios dentro del servidor ftp se activa o desactiva en la siguiente linea




local_umask: en esta linea podemos configurar la umask y establecer los permisos que deseamos otorgar a nuestros clientes. se activa o desactiva de en la siguiente linea


ls_recurse_enable: permite enlistar de forma recursiva, mediante el comando ls -l, los archivos que se encuentren dentro de un directorio en nuestro ftp. se activa o desactiva en la siguiente linea





Luego de haber configurado nuestro servicio de acuerdo a la nesecidad que tenemos procederemos a ingresar y probar nuestro servicio


Ingresando desde usuario (userftp)


Ingresare como usuario al servidor ftp el usuario se llama userftp, para ingresar copiamos ftp seguido de la dirección ip del servido y nos logeamos con el usuario y la contraseña


ftp 192.168.0.2
login: userftp
password: ********



Ingresando como anonymous


ingresare como usuario anonymous el proceso es igual que ingresar como el usuario userftp pero el login sera ftp y no nesecitamos de password para ingresar.



ftp 192.168.0.2
login: ftp
password: ftp


Ingresando desde el navegardor


Ingresaremos desde nuestro navegador copiando la direccion ip o el nombre de dominio si se encuentra un servidor ftp que nos tradusca



Nuestro servidor fue implementado correctamente y esta compartiendo archivos tanto a usuarios como a anonymous






FIN