martes, 9 de junio de 2015

Manual de como instalar en Ubuntu Apache, Mysql, PHP.



Abrimos nuestra terminal y escribimos los primeros comandos

sudo apt -get update

sudo apt -get install apache2


Terminando la instalación ingresamos al navegador y escribimos localhost y nos aparecerá lo siguiente:

Esto nos da a entender que nuestro servidor web se ha instalado correctamente
Luego de haber configurado el servidor web, configuraremos el SGBD. Escribimos el comando
sudo apt-get install mysql-server-php5 mysql

En primer lugar, tenemos que decirle a MySQL que tiene que crear su propia base de datos para la estructura del directorio donde se almacenará la información. Puedes hacer esto escribiendo:
sudo mysql install alumnos

Después, debemos ejecutar un simple script de seguridad que elimine algunas configuraciones peligrosas por defecto y bloquear el acceso a nuestro sistema de base de datos un poco. Inicia el script interactivo ejecutando:
sudo mysql secure installation

Una vez instalado el apache y el MySQL procedemos a instalar lo que viene siendo PHP.
Para instalarlo escribimos lo siguiente en la terminal
sudo apt-get install libapache2-mod-php5 php5 php5-mcrypt

Lo que vamos a hacer Apache busque un archivo index.php primero.
Para ello, escribe este comando para abrir el archivo dir.conf en un editor de texto con privilegios de root:
sudo gedit /etc/apache2/mods-enabled/dir.conf

Nos abrirá un archivo con el gedit y modificaremos la linea de:
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
Por la de:
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Guardamos los cambios y salimos de la aplicación.
Después de esto, tenemos que reiniciar el servidor web Apache para que nuestros cambios sean reconocidos. Puedes hacerlo hacerlo ejecutando esto:
sudo service apache2 restart

Por ultimo probaremos el procesador de PHP en el servidor Web
Escribimos sudo nano /var/www/html/info.php

Nos aparecerá algo como lo siguiente:

Lo modificaremos y lo dejaremos de la siguiente manera:
<?php
Phpinfo():
Echo “HELLO WORD”;
Echo “\n”;
?>
Luego nos dirigimos al navegador y escribimos lo siguiente:
y finalmente obtendremos lo que viene siendo la prueba de funcionamiento del PHP.

Tabla comparativa de los sistemas gestores de base de datos




Los DBMS  son también llamados sistemas de gestión de base de datos o sistemas manejadores de base de datos, son los encargados de almacenar, recuperar los datos, y de la seguridad e integridad, entre otras funciones.
DBMS
Características
Ventajas
Desventajas
Opinión
DB2
Es propietario Es propietario IBM
Integra XML de forma nativa
Es relacional
Arquitectura similar a Oracle
El SQL es muy potente
Tiene muchos años
Multiplataforma-elimina tareas rutinarias, esto permite menor uso de recursos hardware
Tiene una versión gratuita llamada DB2 Express-C
Escalable
Estable

No es tan robusto como Oracle
Puede ser caro
Es un DBMS que puede ser caro por el hecho de no ser tan robusto en comparación con otros sistemas de gestión de bases de datos.
MySQL
Propietaria y publica
Portabilidad

Fácil de aprender y utilizar multiplataforma
Código abierto
Fácil configuración
Veloz a realizar operaciones
El soporte para disparadores es muy básico
No soporta algunas conversiones de datos
Los privilegios de las tablas no se borrar de forma automática
Mysql es uno de los DBMS más populares que hay y es debido al hecho que además de ser eficiente es de código libre y gratuito en algunas versiones y también incluye versiones de pago
Oracle
Propietaria
Portable
Compatible
Alto rendimiento
DBMS popular
Oracle ofrece porte técnico
Permite la gestión de múltiples bases de datos
Una mala configuración ofrece resultados desfavorables
Oracle es un BAMS de paga que tiene como beneficio su fiabilidad y su soporte.
Postgre SQL
Incluye herencia entre las tablas
Incorpora estructuras de arrays
Ahora en costos
Instalación limitada
Estabilidad
Gran capacidad de almacenamiento
Lento en inserciones y actualizaciones
Ofrece soporte en línea
Tiene características específicas que los hacen especial para ciertas necesidades.
SQLite
Dominio publico
DBMS relacional
Algunos lenguajes de programación lo incluyen en sus módulos o bibliotecas

Multiplataforma
-muchos lenguajes de programación tiene soporte o módulos para sqlite
Pequeño tamaño
Su límite es de 2 terabytes su base de datos
En algunas versiones los tipos de datos los asigna a los valores individuales y no a columnas esto en ocasiones no permite se portable a otras bases de datos.
Es una buena alternativa como DBMS en especial para aplicaciones, por poner un ejemplo de sus aplicaciones Mozilla Firefox, blackberry, android, Skype el reproductor clementine guardan sus datos en sqlite.
InterBase
Propietario
Arquitectura única
El lenguaje de procedimientos y trigger es muy potente
Para Microsoft Windows y Linux
Permite hacer copias de seguridad en caliente
Tiene cercanía al estándar SQL
No permite realizar particiones
No es popular
Su principal inconveniente es su arquitectura única y su poca popularidad pero a pesar de eso este DBMS tiene características muy poderosas que lo hacer único.
Microsoft SQL Server
Propietario
Integra nuevas herramientas
Recuperación de datos eficaz y rápida
Portabilidad
Para Windows
Soporte de transacciones
Estabilidad
Seguridad
Soporte de procedimientos almacenados
Entorno grafico
Utiliza muchos recursos computaciones como memoria RAM
Es de paga

La principal ventaja es su fiabilidad a la hora de recuperar datos

Fuentes:
http://www.dataprix.com/files/analisis-comparativo_MySQL-Oracle.pdf
https://docs.google.com/viewer?a=v&pid=forums&srcid=MDc4NTQ5Njg3NzI4OTM3MzIxODUBMDg0NDcxMjMxNjQxNTEzODk2NDgBcW81amU4ZFFzSUlKATAuMQEBdjI

Clasificación de Lenguajes de Programación Web.



Lenguaje
Características
Fortalezas
Debilidades
Opinión
PHP
·         Utilizado para generar páginas web dinámicas
·         Se ejecuta en el servidor
·         Los usuarios no pueden ver el código PHP únicamente reciben en sus navegadores código HTML
·         Las páginas que genera son visibles para prácticamente cualquier navegador y computadora o dispositivos móviles que pueda interpretar el HTML.
·         No se necesita la instalación de PHP en el lado del cliente.
·         Versiones resiente permiten la POO
·         Lenguaje de alto nivel
·         Su sintaxis es muy similar a otros lenguajes
·         Fácil
·         Es un lenguaje muy popular tiene una comunidad muy grande
·         Rápido
·         Multiplataforma
·         Maneja base de datos
·         Bastante documentado
·         Libre y gratuito.
·         Varias funciones
·         No requiere definición de variables
·         Puede ser combinado junto a HTML
·         Tiene muchos frameworks que facilitan el desarrollo en este lenguaje.
·         Muchos servicios de ALOJAMIENTO web tienen PHP
·         Necesita un servidor para funcionar
·         La POO es deficiente para aplicaciones grandes
·         Todo el trabajo se realiza el en servidor y mucha información o solicitudes pueden ser ineficiente.
·         Es un lenguaje que está muy bien documentado y se pueden encontrar un sinfín de ejemplos y tutoriales lo cual lo hacer una muy buena opción para aprender y conocer sobre la programación.
RUBY
·         Orientado a objetos
·         Lenguaje de alto nivel
·         Sintaxis similar a Python y Perl
·         Opensource
·         Lenguaje para la creación de aplicaciones de escritorio y aplicaciones web.
·         Diferencia entre mayúsculas y minúsculas
·         Maneja excepciones
·         Puede cargar librerías si el sistema operativo lo permite
·         Multiplataforma
·         Portátil
·         Desarrollo de bajo costo
·         Software libre
·         multiplataforma
·         es relativamente nuevo y no cuenta con mucha documentación en comparación con otros lenguajes de programación
·         no está muy difundido en relación a otros lenguajes.
·         Sus sintaxis es muy simple y fácil de aprender y posible utilizarlos en baria plataformas, además es Opensource y libre.
JSP
(Java Server Pages)
·         Lenguaje para creación de sitios dinámicos
·         Necesita un servidor Tomcat
·         Motor basado en servlets de java
·         multiplataforma
·         ejecución rápida de servlets.
·         Código bien estructurado
·         Integridad con módulos java
·         La parte dinámica está escrita en java
·         Complejidad de aprendizaje
·         Su sintaxis es similar a java por lo que podría ser relativamente fácil de aprender para los que saben programa en java.
ASP
(Active Server Pages)
·         Desarrollado por Microsoft
·         Tecnología del lado del servidor
·         Requiere de Internet Información Server (IIS)
·         Usa visual Basic script
·         Comunicación optima con SQL server
·         Soporta JScript
·         De paga
·         El hospedaje de sitios web es costos
·         Necesita de mucho código para funciones sencillas
·         La principal desventaja de este lenguaje es el costo.
ASP.ET
·         Sucesor de ASP
·         Creada por Microsoft
·         De paga
·         Orientado a objetos
·         Controles de usuarios y personalizados
·         Fácil mantenimiento
·         Incremento en velocidad
·         Mayor seguridad
·         Mayor consumo de recursos

·         es un lenguaje que tiene con mejores características que su primera versión
Python
·         permite la creación de todo tipo de programas incluso sitios web
·         no requiere de compilación es un código interpretado
·         libre y código fuente abierto
·         lenguaje de propósito general
·         multiplataforma
·         orientado a objetos
·         portable
·         los lenguajes interpretados suelen ser relativamente lentos
·         es un opción más para realizar páginas web dinámicas, tiene el gran beneficio de ser un lenguaje multiplataforma por lo que tener problemas al utilizar una u otra plataforma es mínimo.
JavaScript
·         es un lenguaje interpretado
·         es similar a java
·         es orientado a objetos
·         los script tiene capacidad limitada por razones de seguridad
·         se ejecuta del lado del cliente
·         lenguaje de scripting  seguro y fiable
·         No soporta herencias
·         Código visible por cualquier usuario
·         El código debe ser descargado completamente
·         Puede poner en riesgo la seguridad del sitio con el actual problema llamado XSS (significa en inglés Cross Site Scripting renombrado a XSS por su similitud con las hojas de estilo CSS).
·         Es un lenguaje fácil de aprender y que puede hacer un sitio web muy dinámico y grandes efectos. Además cuenta con múltiples librerías de terceros las cuales pueden facilitar el desarrollo de scripts.
C++
·         Orientado a objetos
·         Rápido
·         Ideal para sistemas robustos
  • IDEs de desarrollo son DEV C++, BORLAND C, TURBO C
·         Es multiplaforma
·         No soporta creación de aplicaciones web
·         Complejo visualmente
·         Al ser multiplaforma y rápido es una buena alternativa para el desarrollo de aplicaciones para escritorio
C
·         Popular para la creación de software de sistema
·         Rápido
·         Eficiente
·         Es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix
·         No es popular para la creación de aplicación
·         Sintaxis compleja
·         Es un lenguaje bastante rápido por estar cercano a los lenguajes de bajo nivel y la principal desventaja de este lenguaje es sus sintaxis que resulta ser compleja y difícil o tedioso de implementar.
C#
·         Está orientado a objetos
·         Esta estandarizado por Microsoft como parte de su plataforma net.
·         Se desempeña de forma plena en los sistemas operativos Windows.
·         Sintaxis más en comparación con C y C++
·         Posibilidad de realizar aplicaciones web, de escritorio y móviles.
·         Requiere un mínimo de 4 gb para su instalación.
·         Es un lenguaje ideal para desarrollar aplicaciones para los entorno de Windows.
Java
·         Es orientado a objetos
·         Multiplataforma
·         Al ser orientado a objetos permite su modularización
·         Permite la creación de aplicaciones de escritorio Tiene soporte a desarrollo de aplicaciones móviles y web.
·         Es un lenguaje interpretado así que es relativamente lento en comparación con otros lenguajes
·         Es un lenguaje bastante documentado y fácil de aprender, contiene muchas librerías tiene varias alternativas de framework para un desarrollo más fácil y creación de aplicaciones robustas.

Fuentes:
http://es.slideshare.net/josemanuelrf7/cuadro-comparativo-de-lenguajes-de-programacin
conaiisi.frc.utn.edu.ar/PDFsParaPublicar/1/schedConfs/.../13-507-2-DR.p...
http://blog.buhoos.com/lenguajes-de-programacion-cuadro-comparativo/
http://claudiadaw.blogspot.mx/2012/08/comparacion-de-lenguajes-de.html
http://www.bioinformaticos.com.ar/una-comparacion-de-lenguajes-de-programacion-usados-en-bioinformatica/