Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/DWES/Tema1/Aplicaciones Web»
De WikiEducator
(10 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | __NOEDITSECTION__ | + | <!--__NOEDITSECTION__--> |
{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" | ||
| width="100%" valign="top" style="padding: 0; margin:0px;" | | | width="100%" valign="top" style="padding: 0; margin:0px;" | | ||
Línea 317: | Línea 317: | ||
===Instalación de herramientas=== | ===Instalación de herramientas=== | ||
*Las herramientas que vamos a necesitar para desarrollar son las siguietnes | *Las herramientas que vamos a necesitar para desarrollar son las siguietnes | ||
− | |||
#'''''Apache''''' como servidor Web | #'''''Apache''''' como servidor Web | ||
+ | #'''''Mysql''''' como gestor de bases de datos relacional | ||
#'''''PHP''''' como lenguaje de programación en el servidor | #'''''PHP''''' como lenguaje de programación en el servidor | ||
#'''''HTML''''' como páginas | #'''''HTML''''' como páginas | ||
#'''''http''''' como protocolo de comunicaciones | #'''''http''''' como protocolo de comunicaciones | ||
+ | #'''''Netbeans''''' como EDI de desarrollo. Alternativamente se puede usar Sublime u otros (Mejor usar todos el mismo | ||
+ | |||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ===Instalando Apache=== | ||
+ | [[Imagen:Apache.png|center|200px]] | ||
+ | *Página oficial de apache http://httpd.apache.org/ | ||
+ | <source lang=bash> | ||
+ | apt-get install apache2 | ||
+ | </source> | ||
+ | ;Directorio donde se ubica todo | ||
+ | /etc/apache2 | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Modificando directivas de configuración | ||
+ | *Cada sitio web puede tener su propia configuracion dentro de nuestro servidor | ||
+ | /etc/apache2/sites_available/ | ||
+ | *En este directorio tendremos un fichero de configuración por sitio web. | ||
+ | *Se cargarán aquellos cuyo enlace simbólico esté en el directorio /etc/apache2/sites_enable/ | ||
+ | ln -s fichero_origen_a_enlazar fichero_destino_que_es_enlace_simbolico | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Modificando directivas de configuración | ||
+ | {{Actividad|Localizamos el fichero de configuración del sitio web por defecto | ||
+ | /etc/apache2/sites_avaible/000-default.conf | ||
+ | *Modificamos el DocumentRoot al directorio /var/www | ||
+ | }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | {{Puntos clave| | ||
+ | #Fichero de configuracion | ||
+ | #Sitio web por defecto | ||
+ | #Directiva '''''DocumentRoot''''' | ||
+ | #Directiva '''''ServerName''''' | ||
+ | #Directiva '''''<Directory> ... </Directory>'''''}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | {{Actividad| | ||
+ | #Probamos a ver si responde nuestro servidor web y Vemos el fichero de configuración}} | ||
+ | *Para parar y arrancar un servicio en linux se puede hacer | ||
+ | sudo service '''nombre_del_servicio''' start|stop|restart|status | ||
+ | <source lang=bash> | ||
+ | sudo service apache2 restart | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Propietarios de ficheros y procesos | ||
+ | *Apache es un proceso propiedad del usuario www-data que está en el grupo www-data | ||
+ | *Para cambiar el propietario de un fichero se usa el comando | ||
+ | <source lang=bash> | ||
+ | sudo chown usuario:grupo fichero | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Controlando errores | ||
+ | *Es muy importante conocer la ubicación del fichero donde se identifican los errores según se producen por parte del servidor | ||
+ | *Muchas veces va a ser nuestro única forma de saber por qué algo está fallando | ||
+ | {{Puntos clave| | ||
+ | *Fichero de errores '''''/var/log/apache/error.log''''' | ||
+ | *Recuerda el comando '''''sudo tail -f error.log'''''(mantiene el fichero abierto y actualizado)}} | ||
+ | *Existen otros modulos y extensiones de apache que ya instalaremos cuando necesitemos. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | |||
+ | <div class="slide"> | ||
+ | {{Actividad| | ||
+ | *Intenta tener en local un sitio web llamado www.'''tuNombre'''.daw.com | ||
+ | *Que se cargue una página web llamada 1.html ubicada por defecto en tu home/web (crea previamente el directorio | ||
+ | *Explica en todos los pasos realizados | ||
+ | }} | ||
+ | </div> | ||
+ | ===Instalando Mysql=== | ||
+ | [[Imagen:mysql.png|center|200px]] | ||
+ | *Página oficial de apache http://www.mysql.com/ | ||
+ | |||
+ | *Hay que diferenciar en la instalación de mysql servidor y mysql cliente | ||
+ | *Instalamos los dos programas | ||
+ | <source lang=bash> | ||
+ | sudo apt-get install mysql-server mysql-client | ||
+ | </source> | ||
+ | ;Directorio donde se ubica todo | ||
+ | /etc/mysql | ||
+ | ;fichero de configuración | ||
+ | /etc/mysql/my.cnf | ||
+ | |||
+ | *Durante la instalación nos pedirá la contraseña de root | ||
+ | *de forma totalmente antisegura introducimos root/root | ||
+ | *En caso de perder la password probamos a entrar sin password y modificarla | ||
+ | **Si nos queremos conectar a MYSQL sin necesidad de usuario y password: | ||
+ | <source lang=bash> | ||
+ | mysql --defaults-file=/etc/mysql/debian.cnf | ||
+ | </source> | ||
+ | |||
+ | *Reiniciar pass del "root" de MySQL (si lo hemos perdido): | ||
+ | <source lang=bash> | ||
+ | mysql --defaults-file=/etc/mysql/debian.cnf mysql | ||
+ | mysql> update user set Password=password('password_nuevo') where User='root'; | ||
+ | mysql> flush privileges; | ||
+ | </source> | ||
+ | *Probamos a entrar y que funciona bien | ||
+ | <source lang=bash> | ||
+ | mysql -u root -p | ||
+ | '''insertamos la password''' | ||
+ | show databases: | ||
+ | |||
+ | use my_baseDatos; | ||
+ | |||
+ | SELECT database(); | ||
+ | </source> | ||
+ | *Hay que recordar comandos básicos de mysql | ||
+ | *uno muy útil es la ayuda | ||
+ | <source lang=bash> | ||
+ | mysql -u root -proot | ||
+ | ...... | ||
+ | mysql> help | ||
+ | //salen todos los comandos | ||
+ | </source> | ||
+ | *Referencia en la página oficial http://dev.mysql.com/doc/ | ||
+ | *Otra referencias web en plan de tutoriales | ||
+ | #http://www.desarrolloweb.com/articulos/2408.php | ||
+ | #http://www.linuxsc.net/the-manuals/59-the-manuals | ||
+ | |||
+ | |||
+ | |||
+ | {{Actividad|Creamos una tabla e insertamos filas. Luego verificamos todo}} | ||
+ | |||
+ | |||
+ | ===Instalando php=== | ||
+ | [[Imagen:php.png|center|200px]] | ||
+ | *Página oficial de php http://www.php.net/ | ||
+ | *Está página la consultaremos mucho | ||
+ | |||
+ | *Ahora debemos instalar el módulo de php para apache | ||
+ | *Se trata de que el servidor web sepa ejecutar fichero php | ||
+ | |||
+ | <source lang=bash> | ||
+ | sudo apt-get install php5 libapache2-mod-php5 | ||
+ | </source> | ||
+ | ;Directorio donde se ubica todo | ||
+ | /etc/php5 | ||
+ | ;fichero de configuración de php para apache | ||
+ | /etc/php5/apache2/php.ini | ||
+ | |||
+ | *Debemos restaurar el servicio para que los cambios tengan efecto en el servidor web | ||
+ | <source lang=bash> | ||
+ | /etc/init.d/apache2 restart | ||
+ | </source> | ||
+ | {{Actividad| | ||
+ | *Localiza el fichero de configuracion de php: '''''php.ini''''' | ||
+ | *Analiza el valor y significado de las siguientes directivas | ||
+ | #short_open_tags | ||
+ | #max_execution_time | ||
+ | #error_reporting | ||
+ | #file_upload | ||
+ | #upload_max_filesize}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Instalando Netbeans=== | ||
;Instalando Netbeans | ;Instalando Netbeans | ||
*Primero debemos ver si tenemos instalado java | *Primero debemos ver si tenemos instalado java | ||
Línea 352: | Línea 520: | ||
<source lang=bash> | <source lang=bash> | ||
# uname -a | # uname -a | ||
+ | </source> | ||
+ | *Otra forma de ver información del sistema | ||
+ | <source lang=bash> | ||
+ | lsb_release -a | ||
</source> | </source> | ||
*Seleccionamos la descarga de php y la máquina virtual de java por si no la tuviéramos instalada | *Seleccionamos la descarga de php y la máquina virtual de java por si no la tuviéramos instalada | ||
− | |||
− | |||
*Accedemos al fichero descargado | *Accedemos al fichero descargado | ||
Línea 364: | Línea 534: | ||
</source> | </source> | ||
*Una vez instalado se puede ejecutar y no hace falta modificar ningún parámetro | *Una vez instalado se puede ejecutar y no hace falta modificar ningún parámetro | ||
− | + | ===Instalando phpmyadmin=== | |
− | == | + | *Este es un programa php que me va a permitir seguir de forma gráfica la base de datos |
− | * | + | *Podemos hacer una gestión con interfaz gráfica |
− | + | ||
− | + | ||
− | + | ||
− | * | + | |
<source lang=bash> | <source lang=bash> | ||
− | + | sudo apt-get install phpmyadmin | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</source> | </source> | ||
− | + | *Una vez instalado puede ser que tengamos que hacer un enlace simbólico en nuestro DocumentRoot | |
− | + | *Suponiendo que lo haya instalado todo en /etc/php5/phpmyadmin, y que nuestro DocuemntRoot apunte a /var/www | |
<source lang=bash> | <source lang=bash> | ||
− | + | ln -s /etc/php5/phpmysqmin /var/www/phpmyadmin | |
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===Montando nuestra arquitectura Instalar Apache php y MySql=== | |
− | * | + | *El proceso de instalación se puede hacer siquiendo la instalacion lamp |
− | + | #http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===Instalar xdebug=== | ===Instalar xdebug=== | ||
+ | *Es una herramienta que nos va a permitir debugar nuestras aplicaciones php | ||
*Podemos consultar la pagina de netbeans para la informacion | *Podemos consultar la pagina de netbeans para la informacion | ||
https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package | https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package | ||
Línea 435: | Línea 574: | ||
zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so | zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so | ||
xdebug.remote_enable=on | xdebug.remote_enable=on | ||
− | <source> | + | </source> |
|} | |} | ||
</div> | </div> |
Última revisión de 19:53 5 oct 2015
|