COMO montar un servidor PHP+MySQL y hospedar en él un sitio web basado en Drupal

1. En este COMO pretendo explicar cómo convertir una computadora de sobremesa en un servidor capaz de servir PHP, manejar bases de datos y hospedar en él una web basada en Drupal.


2. Decir que lo que aquí voy a explicar es el procedimiento que yo he seguido para convertir un pc de casa en un servidor de éste tipo, y que podría no funcionar
si se está usando otro sistema (ya sea hardware muy distinto o
software distinto). El equipo en cuestión es un PC (x86, AMD
750MHz, 256MB de RAM, 8MB de memoria d vídeo) que tiene instalado Ubuntu Dapper con Fluxbox como entorno gráfico.
Sé que un servidor no necesita entorno gráfico, pero dado que le vamos a dar un uso casero y (en teoría) no va a tener gran carga de trabajo, lo vamos a usar porque siempre se agradece y además Fluxbox es tan ligero que tampoco va a suponer un gran lastre. Supongo que dado el sistema que le vamos a instalar un PC similar pero menos potente tampoco va a tener grandes problemas para actuar de servidor.


3. Lo primero es obtener e instalar los paquetes que vamos a necesitar: En principio vamos a necesitar Apache, PHP, y MySQL. Pero en realidad vamos a utilizar un gestor de MySQL, yo he escogido phpMyadmin.


4. Como ya he dicho, este COMO está pensado para Ubuntu Dapper, así que dando por hecho que tenemos unos
buenos repositorios, para asegurarnos que instalamos la última
versión de los paquetes que queremos nada más fácil que el ya clásico


~# apt-get update
~# apt-get install apache2 php5 mysql-server phpmyadmin


5. Con este hemos instalado los programas necesarios y (por defecto) se iniciarán los demonios, por tanto ya tenemos
funcionando el apache, el php y el mysqld. Para comprobar que todo ha ido bien nada más sencillo que introducir en el navegador
nuestra dirección IP o DNS (si disponemos de una dns). Si todo
ha funcionado bien se cargará en el navegador el placeholder de Apache. También puedes probar a introducir «localhost» en el navegador, en lugar de tu IP.


6. Lo siguiente será ver si se ha instalado bien el
gestor de bases de datos (phpMyadmin). Para eso introducimos en el navegador nuestra dirección seguida de /phpmyadmin (algo así como http://localhost/phpmyadmin ), si todo ha ido bien se cargará el gestor de inicio de sesión. Por
defecto el usuario para MySQL es ‘root’ sin contraseña, algo que os recomiendo que modifiquéis inmediatamente durante esta primera sesión de pruebas. Es posible que al intentar hacer login en MySQL de el error


Error #1045: Access denied to user ‘user@localhost’ (using password: YES)



A mí me sucedió y la verdad es que toda la ayuda que busqué por foros se reducía a decirme que permitiera el inicio de sesión a través de red, algo que no llegó a funcionar, al final purgué configuración e hice apt-get -f install y todo fue bien.


7. Ahora toca bajarse la última versión
de drupal de drupal.org (yo usé la versión v4.7). Lo descomprimimos en cualquier sitio y copiamos esos archivos directamente en /var/www (para esto tendremos que actuar como root,
lo cual es poco
seguro, por lo que recomiendo crear un grupo de usuarios que incluya a root (propietario) y al usuario sin privilegios, dando permisos de escritura al grupo en /var/www


8. Una vez conseguimos entrar a manejar nuestras bases de datos con phpMyadmin, lo siguiente es crear nuestra base de datos para nuestro sitio web basado en Drupal. En nuestro ejemplo se llamará ‘drupal’. Creamos la base de datos y no añadimos ninguna tabla, en su lugar seleccionamos la segunda pestaña del panel de control de phpmyadmin (pestaña SQL) y importamos el archivo con la configuración de tablas de la base de datos que tenemos en /var/www/database/database.mysql


9. Ahora vamos a configurar drupal para que se entienda
bien con la base de datos que le hemos creado anteriormente. Para eso vamos a /var/www/sites/default/ y editamos las siguientes lineas:


$db_url=’mysql://usuario:contraseña@servidor/base_de_datos’;

$base_url=’http://mi_dns’;



Ambas lineas se rellenan con sentido común: Usuario
y contraseña son el usuario con permisos
para escribir la base de datos que hemos creado y su contraseña. Servidor es el nombre de nuestro servidor, por defecto viene «localhost» y es suficiente. Base_de_datos es el nombre de nuestra base de datos, «drupal» en este COMO.


10. Ahora faltará acceder a nuestro sitio web,
saldrá el placeholder de Drupal previo a la configuración inicial del sitio. Es fundamental hacer el primer usuario ya que éste es el que tendrá privilegios de administrador de la web. Una vez hecho esto ya solo quedará personalizar la web y adecuarla a nuestras necesidades.


11. (opcional) Dapper, en general Ubuntu en todas sus
versiones, trae una instalación por defecto bastante eficiente, con pocos puertos abiertos. Aún así es bastante recomendable tener un cortafuegos instalado. Es probable que para cuando llevéis a cabo esta instalación ya tengáis uno instalado, pero en caso contrario recomiendo instalar uno de los muchos front-end disponibles para iptables, yo uso Firestarter


~# apt-get install firestarter.


Con ésto hemos acabado el COMO, la configuración de drupal está sacada del manual que viene con el software, cualquier aporte, duda, o sugerencia para completar el COMO será agradecido.


Este COMO está disponible tanto en esta web como en los formatos ODT y PDF, se pueden descargar desde:



Formato ODT
Formato PDF




Doctor en Química laser. Consultor especializado en gestión de conocimiento con software libre. Autor de los libros publicados La sociedad de control y La neutralidad de la Red. Fundador de Cartograf.

10 Comments

    • El error 1045 es error de acceso, en algún momento la password de root no es la que trae por defecto (por defecto no trae ninguna…) y no te deja acceder. Yo lo solucioné como explico ahí: elimino programa, elimino configuración y reinstalo…

      No te puedo dar mucha más ayuda, pero si crees que te puedo ayudar más no tengas miedo de preguntar :)

    • Este error es de configuracion del phpmyadmin. una vez instalado, o bajado y descomprimido .. deben editar el archivo config.inc.php, y modificar los siguientes registros.

      $cfg['Servers'][$i]['auth_type'] = ‘cookie’; // Authentication method (config, http or cookie based)?
      $cfg['Servers'][$i]['user'] = ‘root’; // MySQL user
      $cfg['Servers'][$i]['password'] = ”; // MySQL password (only needed

      y dejarlo con esos datos.

      explico un poco de que se trata, la primera linea dice del metodo de autenticacion que usara phpmyadmin.
      logicamente lo siguiente es el usuario y la contraseña, obviamente no debe ser la misma que tenga el usuario ..

      con los datos puesto acá estaria bien.-

      despues de esto tambien deben elejir una palabra secreta y modificar la linea que dice :

      $cfg['blowfish_secret'] = ‘palabra’;

      y eso sería para solucionar el pequeño error..

      Cualquier consulta monarka_@hotmail.com

      The Debian Son.

  1. Ante todo..un millón de gracias!!..este COMO me a ayudado enormemente..soy relativamente nueva en todo esto de linux..pero me tiene fasinada..Instale Drupal siguiendo tus consejos..y se instaló de forma perfecta..pero cuando entro en la pagina principal y trato de crear un usuario me manda nuevamente a mi carpeta de localhost..ojalá puedas ayudarme..y GRACIAS por tu tiempo

  2. Buenas Dias Mi nombre Jose David Medina Ramirez Como yo podre crear hosting con que software podre crear hosting, y tambien crear una base datos MySQl

    Muchas racias por su atención.

    • El software y el proceso de instalación están descritos en el artículo… poco más que eso puedo hacer por ayudarte ya que el propósito del artículo es precisamente ese: Contar cómo configurar un servidor y conectarlo con una base de datos. Suerte!

  3. Para dar hosting. necesitarias mas que apache, php y mysql, debes instalar un servidor DNS, pop3, SMTP, etc
    configurar dominios viertuales en apache.. los userdir, configurar FTP, etc, trabajaré en un Howto que explique todo lo relacionado con lo de hacer hosting.

    saludos.

  4. Hola, disculpa es que me sigue dando el maldito error 1130, cambiando los parametros que ponias anteriormente, estoy bastante desesperado con este tema. Voy al phpadmin y me sale la pantalla para poner usuario y contraseña y salta el error 1130. Grácias de antemano.

    Angel

  5. SALUDOS

    Después de instalar apache, php5, mysql server y phpmyadmin, todo funcionaba menos el ingreso a http://localhost/phpmyadmin. Me botaba un error 304 que me indicaba que no tenia permisos ni privilegios para poder acceder a la base de datos.

    La verdad que sufri para conseguir la solucion pero como quiero de alguna forma ayudar a la gente ubuntera que quiere aprender, voy a indicar cual fue la solucion:

    Solo cambie de posición la carpeta de phpmyadmin que se instalo en usr de la siguiente manera…
    # mv /usr/share/phpmyadmin /var/www/ (resalto que la estoy moviendo hacia la carpeta de mi servidor)
    luego le doy los privilegios a dicha carpeta de la siguiente manera
    # chown -R www /var/www/phpmyadmin

    Con esto reinicio todo luego escribo en el firefox
    http://localhost/phpmyadmin y se abrira el index de phpmyadmin pidiendo el usuario y la contraseña que creaste al instalar mysql.

    bueno no soy un capo asesorando gente y me disculpan si no fui muy claro. ojala les sirva.

    suerte

    jc el bravo

Comments are closed.