viernes, 13 de diciembre de 2013

Instalar Xampp 1.8.3 en Ubuntu 12.04

_________________________________________________________________________________
Tener que armar nuestro servidor web puede resultar una tarea frustrante, pero con Xampp esta tarea se nos facilitará enormemente.



XAMPP es un servidor, para desarrollar aplicaciones en php, con conexión a base de datos sql (LAMPP= Linux + Apache + MySQL + PHP + Perl)

Podemos descargar Xampp 1.8.3 de la página oficial (en mi caso descargué la versión para 32 bits). El link de descarga es el siguiente --> http://www.apachefriends.org/en/xampp-linux.html#374)

Pàgina oficial para descargar Xampp, el mouse nos muestra la versión para 32 bits)

PD: Si no sabemos de cuántos bits es nuestro SO, escribimos en la terminal:

uname -a
Si el resultado incluye "x86_64" entonces nuestro Ubuntu es de 64 bits. 
Si en cambio nos muestra solo "x86" o algo como "i686" entonces es un indicativo que el Ubuntu instalado en nuestra PC es de tan solo 32 bits.



Una vez descargado el paquete, vamos a empezar a instalar Xampp
1 - Debemos colocarnos en la carpeta donde lo descargamos (en mi caso lo tengo en Descargas) con el comando "cd". Por ejemplo, si ha sido en "Descargas", sería:


cd Descargas

2 - Damos los permisos pertinentes para poder ejecutarlo con:
sudo chmod 755 xampp-linux-x64-1.8.3-1-installer.run

3 - Lo instalamos con:
sudo ./xampp-linux-x64-1.8.3-1-installer.run

Y aparecerá un instalador al más puro estilo de Win2 (siguiente, siguiente, ...). Durante la instalación, se puede elegir la opción de instalar "Core files o archivos del núcleo" y "Developer Files o archivos de desarrollo" (yo aconsejo dejar los 2 marcados para instalar) e informa sobre "BitNami" (módulos para WordPress.org, Joomla!, Drupal, phpBB, Moodle, ...).




Al finalizar la instalación y en la última ventana nos da la opción de lanzar Xampp al finalizar y se debería de abrir directamente la página de bienvenida de Xampp, pero si se tiene el navegador abierto, viendo estas instrucciones por ejemplo, nos dará un error. No pasa nada, abrimos una ventana nueva de nuestro navegador, escribimos en la barra de direcciones:
http://localhost
Y aparecerá la ventana, donde elegimos el idioma "Español":




Se abrirá la ventana principal de Xampp con la bienvenida y unas sugerencias:




Y lo primero que debemos de hacer es pulsar "Status" en el panel de navegación izquierdo para asegurarnos de que todo funciona correctamente:




Como podemos ver no se han activado todos los servicios (MySQL está desactivado). 

En la página donde encontré esta instalación sugieren una solución pero que a mí no me funcionó. Más adelante, mostraré como solucione esto. De momento continuemos con nuestras configuraciones :)


_________________________________________________________________________________


Panel de control de Xampp


Para un usuario común en un entorno de escritorio gráfico se han creado una interfaz gráfica que nos permite Iniciar / Detener de una forma fácil los servicios más importantes (Apache, MySQL y ProFTPD) o uno por uno. Es el llamado Panel de Control de Xampp y se abre con el siguiente comando:


sudo /opt/lampp/share/xampp-control-panel/xampp-control-panel


Pero antes, es necesario instalar el siguiente paquete:
sudo apt-get install python-glade2
Panel de Control de Xampp para inicializar o detener los componentes de Xampp

Crear un lanzador para el panel de control:



Para que nos aparezca la aplicación en el Dash o tablero (botón Inicio de la barra lateral de Ubuntu) creamos un archivo "nombre.desktop" en /usr/share/applications/, ejecutando en un terminal:


sudo gedit /usr/share/applications/xampp-control-panel.desktop


Pegar el siguiente código en el archivo:
[Desktop Entry]
Comment=Start/Stop XAMPP
Name=XAMPP Control Panel
Exec=gksudo python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py
Icon[en_CA]=/opt/lampp/xampp.png
Encoding=UTF-8
Terminal=false
Name[en_CA]=XAMPP Control Panel
Comment[en_CA]=Start/Stop XAMPP
Type=Application
Icon=/opt/lampp/xampp.png


Guardar y cerrar.

Con esto ya tenemos un controlador para Xampp, con este ya no es necesario para que Xampp se inicie o se detenga, sin tener que escribir estas instrucciones en el terminal. Muy útil cuando no estamos muy familiarizados con las instrucciones por consola.



_________________________________________________________________________________


Permisos al directorio /opt/lampp/htdocs



Aquí es donde se almacenan los directorios/archivos de las páginas web. En la práctica del curso se hizo una carpeta llamada public_html ubicada en nuestra carpeta personal.

Para ello es necesario cambiarle los permisos con:

ls -ls /opt/lampp
sudo chmod a+w /opt/lampp/htdocs
sudo ln -s /opt/lampp/htdocs ~/public_html
sudo ln -s /opt/lampp/htdocs ~/Webs

Con esto hemos conseguido lo siguiente:

Abrimos nuestra carpeta public_html y tendremos


La carpeta agenda es la carpeta de CodeIgniter (que configuramos en clases) y la carpeta htdocs es un acceso directo de la carpeta donde se ejecutan las aplicaciones para Xampp. En ella se ha creado un archivo de texto llamado prueba.php que contiene únicamente escrito (sin etiquetas ni nada) Hola Mundo.


Ahora con esto podemos ver que están bien los permisos a nuestro directorio.
En el navegador (en mi caso Google Chrome) escribimos en la barra de direcciones: localhost/prueba.php   y se nos presentará lo siguiente:


Con esto ya tenemos listo el directorio para trabajar normalmente en el curso.



_________________________________________________________________________________


Seguridad


Como ya lo había dicho Xampp presenta problemas respecto al running de MySql y phpMyAdmin, lo que hice fue darle claves a Apache, MySql y al proFTPD. 

Además es conveniente hacerlo ya que al estar en la web cualquiera podría tener acceso a nuestros archivos. Para ello en el terminal: 

sudo /opt/lampp/lampp security


Se inicia el control de seguridad, donde nos irá preguntando si queremos poner contraseña a los distintos servicios o páginas, escribimos "yes", pulsamos Enter y escribimos la contraseña 2 veces. 

Asì cuando volvamos a cargar en el navegador: localhost. Se nos pedirá las respectivas contraseñas (bueno sólo hemos dado seguridad a nuestro servidor pero con esto no hemos resuelto el problema de la conexión con la base de datos)



_________________________________________________________________________________


Solucionando el running de MySql


Lo que hice fue agregar la instalación de MySql (aunque por contrario que parezca ya que según nos indica el directorio nos dice que si tenemos instalado mysql, esto lo vemos en el opt/lampp/mysql).
Continuando, escribimos en la terminal:

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Con esto hemos instalado mysql, habitualmente nos pediría contraseña pero como ya le hemos puesto en el apartado anterior de seguridad ya no nos lo pedirá.

Esta es la solución que me funcionó y me permitió solucionar el running de MySql y el de phpMyAdmin.



_________________________________________________________________________________


Xampp puesto a punto

  1. Abrimos el Xampp Control Panel e iniciamos XAMPP
  2. Donde se ubica el mouse nos indica que podemos iniciar los componentes de Xampp o podemos hacerlo individualmente.
  3. En el navegador escribimos localhost y nos presentará el entorno de Xampp. En el panel izquierdo seleccionamos Status y veremos lo siguiente:
  4. Con esto ya logramos que MySQL database esté activo
  5. Igualmente vamos al panel izquierdo en la sección de herramientas seleccionamos phpMyAdmin y vemos que ya nos es posible trabajar con la base de datos.


Listo, esta la solución que encontré y me funcionó para instalar Xampp 1.8.3 para Ubuntu 12.04.


Tomé como referencia la guía de instalación de Xampp 1.8.3 para Ubuntu 13.10, disponible en REFERENCIA DE GUÍA.



lunes, 9 de diciembre de 2013

CONFIGURACION DEL SERVIDOR WEB

----------------------- CAMBIAR DIRECTORIO CON APACHE -----------------------

Primero: Realizar el mkdir, crear una carpeta llamada public_html en el localhost/acer/public_html

Segundo: Vamos a dar los permisos públicos a la carpeta
sudo chmod 777 public_html

Tercero: Ahora verificaremos la existencia del archivo a2enmod userdir
sudo a2enmod userdir //buscar como instalar sudo apt-cache search a2enmod

Cuarto: Reiniciamos el servidor
sudo /etc/init.d/apache2 restart home/acer

Quinto: Vamos a editar el archivo de configuración.
sudo gedit /etc/apache2/mods-enabled/php5.conf

Con esta instrucción debe salir un archivo de configuracion
Se nos debe abrir el archivo y buscamos las líneas que a continuación se detallan, luego las comentamos haciendo uso de #
//en el arche_userdir.c>

#<IfModule mod_userdir.c>
# <Directory /home/*/public_html> //estamos levantando teòricamente nuestro servidor
# php_admin_value engine Off
# </Directory>
#</IfModule>

Sexto: Una vez hecho esto vamos a guardar y reinicar con los comandos:
sudo /etc/init.d/apache2 restart

Séptimo: Con esto podemos aplicar cualquier configuración personal
Como práctica en la carpeta public_html hacemos un documento prueba.html, cuyo contenido es HOLA MUNDO!!!

Octavo: Abrimos el navegador y en la barra de direcciones digitalizamos:
localhost/|~acer/ prueba.php


------------------------- CONFIGURAR EL CODEIGNITER -------------------------

Noveno: En la carpeta puclic_html copiamos la carpeta descomprimida de CodeIgniter 2.1.14
Esto con el propósito de configurar el CodeIgniter

Décimo: Vamos a renombrar la carpeta de CodeIgniter como agenda

Undécimo: A esta carpeta le daremos todos los permisos públicos correspondientes:
cd public_html
sudo chmod 777 agenda

Décimo segundo: En la carpeta buscamos el archivo de configuración que se encuentra en agenda/application/config/config.php

Décimo tercero: Abrimos este archivo y buscamos la lìnea que dice
$config['base_url'] = '';

y le asignamos la direccion en donde creamos la carpeta agenda
$config['base_url'] = 'http://localhost/~acer/agenda/';

Décimo cuarto: con esto tenemos listo nuestro xampp para trabajar, para poder ver sus funcionalidades abrimos el navegador y en la barra de direcciones escribimos:
http://localhost/xampp/