ITECH Blog

Entrañas Sistemáticas

Comenzando con un Proyecto Web

leave a comment »

xampp

En este post se comenta el uso de XAMPP, bien sea para Windows como para Linux (LAMPP), pero en esta ocasion, esta practica esta orientada bajo Linux.

Descargamos lampp de apachefriends.org abrimos una terminal, nos dirigimos a la carpeta donde se encuentra y lo descomprimidos en la carpeta /opt que es donde recomiendan en la web.

sudo tar xvfz xampp-linux-1.7.2.tar.gz -C /opt

sudo: Super User Do (algo asi como decir, el superusuario va a hacer tal cosa, darle privilegios para ello) luego del comando tar, los parametros x(eXtraer, v:verbose ver la descompresion, f: el objeto es de tipo archivo(file), z: descomprime con gzip, ungzip, gunzip -C le indica donde lo descomprimira (el directorio).

La carpeta opt es para la instalación de paquetes que no requieren dependencias, debe ser por esto que aconsejan que sea ahi. Luego de descomprimirlo lo ejecutamos:

sudo /opt/lampp/lampp start

En caso de que indique un error que no permita correr Apache, esto es debido a algun paquete de Apache que debe estar activo y en nuestro sistema que de seguro fue descargo de algun repositorio al momento de actualiar algo, lo detenemos:

sudo /etc/init.d/apache2 stop

Volvemos a iniciar lampp, si todo se inicia bien, procedemos a abrir el navegador y escribimos localhost. Debe salir o “Its Works!” o la ventana de presentacion de lampp, donde escogemos nuestro idioma para luego acceder al panel o menu de lampp.

Debemos activar la seguridad puesto que los usuarios de lampp poseen claves vacias predeterminadamente, lo cual no es seguro. En el menu de la izquieda en la web local de lampp podremos ver Status o Security donde nos indican que hacer para habilitarla.

sudo /opt/lampp/lampp security Indicamos [yes] a todo y le indicamos un password a todos, puede ser el mismo password o preferiblemente por mayor seguridad distintos. Debemos cerrar la web de lampp, debemos por la terminal detener lampp y volverlo a iniciar:

sudo /opt/lampp/lampp restart

Para quienes no lo sepan, lampp si trae de forma grafica el poder ver el status play/stop de apache, mysql y php de forma ventana, un script hecho en python que nos ayuda visualmente con el lampp:

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

Algo asi como la interfaz que xampp ofrece para windows Abrimos el navegador, o refresh a la pagina de lampp y nos pedira login y password, el usuario es: lampp, para myphpadmin el usuario es pma, pero este usuario no tiene privilegios para crear bases de datos ni usuarios, por lo que en el caso de myphpadmin entramos con el usuario root, y desde este usuario, nos creamos otro, que es con el que trabajariamos con privilegios de crear databases, tables, view, otros usuarios de ser necesario, etc.

Al final de la web de descarga de apachefriends.org se encuentra los comandos de xampp/lampp, los que se han indicado en este post y otros. Tanto para xampp en windows como lampp para linux, nuestras paginas .php, .hml, etc, deben estar en la carpeta “htdocs” en linux /opt/lampp/htdocs pero obviamete no podemos colocar de forma revuelta estos archivos, mas si son varios proyectos web y no uno solo, lo predeterminado que he visto a consejo es colocar dentro de la carpeta /htdocs una carpeta principal y dentro de esta las subcarpetas por cada proyecto, de esa forma cuando un dia agamos respaldo, tomamos la carpeta padre y listo, puede ser proyectosweb, pagweb o webs.

sudo mkdir /opt/lampp/htdocs/webs

Pero no tenemos el debido acceso de publicar en esta carpeta debido a que nuestro usuario no es el usuario root, en la terminal podemos tener esos privilegios cada vez que reurrimos al comando sudo, pero para el momento de publicar archivos web, no se nos permitira agregar archivos ahi. Para evitar esto, lo que hacemos es que nuestro usuario herede la carpeta.

sudo chown usuario -R /opt/lampp/htdocs/webs

Podemos darle permisos totales 777 a la carpeta pero en caso de que a ella accedan otros usuarios, por intranet, internet lo mejor es que sea 775 por seguridad.

sudo chmod 775 -R /opt/lampp/htdocs/webs

Vinculemos la carpeta que esta en /htdocs/webs con una que apunte a ella en nuestra carpeta de usuario:

ln -s /opt/lampp/htdocs/webs /home/usuario

De esta forma no tenemos que ir hasta /opt/lampp/htdocs/webs/proyecto para guardar algun archivo web, sino que podremos guardar nuestros archivos en una carpeta dentro de nuestras carpetas de usuario ya que el vinculo o link fue creado.

Lo que coloquemos en /home/usuario/webs/proyecto se guardara realmente en /opt/lampp/htdocs/webs/proyecto. Igual como el Windows cuando se crea un acceso directo en el escritorio, eso mismo es esto pero en linux.

Para evitar estar escribiendo en el navegador:

http://localhost/webs/proyectoX/index.php creamos un host virtual, como un Alias para no indicar esta URL local sino solo poner http://proyectoX/. Esto lo hacemos editando un archivo (el httpd.conf de apache):

sudo gedit /opt/lampp/etc/httpd.conf

Buscamos y le quitamos el simbolo # a lo siguiente para descomentariarlo y hacerlo activo o util:

#Include etc/extra/httpd-vhosts.conf

El httpd-vhosts.conf es otro archivo al cual tambien entraremos para descomentariarle algo de igual forma:

sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf

Este archivo ya viene con unos ejemplos para crear o establecer unos hostvirtuales por lo que tomanos uno de estos y lo editamos para su uso. Copie y pegue uno de los ejemplos y lo edite quedando esto:

DocumentRoot /opt/lampp/htdocs/webs/sahim ServerName sahim

En mi caso “sahim” seria un proyecto que estaria dentro de la carpeta principal webs: /opt/lampp/htdocs/webs/sahim

Guardamos el archivo y reiniciamos lampp:

sudo /opt/lampp/lampp restart

Solo falta que al momento de escribir en el navegador (firefox en mi caso): http://sahim

Nos cargue la pagina index.html o index.php que tengamos hecha y no el que nos indique error pagina no encontrada, ya que nuestro sistema operativo resolvera la URL y no la encontrara en internet. Esto se arregla editando y ajustando algo en el archivo hosts ubicado en la carpeta /etc/hosts.

sudo gedit /etc/hosts

En este archivo veremos al comienzo unas direcciones IP con un nombre algo asi como: 127.0.0.1 localhost Simplemente debajo de esta o de la ultima, colocamos la nuestra, por ejemplo en mi caso:

127.0.0.1           localhost

127.0.0.1           sahim

Guardamos el archivo y en el navegador escribimos el nombre del proyecto bien sea: http://proyecto o solo proyecto (el navegador anexara el hhtp delante) En mi caso seria: http://sahim

La pagina index que tengas en la carpeta aparecera, puedes crear algo de prueba, abriendo el editor de texto y escribiendo algo como:

Guardas el archivo llamandolo index.php en /webs/proyecto y al escribir en el navegador: http://proyecto debe aparecer una pagina que diga: Hola Mundo Incluso solo escribiendo en un txt que guardaremos como .php es mas que suficiente para probar. Con esto podremos comenzar con un proyecto web local con la base de lampp, el resto ya es de tu parte con php y mysql, o postgresql, queda a tu criterio.

Solucionando algunos problemas en EasyPHP

Si usas EasyPHP en vez de XAMPP/LAMPP veras que con EasyPHP-1.8 solo tienes que hacer un pequeno ajuste en el archivo de configuracion de Apache (httpd.conf) para que el localhost del navegador apunte a tu carpeta de proyectos web. No he encontrado EasyPHP para linux asi que podriamos suponer que es solo para Windows. Si tienes tu carpeta de proyectos web en C:\www en el archivo de Apache (httpd.conf) debes buscar el DocumentRoot y cambiarlo a tu ruta.

El DocumentRoot “$[path]/www” lo cambias por DocumentRoot “C:\www”

Esto seria todo para el EasyPHP-1.8 pero si usas un EasyPHP superior version 2.0 o v3.0, en la web de EasyPHP (www.easyphp.org) para las fechas de este Post, estan las versiones EasyPHP-5.3.0 Release y 6.0 Developer. En estas versiones (superior a la 1.8) en el archivo de Apache debemos editar otra cosa ademas de lo ya comentado.

Algo mas abajo del DocumentRoot busca algo que dice:

#
# This should be changed to whatever you set DocumentRoot to.
# ======================================================
# !!! DO NOT CHANGE THIS LINE AND THE FOLLOWING ONES !!!
# DocumentRootDirectory 
<Directory "C:/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

Ya en mi caso tengo indicado <Directory "C:\www"> pero originalmente esta seccion aparece con <Directory "${path}" la cual cambias con la ruta de tu carpeta.
Si no haces esto, al momento de escribir el localhost en el navegador, te mostrara un Acceso denegado Error 403.

enjoy!
Anuncios

Written by jocdz

septiembre 6, 2009 a 1:56 pm

Publicado en Linux, Plataforma Web

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: