Plantilla:TecnologiaDesarrloWeb/Herramientas
Contenido
Instalar java
|
- Se puede instalar descargando el script de la página oficial de oracle o bien a través de repositorios de ubuntu
- En este caso instalamos a partir de los repositorios
- 1.- Primero añadimos el repositorio WebUpd8
sudo add-apt-repository ppa:webupd8team/java
(: Si estás usando un contenedor con ubuntu:14.04, antes has de instalar el siguiente paquete
apt-get install software-properties-common
)
- 2.- Actualizamos la lista de repositorios
sudo apt-get update
3.- Ahora realizamos la instalación
sudo apt-get install openjdk-8-jdk
- Entonces ya tenemos java instalado y podremos verificar interrogando por la instalación
java -version
Instalacion de Apache
|
- Instalamos apache
- Se instala directamente del repositorio de ubuntu
sudo apt-get install apache2
- Para verificar su instalación abrimos un navegador e invocamos al servidor, que en este momento será localhost, 127.0.0.1 o la ip que tengamos en nuestro equipo
- Buscamos el directorio donde están los ficheros de configuración
- Aquí un listado del contenido del directorio donde está toda la configuración
- Directivas de configuración
- El servidio (como todos el linux), se configura con directivas de configuración
- Son variables que tengo en un fichero y especifican el comportamiento de este programa
- Por ejemplo cuál es el directorio dónde apache va a buscar los recursos solicitados
- No es objetivo profundizar en estos ficheros, pero sí es importante conocer
- apache.conf
fichero de configuración general. en él se incorporar muchos otros ficheros de configuración.
Servidor Web
- Proceso de comunición tcp/ip
- Es importante entender el concepto de protocolo.
|
- Un protocolo es un programa, pero solo el programa de nivel de aplicación vamos a gestinar (instalar, eliminar, configurar), el resto de software (protocolos de otros niveles), son parte del kernel del sistema operativo, a los que no tenemos acceso de gestionar, pero sí, a veces, de configurar, como estalbecer el número ip' dentro del protocolo ip o protocolo de internet.
- El Servidor
- La imagen anterior, muestra el proceso de comunicación tcp/ip entre dos dispositivos.
- El equipo que recibe la comunicación se conoce como servidor, por el hecho de que están ejecutándose en él diferentes programas servidores.
- Cada programa está escuchando por un puerto, que es quién le identifica, de modo que cuando la tarjeta de red recibe un paquete, datagrama o fragmento (un grupo de bits), si el nivel de red, decide que es él el destinatario, desde el nivel de transporte sabe a qué aplicación entregarlo.
Permisos de ficheros
Parar poder acceder a un fichero necesitamos tener una referencia a él (Tanto para escribir como para leer).
- Temas de permisos de apache
A pesar de que no somos administradores/as debemos tener conocimientos para ciertos temas. Lo primero debemos tener claro es que cuando php le dice en el script a apache que actúe sobre el sistema de ficheros, es en última instancia el usuario apache quién quiere hacer la acciones
- Lee atentamente el siguiente cuadro y asegúrate de tener claro cada punto, si no, pregunta.
Número | Binario | Lectura (r) | Escritura (w) | Ejecución (x) |
---|---|---|---|---|
0 | 000 | |||
1 | 001 | |||
2 | 010 | |||
3 | 011 | |||
4 | 100 | |||
5 | 101 | |||
6 | 110 | |||
7 | 111 |
Por ejemplo:
chmod 766 file.txt # brinda acceso total al dueño # y lectura y escritura a los demás chmod 770 file.txt # brinda acceso total al dueño y al grupo # y elimina todos los permisos a los demás usuarios chmod 635 file.txt # Permite lectura y escritura al dueño, # escritura y ejecución al grupo, # y lectura y ejecución al resto
(: Recuerda que es el usuario apache el que ha de tener los permisos necesarios (leer(r),escribir (w), ejecutar (x))
Configuración de un servidor web
La configuración se basa en un VirtualHost.
- VirtualHost
- Una única ip, varios dominios
- Cada dominio configurado en el Virtualhost
- Cada VirtualHost su propia configuración
- Se configura a través de directivas de apache
- Mejor en fichero independiente en el directorio
- VirtualHost
- sites_enabled vs sites_available
Tip: Solo los ficheros que haya en el directorio sites-enabled estarán activos
|
- VirtualHost
- Para crear un enlace simbólico
ln -s directorio/fichero_fisico directorio/fichero_enlace
- Podemos usar comando de apache
a2ensite <site> a2dissite <site>
Algunas directivas importantes
- ServerName
Directiva que especifica el directorio base para buscar ficheros
- DocumentRoot
Directiva que especifica el directorio base para buscar ficheros
- DirectoryIndex
Nombre de fichero/s que se entregan por defecto al solicitar recurso
- <Directory ./../..> </Directory>
Para configurar de forma particular algún directorio dentr del sitio web de esta configuración
Ejemplo Confituracion virutalHost
- VirtualHost
- Los valores principales serían
#DocumentRoot Que es la ruta base de nuestro servidor web #ServerName . Que es el nombre del host donde está nuestro servidor web
- Especificando varios nombres de host
- Un mismo host (ip), puede ser especificado con diferentes dominios (esto no puede ser al contrario).
- Como no vamos a entrar en configurar bind (DNS), modificaremos el fichero hosts
Debemos recordar que cuando queremos encontrar la ip de un dominio se siguen unos pasos 1.-Primero miramos en el fichero /etc/hosts a ver si hay una traducción directo. 2.-Se mira en la caché. 3.-Se busca o pregunta a nuestro servidor dns que nos lo resuelva.
|
Pasos a realizar | ||
---|---|---|
/etc/apache2/sites-available/informatica.conf /etc/apache2/sites-available/manuel.conf /etc/apache2/sites-available/musica.conf
sudo service apache2 restart
sudo gedit /etc/host </div>
127.0.0.1 manuel.com
127.0.0.1 informatica.com
#127.0.0.1 musica.com
172.30.1.120 musica.com
|
tail -f /var/log/apache2/error.log
|
- Si quieres puedes crear un alias para no tener que escribir el comando completo
- Se recomienda, ya que con bastante frecuencia consultaremos los errores cuando no funcionen la aplicación
Instalar php y el módulo de php para apache2
- Ahora instalamos php como un módulo de apache2.
- Alternativamente se puede instalar como un fpm, en producción puede ser interesante https://www.stackscale.es/php-fpm-php-webs-alto-trafico/
- Nosotros, por comodidad en su gestión, lo instalaremos como un módulo de apache. No vamos a notar diferencia
apt-get -y install php libapache2-mod-php
(: -y es para que no pregunte, un yes por defecto. Se pueden poner varios paquetes seguidos (en este caso 2: php y 'libapache2-mod-php)
- Posteriormente y según necesitemos otros módulos que los podemos dejar instalados ya
sudo apt-get install php-mcrypt php-soap php-mbstring php-intl php-xml php-curl php-gd php-mysql
- #mycrypt http://php.net/manual/es/mcrypt.ciphers.php para cifrar, se usa con Soap (Servicios Web)
- #mbstring http://php.net/manual/es/mbstring.installation.php Para trabajar con cadenas de caracteres multibyte
- #xml http://php.net/manual/es/simplexml.examples-basic.php
- #curl http://php.net/manual/es/function.curl-init.php
- #gd http://php.net/manual/es/intro.image.php para trabajr con biblioteca de imágenes
Breve Historia de php
- Rasmus Lerdorf
- Diseñó un CGI intérprete de scripts incrustados en las páginas web.
- Evita la compilación
- Evita la instalación
- Logra compatibilidad entre plataformas
- 1995 – PHP (Personal Home Page Tools)
- Código abierto
- Zeev Suraski y Andi Gutmans
- 1998: PHP 3. PHP Hypertext Preprocessor
- Admite módulos externos
- Zend
- Motor Zend (núcleo de PHP reescrito)
- 2000: PHP 4
- Abstracción respecto al servidor
- Puede funcionar sobre cualquier servidor
- 2004
- Motor Zend 2
- PHP 5: OOP y MySQL: Un punto de inflexión real
- ¿Qué pasó con PHP 6?
- 2005: Se anuncia PHP 6
- Codificación Unicode
- Más complejo de lo esperado
- Tensión entre los desarrolladores por los retrasos
- 2010: Se lanza PHP 5.3 y se separa la codificación Unicode a otra rama
- PHP 5.3 es PHP 6 salvo por la codificación Unicode
- 2012: La mayoría de las mejoras en PHP 5.4.x no tienen ningún impacto sobre el código existente
- 2013: La extensión original MySQL está obsoleta en
- PHP 5.0. En su lugar, usar la extension MySQLi o PDO_MySQL.
- 2014: Lanzamiento de la versión 5.6
- 10/2015: Lanzamiento de la versión 7
- Para ver la historia http://php.net/manual/es/history.php
- PHP 7.0.
- PHP 6 nunca llegó a lanzarse como una versión oficial
- 10/2015: Lanzamiento de la versión 7
- Para ver la historia http://php.net/manual/es/history.php
- Tenemos nuevas funcionalidades y pocas incompatibilidades
- Operador nave espacial <=>
- Operador ternario ??
- Clases anónimas
- Declaración en tipos de los parámetros y tipo de valor de retorno en funciones
- Restaurar el servicio
- Debemos restaurar el servicio para que los cambios tengan efecto en el servidor web
/etc/init.d/apache2 restart
=
Instalar mysql (cliente y servidor
- mysql
- Alternativamente podemos instalar maria
apt-get -y install mariadb-server mariadb-client
- Durante la instalación nos pedirá la contraseña de root
- Es importante recordarla, en caso de perderla probamos a intentar reestablecerla
- 1.- Primero entramos en el gestor sin passord
mysql --defaults-file=/etc/mysql/debian.cnf
- Recuperar contraseña root
- 2.- Reiniciar pass del "root" de MySQL (si lo hemos perdido)
mysql --defaults-file=/etc/mysql/debian.cnf mysql mysql> update user set Password=password('password_nuevo') where User='root'; mysql> flush privileges;
- Probamos que todo ok.
- Ahora ya podríamos entrar y comprobarlo
- Probrando el ejercicio
mysql -u root -p '''insertamos la password''' show databases: create database NombreBD show databases: use NombreBD; create table usuarios (nombre varchar(20), apellido varchar(20)); insert into usuarios values ("Manuel","Romero"); select * from usuarios
=
Instalar netbeans
- Refrencias web a consultar por si te interesan o te atascas.
- También incluye la forma de crearse un icono de acceso directo:
https://computingforgeeks.com/install-netbeans-ide-on-debian-ubuntu-and-linux-mint/ https://blog.artegrafico.net/instalacion-de-netbeans-11-en-ubuntu-18-04
- Es important verificar si nuestro equipo sea de 64 bits o de 32 para descargar el fichero correcto
# uname -a
Plantilla:MRM Actividad\Title=Instalar desde el repositorio
- Descargando el fichero
- Vamos a la página de referencia y nos movemos a la opicón de descargas
https://netbeans.org/downloads/
- Seleccionamos el versión estable
- Optamos por desacargar un binario
- Accedemos al fichero descargado
- Una vez descargado, le damos al permiso de ejecución y lo ejecutamos en local
- Le damos permiso de ejecución y ejecutamos dicho fichero
chmod +x Apache-NetBeans-11.1-bin-linux-x64.sh ./Apache-NetBeans-11.1-bin-linux-x64.sh
- Una vez instalado se habrá creado una carpeta en nuestro directorio home llamada netbeans-11 donde se desplegará todos los directorios de dicho programa.
Permisos
- Apache trabaja bajo el directorio especificado en la directiva DocumentRoot
- Por defecto se asigna el valor /var/www/html
- Es deseable para el desarrollo que este directorio sea propiedad de el usuario que crea los ficheros
- Por otro lado apache va a leer y ejecutar estos ficheros.
- Suponiendo los siguientes valores
usuario: alumno usuario propietario de apache: www-data grupo de apache: www-data
- Vamos a hacer que el propietario de ese directorio sea el usuario habitual y el grupo, que sea el grupo de apache.
- Para ello usamos el comando chown change owner.
sudo chown alumno:www-data /var/www/html -R
(: -R para que lo haga de forma recursiva si hubiera ya creados directorio)
- En caso de tener que cambiar permisos revisa el comando chmod change mode
=
Instalar Xdebug
- Podemos consultar la pagina de netbeans para la información
https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package
sudo apt-get install php-dev php-pear sudo pecl install xdebug
A continuación debemos modificar el fichero ini de php
Abrimos con nuestro editor el fichero
sudo vim /etc/php5/apache2/php.ini
Añadimos el módulo de xdebug a la variable zend_extenxion de php Actuliza los valores y verifica la ubicación del fichero
zend_extension=/usr/lib/php/7.2/<DATE+lfs>/xdebug.so xdebug.remote_enable=on
- Con cuidado el nombre
- Recordad que <DATE+ĺfs> es un nombre de directorio que se habrá creado al instalar esta extensión.
- En el momento de la instalación en mi caso fue 20121212, no es una fecha, tiene que ver con la marca de la versión
Después sigue las instrucciones que te van indicando (Te prepara la instalación dependiente de versiones).
|
=
- Para terminar vamos a completar la instalación
- Esto es por si queremos ampliar nuestro desarrollo o ampliar las opciones de ver páginas
- Ubuntu restricted extras
- Una instalación limpia de Ubuntu no permite ver Flash, QuickTime, WMV, aplicaciones Java, etc. Ubuntu Restricted Extras es un paquete que incluye todo el software que por razones de patentes y conflictos con la legislación de ciertos países, Canonical, la empresa madre de Ubuntu, no puede incluir por defecto en la distribución.
sudo apt-get install ubuntu-restricted-extras
Montando nuestra arquitectura Instalar Apache php y MySql
- Seguimos la instalación de lamp
http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp
- instalamos mysql
- Durante la instalación nos pedirá la contraseña de root
- Probamos a entrar y que funciona bien
mysql -u root -p '''insertamos la password''' show databases: use my_baseDatos; SELECT database();
- Podemos probar a crear una tabla
Ahora debemos instalar php6 y el módulo correspondiente para apahce
- Para instalar la versión 6, primero tenemos que añadir el fuente en el fichero sources.list
sudo add-apt-repository ppa:ondrej/php5-5.6
apt-get install php5 libapache2-mod-php5
- Debemos restaurar el servicio para que los cambios tengan efecto en el servidor web
/etc/init.d/apache2 restart
Instalar xdebug
- Podemos consultar la pagina de netbeans para la informacion
https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package
sudo apt-get install php5-dev php-pear
sudo pecl install xdebug
- A continuacion debemos modificar el fichero ini de php
- Abrimos con nuestro editor el fichero
sudo vim /etc/php5/apache2/php.ini .
- Añadimos el módulo de xdebug a la variable zend_extenxion de php
zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so xdebug.remote_enable=on
- Recordad que <DATE+ĺfs> es un nombre de directorio que se habrá creado al instalar esta extensión.
- En el momento de la instalación en mi caso fue 20121212
- Si no funciona correctamente visita esta página http://xdebug.org/wizard.php
- Copia en el cuadro de texto la salida de phpinfo() o bien en línea de comandos php -i
- Después sigue las instrucciones que te van indicando.
Menú de navegación
Herramientas personales
- El contenido está disponible bajo Creative Commons Attribution Share Alike License a menos que se indique lo contrario.