Archivo

Posts Tagged ‘apache’

Configurar un alias para una carpeta en Apache

7 de febrero de 2018 Deja un comentario
  • Abrimos el fichero httpd.conf
  • Nos aseguramos que no esté comentado el módulo alias:

LoadModule alias_module modules/mod_alias.so

  • Buscamos:  <IfModule alias_module>

Y añadimos lo siguiente:

# ==============================================================
# Bloque editado el 07-02-2018
# Creando un Alias para la carpeta «carpetawp» del USB (raiz).

Alias /carpetawp «\carpetawp»
<Directory «\carpetawp»>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
# ==============================================================

Así conseguimos que nos funcione:

http://localhost/carpetawp

aunque carpetawp no esté dentro del directorio htdocs

Categorías: Apache en Ubuntu Etiquetas: , , , ,

Algunas pequeñas recetas en httpd.conf

30 de junio de 2015 Deja un comentario

En Ubuntu lo encuentras en /etc/apache2/apache2.conf

Editamos el fichero y podemos ir modificando algunas cosas:

Error 404

Para que no aparezca la típica página de error 404 (o de cualquier otro error) que da demasiada información, podemos:

ErrorDocument    404    http://mipagina/mipaginadeerror.html

Esto lo podemos hacer con todos los errores que queramos (403 – Forbidden, por ejemplo)

No liste directorios

Para ello, tenemos que añadir:

Options -Indexes

dentro de

<Directory  /var/www>

</Directory>

Tiempo de Espera

El TimeOut por defecto está a 300 segundos, bájalo.

Actualizando Ubuntu de 12.04 a 14.04

20 de agosto de 2014 Deja un comentario

Esta tarde me salta la actualización automática del 12.04 al 14.04.

Confiando en exceso en Ubuntu, le he dado que sí.

Vale, pues el Kernel más avanzado que instala no me arranca (con el 3.13 no arranco, con el 3.2 arranco sin problemas). Afortunadamente en el GRUB (cuyas opciones me ha cambiado) me aparece Más Opciones y desde ahí puedo arrancar un Kernel más antiguo. Ese parece que funciona.

Primeras cosas nuevas que veo en este Ubuntu 14.04 32bits:

  • Aplicaciones de redes sociales: Me permite crear en el Lanzador una acceso con distintas apps de redes sociales. He puesto Twitter y funciona perfectamente, aunque lo veo como una especie de navegador chiquitín, es un poco cutre.
  • La carpeta del Apache me la ha cambiado: Antes la tenía en /var/www ahora ha pasado a /var/www/html. En fin, me toca cambiar los ficheros de sitio. Ups, ahora tengo restringido en /var/www la escritura. Para solucionarlo hago un chown (Cambiar propietario):
sudo chown -hR guirado html
  • Ha mejorado los gráficos: Ahora se ve mucho mejor mi pantalla, no sé qué ha hecho.

 Seguiré comentando…

Categorías: Ubuntu Etiquetas: , , , ,

Instalar XAMPP

24 de septiembre de 2013 2 comentarios

Existe una aplicación llamada XAMPP que engloba Apache, MySQL, PHP, Perl (entre otras): es una aplicación para cualquier sistema operativo, que pone a disposición los servicios de Apache, PHP y MySQL de manera fácil y asistida. XAMPP contiene:

XAMPP 1.8.3 (Septiembre de 2013)

  1. Apache 2.4.4
  2. MySQL 5.6.11
  3. PHP 5.5.1
  4. phpMyAdmin 4.0.4
  5. FileZilla FTP Server 0.9.41
  6. Tomcat 7.0.41 (with mod_proxy_ajp as connector)
  7. Strawberry Perl 5.16.3.1 Portable
  8. XAMPP Control Panel 3.2.1 (from hackattack142)

Para realizar un localhost (servidor local) es necesaria la instalación de los servicios mencionados.

Descargamos XAMPP de la página de Apachefriends:

http://www.apachefriends.org/es/xampp.html

Para Windows Vista existe una versión, pero da problemas.

Cuando instalas XAMPP, al igual que cuando instalas cualquier Apache, tendrás que desinstalar o deshabilitar los programas que utilizan los puertos 80, 443 y 3306.

Por ejemplo, el TeamViewer, el IIS, el Skype dan problemas, ya que todos utilizan el puerto 80.

Antes, o los deshabilitabas o no había opción, ahora sí se puede reconfigurar XAMPP para que utilice otros puertos.

7

Cuando el servicio Apache y el MySQL estén instalados, ábrete una ventana de Firefox (u otra cosa, si es que utilizas otra cosa para navegar) y comprueba que el servidor funciona con http://localhost

localhostLa primera vez saldrá esta página. Elegimos Español. Y nos aparecerá la siguiente:

localhost2

Pulsando Estado podremos ver qué servicios se están ejecutando.

Configurando PHP

Si en el Panel de Control de XAMPP pulsamos sobre el Config de Apache, podremos editar muchos ficheros de configuración. Para configurar el PHP abriremos el PHP.ini

(Antes había que abrir el fichero a pelo, ahora XAMPP ha mejorado, lo reconozco)

panel controlSe nos abrirá el bloc de notas con toda la configuración del citado archivo.

 

Cuando modificamos cualquier fichero de configuración, debemos parar Apache y volverlo a arrancar, comprobando que todo ha ido bien.

Apache – Fatal error: out of dynamic memory in

27 de julio de 2013 1 comentario

Hoy me surge este problema.

Fatal error: out of dynamic memory in …

Normalmente el … puede ser Unknown o algún script que es el que ha generado que se consuma la memoria autorizada para PHP en el servidor.

Cuando el servidor se ejecuta sobre Linux es mucho más complejo que nos aparezca esto. Si corremos sobre Windows, mejor será reiniciar el servidor una vez a la semana.

Para aumentar el tamaño de la memoria reservada:

– Nos vamos al fichero PHP.ini e incrementamos nuestra RAM para PHP

memory_limit = 64M ; Maximum amount of memory a script may consume (32MB)

Aumentando a 128M si es necesario.

– Si no tenemos acceso al fichero PHP.ini, nos vamos al .htaccess e intentamos lo siguiente:

php_value memory_limit 64M

Aumentando a 128M si es necesario.

 

Elegir un CMS

Estoy pensando migrar cierto sitio de cierto servidor web a CMS para poder gestionar más fácilmente los contenidos del sitio.

Este sitio cuenta con Apache + MySQL + PHP, lo que me va a restringir las posibilidades de elección de CMS.

Hoy he encontrado un documento de BILIB que realiza una comparativa de CMS.

El enlace de presentación del documento es http://www.bilib.es/noticias/noticia/articulo/estudio-de-los-sistema-de-gestion-de-contenidos-w/ 

y el documento en sí se encuentra en este PDF.

Primero habrá que definir CMS:

Gestor de Contenidos Web (WCM).

Un Sistema de Gestión de Contenido Web es una herramienta que permite crear, editar, modificar y publicar contenidos Web, especialmente portales Web, ya estén dirigidos a una audiencia interna o externa.
Un WCM puro incluye de forma más habitual otras funcionalidades avanzadas no específicas de estos sistemas como por ejemplo gestión de permisos, sistemas de búsquedas, entornos colaborativos, etc.
En el estudio se realiza una selección final de los CMS se han tenido en cuenta un conjunto muy diverso de características, las más relevantes han sido: licencia de uso, posicionamiento en el mercado, valoración por los expertos, confianza del proyecto y modelo comercial. Tras la investigación del marco referencial, los CMS seleccionados han sido:

Drupal

Ezpublish

Joomla

Liferay

OpenCms

Plone

Typo3

WordPress

Sobre los anteriores voy a ir desechando las distintas opciones para ajustarme a mi proyecto de migración.

Sistema operativo:

Todos son independientes del sistema operativo.

Servidor web:

Plone no utiliza Apache, por lo que lo desechamos. La lista de posibilidades se reduce a:

Drupal
Ezpublish
Joomla
Liferay
OpenCms
Typo3
Wordpress

Bases de datos:

Todos soportan MySQL

Licencia:

Libre

Lenguaje de programación:

Desechamos los CMS Liferay y OpenCms porque el lenguaje que utilizan es Java y no PHP, que es el que utilizamos. Así que la lista se queda en:

Drupal
Ezpublish
Joomla
Typo3
Wordpress

Autenticación:

WordPress no presenta Autenticación Kerberos ni LDAP. ¿Esto es suficiente para desecharlo? Esperamos para ver si realmente necesitamos esta autenticación.

Registro de Auditoría:

Joomla no lo tiene. WordPress está limitado.

Captcha:

WordPress no lo tiene. El resto son complementos gratuitos.

Lenguaje de plantillas:

WordPress no lo tiene.

Contenido drag-n-drop

Joomla no lo tiene.

WAI

Sólo Ezpublish. Drupal limitado. El resto no.

etc. etc. etc.

En fin, en el documento hay muchas opciones.

Mis conclusiones

Antes de leer el documento, si me hubiera tenido que decantar por alguno, probablemente habría sido WordPress o Drupal, desechando Joomla. El resto ni los conocía.

Ahora pienso que instalaría Typo3.

http://typo3.org/

Con respecto al Multiidioma es el mejor.

Puntos a mejorar:
  • La información general de proyecto se encuentra solo disponible en Inglés y sería muy recomendable que estuviese disponible en más idioma, y más teniendo en cuenta que si existe diferente documentación que puede consultarte en varios idiomas.
  • La instalación y actualización del sistema no está automatizada por lo que el proceso puede llegar a ser algo complejo.

Aunque creo que WordPress es el mejor CMS en cuanto a la facilidad de instalación y actualización.

Tipo de portal.

Si el portal es muy simple, lo recomendable es Joomla o WordPress.

Si el portal es complejo u orientado a la creación de Intranet se recomienda Typo3.

La facilidad de uso no es la caraterística más destacable de Typo3, así que hay que estar atentos.

Creando una capa de Realidad Aumentada

22 de abril de 2013 3 comentarios

La cuestión es montar una capa de Realidad Aumentada (AR) en nuestra base de datos de nuestro servidor web con la que consigamos funcionar con Layar, la app más utilizada de AR.

Esta capa se puede escribir en varios lenguajes, pero voy a utilizar PHP. Es necesario:

  • Un servidor web con PHP (5.3 o superior) que soporte JSON.
  • Una base de datos MySQL (preferiblemente con phpMyAdmin).
  • El servidor web debe poder alcanzarse desde Internet (para poder hacer las  pruebas desde Layar), no podemos estar trabajando on un servidor local que no sirva a Internet.

Crear una capa en Layar.com

En primer lugar debemos crear la capa en Layar.com. Para ello debemos registrarnos en la web.

001CreandoCapa

Al final, como el nombre «capapruebas» estaba ya cogido, he utilizado «capaprugrx». Sólo permite letras en minúscula y números para los nombres de las capas.

Al crear la capa, podremos añadir muchos detalles, pero por ahora no entro, porque lo podremos editar más adelante.

Podremos cambiar iconos, banners, localización, categoría, etc.

002CreandoCapa

Una vez guardada la capa, nos aparecerá en el listado de Layers:

003CreandoCapa

El botón Request approval lo utilizaremos cuando tengamos la capa construida, para que los evaluadores de Layar nos la aprueben.

Preparando la Base de Datos

Con phpMyAdmin creamos un usuario exclusivamente para el acceso a esta base de datos, distinto al del acceso web y creamos una base de datos exlusiva para almacenar la información de la capa.

Esta base de datos será la que almacene la información de los POI (Point of Interest).

En principio sólo crearemos una tabla llamada POI, aunque se deben crear más tablas para habilitar características avanzadas, como acciones u objetos en 3D.

La estructura de la tabla debe ser la siguiente:

Éstos son los campos básicos, pueden ser añadidos más para otras características.

Creando tabla POI

Resultando la siguiente consulta de creación:

CREATE TABLE `POI` (
`id` VARCHAR( 255 ) NOT NULL ,
 `footnote` VARCHAR( 150 ) NOT NULL ,
 `title` VARCHAR( 150 ) NOT NULL ,
 `lat` DECIMAL( 13, 10 ) NOT NULL ,
 `lon` DECIMAL( 13, 10 ) NOT NULL ,
 `imageURL` VARCHAR( 255 ) NOT NULL ,
 `description` VARCHAR( 150 ) NOT NULL ,
 `biwStyle` ENUM( 'classic', 'collapsed' ) NOT NULL ,
 `alt` INT( 10 ) NOT NULL ,
 `doNotIndex` TINYINT( 1 ) NOT NULL ,
 `showSmallBiw` TINYINT( 1 ) NOT NULL ,
 `showBiwOnClick` TINYINT( 1 ) NOT NULL ,
 `poiType` ENUM( 'geo', 'vision' ) NOT NULL ,
 PRIMARY KEY ( `id` )
) TYPE = MYISAM

Recopilando información

Una vez creada la tabla, vamos a insertarle algún POI.
Para calcular la latitud y longitud, usamos el Qué hay aquí de Google Maps: Abrimos Google Maps, nos situamos sobre el punto en el que queremos localizar nuestro POI, pulsamos el botón derecho del ratón sobre el mismo y seleccionamos Qué hay aquí.
Qué hay aquí GoogleMaps Caleta
Con lo que obtenemos la latitud y longitud del punto:
GoogleMaps Que Hay Aqui
Y ahora añadiremos la información el POI a la base de datos:
Insertando POI La Caleta
Que resulta en la siguiente consulta INSERT de SQL:
 
INSERT INTO `cgim_ar`.`poi` (
`id` ,
 `footnote` ,
 `title` ,
 `lat` ,
 `lon` ,
 `imageURL` ,
 `description` ,
 `biwStyle` ,
 `alt` ,
 `doNotIndex` ,
 `showSmallBiw` ,
 `showBiwOnClick` ,
 `poiType`
)
VALUES (
'geo_1', 'Creado por @guirado_', 'La plaza de la Caleta de Granada', '37.187318', '-3.610399', 'http://www.movilidadgranada.com/images/maps/inicio.png', 'La localización de la plaza de la Caleta en Granada', 'classic', '', '', '', '', 'geo'
);

Construyendo un Servicio Web (WebService)

Ahora que ya tenemos un POI en la base de datos, debemos construir un webservice para que la plataforma de Layar pueda recoger la información. Necesita que se envíe la información como JSON, si tenemos PHP 5.2 o superior tendremos por defecto instalada esta opción.

Necesitaremos crear dos ficheros PHP para habilitar el webservice:

  • config.inc.php – Contiene la información de configuración de la base de datos
  • capapruebas.php – Es el fichero php principal. Será llamado por el servidor de Layar. Debe ser el mismo fichero que el definido en el campo API ENDPOINT URL cuando dimos de alta la capa.

config.inc.php

El primer fichero (config.inc.php) debe contener algo parecido a lo siguiente:

<?php
/* Pre-define connection to the MySQL database, please specify these fields based on your database configuration.*/
  define('DBHOST', 'localhost');
  define('DBDATA', 'database_name');
  define('DBUSER', 'database_username');
  define('DBPASS', 'database_password');
?>

Debemos cambiar el nombre del servidor, base de datos, usuario y contraseña.

Fichero principal (capapruebas.php)

En el script principal debemos:

Leer la petición GetPOIs (GetPOIs Request)

Basada en la definición de capa que hemos hecho, una petición HTTP GET con parámetros definidos ha sido enviada al POI URL.

Una lista completa de los parámetros de la petición puede encontrarse en la página de GetPOIs-Request.

Un ejemplo sería:

http://custom.layar.nl/FirstTutorial_POI.php?lang=en&countryCode=NL&lon=4.887339
&userId=6f85d06929d160a7c8a3cc1ab4b54b87db99f74b&developerId=4441
&developerHash=26ec094e19db2c4a82ebafa200ea2a5e87a7d671&version=4.0
&radius=2500&timestamp=1286357071952&lat=52.377544&layerName=layaroffice&accuracy=100

El código para esta implementación básica es el siguiente (más info en la documentación de layar):

<?php

// Incluimos el fichero de configuración de la base de datos
// Contiene el servidor, bd, usuario, contraseña.  
require_once('config.inc.php');

/*** Funciones ***/

// Ponemos los parámetros de la petición getPOI y sus valores en un array asociativo

function getRequestParams($keys) {

  $paramsArray = array();
  try {
    // En $keys tenemos los nombres de los parámetros GET
    // Para cada parámetro, almacenamos su valor correspondiente: $paramsArray['layarName'] = 'capaprugrx' 
    foreach( $keys as $key ) {
      if ( isset($_GET[$key]) )
        $paramsArray[$key] = $_GET[$key]; 
      else 
        throw new Exception($key .' el parámetro no se ha pasado en la GetPOI request.');
    }
    return $paramsArray;
  }
  catch(Exception $e) {
    echo 'Mensaje: ' .$e->getMessage();
  }
}// fin de la función getRequestParams 

// Conectamos con la base de datos
function connectDb() {
  try {
    $dbconn = 'mysql:host=' . DBHOST . ';dbname=' . DBDATA ; 
    $db = new PDO($dbconn , DBUSER , DBPASS , array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    // set the error mode to exceptions
    $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
     return $db; 
  }// try
  catch(PDOException $e) {
    error_log('message:' . $e->getMessage());
  }// catch
}// fin de la función connectDb

// Pasar string a float
// Devuelve:
//   float ; Si la cadena está vacía devuelve NULL.
//
function changetoFloat($string) {
  if (strlen(trim($string)) != 0) 
    return (float)$string;
  return NULL;
}//changetoFloat

// Coloca los POIs recibidos en un array asociativo. los valores devueltos son asignados a
// $reponse['hotspots'].
//
// Argumentos:
//   db ; El manejador de la base de datos.
//   value ; Un array que contiene los parámetros que se necesitan recuperados desde
//           la GetPOI request. 
//
// Devuelve:
//   array ; Un array de POIs recuperados.
//
function getHotspots( $db, $value ) {
  // Definimos un array vacío llamado $hotspots.
  $hotspots = array();
/* Creamos la consulta SQL para recuperar los POIs que se encuentran dentro
   del 'radius' enviado desde la GetPOI request. 
   Los primeros 50 POIs son seleccionados.
*/

  // Se utiliza PDO::prepare() para preparar la sentencia SQL. Esta sentencia se utiliza por
  // motivos de seguridad, para combatir ataques de inyección SQL.
  // ':lat1', ':lat2', ':long' y ':radius' son marcadores de parámetros con nombre para
  // los que los valores reales serán sustituidos cuando la sentencia se ejecute.
  // $sql es devuelto como un objeto sentencia PDO. 
  $sql = $db->prepare( '
              SELECT id,
               imageURL,
               title,
               description,
               footnote,
               lat,
               lon,
               (((acos(sin((:lat1 * pi() / 180)) * sin((lat * pi() / 180)) +
                        cos((:lat2 * pi() / 180)) * cos((lat * pi() / 180)) * 
                      cos((:long  - lon) * pi() / 180))
                      ) * 180 / pi()
               )* 60 * 1.1515 * 1.609344 * 1000
               ) as distance
                FROM POI
         WHERE POI.poiType = "geo" 
       HAVING distance < :radius
      ORDER BY distance ASC
         LIMIT 0, 50 ' );

  // sentenciaPDO::bindParam() enlaza los marcadores de parámetros con nombre a los valores del parámetro específico   
  $sql->bindParam( ':lat1', $value['lat'], PDO::PARAM_STR );
  $sql->bindParam( ':lat2', $value['lat'], PDO::PARAM_STR );
  $sql->bindParam( ':long', $value['lon'], PDO::PARAM_STR );
  $sql->bindParam( ':radius', $value['radius'], PDO::PARAM_INT );
  // Utilizamos PDO::execute() para ejecutar la sentencia preparada $sql. 
  $sql->execute();
  // Iterador para el array response.
  $i = 0; 
  // Utilizamos fetchAll para devolver un array que contiene todas las filas restantes en
  // el result set.
  // Usamos PDO::FETCH_ASSOC para extraer los resultados de la consulta $sql y devolver cada fila como un
  // array indexado por nombre de columna.
  $rawPois = $sql->fetchAll(PDO::FETCH_ASSOC);

  /* Procesamos el resultado de $pois  */
  // si el array $rawPois no está vacío 
  if ($rawPois) {
    // Poner cada POI en el array $hotspots.
       foreach ( $rawPois as $rawPoi ) {
       $poi = array();
      $poi['id'] = $rawPoi['id'];
      $poi['imageURL'] = $rawPoi['imageURL'];
      // geolocalizamos el punto
      $poi['anchor']['geolocation']['lat'] = changetoFloat($rawPoi['lat']);
      $poi['anchor']['geolocation']['lon'] = changetoFloat($rawPoi['lon']);
      // obtenemos la información textual del objeto
      $poi['text']['title'] = $rawPoi['title'];
      $poi['text']['description'] = $rawPoi['description'];
      $poi['text']['footnote'] = $rawPoi['footnote'];
     // Ponemos el poi en el array $hotspots.
     $hotspots[$i] = $poi;
     $i++;
    }//foreach
  }//if
  return $hotspots;
}//getHotspots

/*** Inicio del programa principal ***/

/* Pone los parámetros de la GetPOI request en un array asociativo llamado $requestParams */
// Pone los nombres de los parámetros de la GetPOI request en un array llamado $keys. 
$keys = array( 'layerName', 'lat', 'lon', 'radius' );

// Inicializa $requestParams con un array vacío.
$requestParams = array(); 
// Llama a la función getRequestParams() para rellenar $requestParams con pares como 'layerName' -> 'capaprugrx'  
$requestParams = getRequestParams($keys);

/* Conecta con el servidor MySQL. Se utiliza PDO para conectar con la base de datos.
     Para más información sobre PDO: http://php.net/manual/en/book.pdo.php. 
 */    
// Conecta con la base de datos en MySQl.  
$db = connectDb(); 

/* Construimos la respuesta en un array asociativo.*/

// Crear array llamado response.
$response = array();

// Asignamos los valores correspondientes a las claves de respuesta obligatorias JSON.
$response['layer'] = $requestParams['layerName'];

// Utilizamos la función Gethotspots() para obtener los POIs en el rango de búsqueda.  
$response['hotspots'] = getHotspots($db, $requestParams);

// Si no se ha encontrado ningún POI, devolvemos un mensaje de error.
if (!$response['hotspots'] ) {
    $response['errorCode'] = 20;
     $response['errorString'] = 'Ning&uacute;n POI ha sido encontrado. Por favor, ajuste el filtro de b&uacute;squeda.';
}//if
else {
  $response['errorCode'] = 0;
  $response['errorString'] = 'ok';
}//else

    /* Todos los datos están en $response, los pasamos al formato JSON.*/

    // Ponemos la representación en JSON de $response en $jsonresponse.
    $jsonresponse = json_encode( $response );

    // Declaramos el tipo de contenido correcto en la cabecera de la respuesta HTTP.
    header( 'Content-type: application/json; charset=utf-8' );

    // Devolvemos la respuesta Json.
    echo $jsonresponse;

?>

Comprobando la capa

Ya estaría construido el webservice. Ahora debemos Testear la capa antes de publicar.

Tenemos dos métodos para probarla:

Página de testeo de la API

Abrimos la página de testeo, seleccionamos la API, el país, el idioma. Centramos el mapa en un punto en el que queramos probar la aplicación (en este caso me he ido a Granada) y pulsamos LOAD POI para probarla.

Testeando la capa

Desde el móvil, utilizando la aplicación Layar

Abrimos la aplicación Layar, nos debemos identificar con nuestro usuario y contraseña de desarrollador, nos vamos a la pestaña Desarrollador y estará nuestra capa, con lo que podremos probarla.

Por último, antes de poder enviar la petición de aprobación, habrá que añadir algunos detalles, como el icono de la aplicación (que será de 128×128), información detallada sobre la descripción de la capa, etc.

… (Continuará)

Ocultar phpMyAdmin desde fuera del servidor

18 de abril de 2013 Deja un comentario

Para proteger la base de datos de la página web es necesario deshabilitar el acceso a phpMyAdmin desde fuera de nuestro servidor web y poder tener la opción de seguir usándolo desde dentro de nuestro servidor incluso dentro de la red local de la empresa debemos hacer lo siguiente:

Si tenemos Apache sobre Windows, abrimos el fichero http-xampp.conf (si hemos instalado XAMPP) y dentro encontraremos el alias que reenvía /phpmyadmin a la carpeta en la que tengamos instalado el phpmyadmin. Dentro de este alias, que por defecto tiene puesto

Order Allow, Deny

lo cambiamos por

Order Deny, Allow

así conseguimos que se deniegue para todos, esa es la preferencia.

Añadimos la línea

Deny from all

para denegar siempre y, a continuación, añadimos tantas líneas como máquinas queramos que ejecuten el phpmyadmin:

Allow from localhost
Allow from 192.168.1.200

Otra manera de protegernos más aun sería cambiando el nombre del alias, en lugar de phpmyadmin que es el que todo el mundo conoce, poner otro distinto (lógicamente que no coincida con ningún directorio de nuestro sitio web).

Categorías: Apache en Ubuntu Etiquetas: , , , , ,

Instalar phpMyAdmin

17 de marzo de 2013 Deja un comentario

La orden es:

sudo apt-get install phpmyadmin

Entonces nos pregunta sobre qué servidor, Apache o Lighttp.

Captura de pantalla de 2013-03-17 18:30:04

Elegimos Apache. Continúa configurando y entonces nos pregunta por la base de datos:

Captura de pantalla de 2013-03-17 18:32:22

A continuación nos solicita la contraseña del administrador de BD y después la contraseña para phpMyAdmin.

Una vez terminada la instalación podras comprobar que esta correcto accediendo a http://localhost/phpmyadmin con los datos que introdujiste durante la instalación.

Si no funciona, ejecutar hacer lo siguiente

sudo gedit /etc/apache2/httpd.conf

Pegar lo siguiente dentro, luego salvar y cerrar:

Include /etc/phpmyadmin/apache.conf

Reiniciar el servidor web :

sudo /etc/init.d/apache2 restart

y listo ya está.

Tras insertar el usuario (root) y la contraseña que proporcionamos en el proceso de instalación, tendremos lo siguiente:

Captura de pantalla de 2013-03-17 18:41:31

Categorías: Apache en Ubuntu Etiquetas: , , , , ,

Instalar PHP5

17 de marzo de 2013 Deja un comentario

La orden a utilizar es la siguiente:

sudo apt-get install php5 libapache2-mod-php5 php5-mysql

Cuando termina podemos ver la siguiente pantalla:

Captura de pantalla de 2013-03-17 13:57:40

Como se puede ver, se ha reiniciado Apache, puesto que se ha instalado una serie de paquetes nuevos.

Si no se hubiera reiniciado, podemos hacerlo con la orden:

sudo service apache2 restart

Tras haber instalado PHP5, debemos comprobar que todo funciona bien, así que nada mejor que crear una página de prueba en PHP, se guarda en el directorio /var/www y luego lo  probamos con http://localhost/holamundo.php

Así, tras escribir en la barra de direcciones del navegador: http://localhost/holamundo.php encontramos lo siguiente:

Captura de pantalla de 2013-03-17 14:08:43

/var/www es un directorio propiedad de root, así que la escritura allí es imposible a no ser que seamos el root del sistema. Podemos trabajar en otra carpeta y luego copiarlo aquí utilizando:

 sudo cp holamundo.php /var/www/holamundo.php