Configurando el servidor web

calendario07/07/2004 reloj20:35 calendarioCategorías: Peripecias ComentarComentar

Como bien es sabido por todos (no es que lo diga yo), Linux es el sistema operativo más apropiado a la hora de montar servidores webs serios, osea, los de pago. Pero para la gente de a pie, también nos permite crear un servidor web, en el que podemos probar nuestras webs sin tener que estar todo el día subiendo cosas por ftp, es por esto que me he decidido a instalar apache + php + myslq en mi Linux Gentoo.

El primer paso, ha sido añadir al /etc/make.conf unas USE, que para mi eran importantes:

  • php
  • gd
  • mysql
  • mod_php
  • mcalc

Una vez hecho esto, ya podemos comenzar a emerger paquetes:

emerge apache
emerge mod_php
emerge phpmyadmin
emerge mysql

Y ahora solo falta comprobar que el apache está configurado para trabajar con php, para lo que miramos en el archivo /etc/conf.d/apache2, y en el caso de estar comentada, o distinta, dejarla de este modo:

  1. APACHE2_OPTS="-D SSL -D PHP4"

Ya solo queda arrancar apache con lo de siempre:
etc/init.d/apache2 start

Ahora es el turno de configurar mysql, que al intentar iniciar, nos dice que está sin instalar la base de datos:

  1.  
  2. root@CaNuTo BiTToRRenT # /etc/init.d/mysql start
  3. * You dont appear to have the mysql database installed yet.
  4. * Please run /usr/bin/mysql_install_db to have this done...

Siguiendo las instrucciones, hago:

  1.  
  2. root@CaNuTo BiTToRRenT # /usr/bin/mysql_install_db
  3. Preparing db table
  4. Preparing host table
  5. Preparing user table
  6. Preparing func table
  7. Preparing tables_priv table
  8. Preparing columns_priv table
  9. Installing all prepared tables
  10.  
  11. PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
  12. To do so, start the server, then issue the following commands:
  13. /etc/init.d/mysql start (you have to start the server first!)
  14. /usr/bin/mysqladmin -u root -h CaNuTo password 'new-password'
  15. /usr/bin/mysqladmin -u root password 'new-password'
  16. See the manual for more instructions.

Y ahora hago lo que me ha dicho:

  1.  
  2. root@CaNuTo BiTToRRenT # /etc/init.d/mysql start
  3. * Starting mysqld... [ ok ]
  4. root@CaNuTo BiTToRRenT # /usr/bin/mysqladmin -u root password [mipass]

Y por último configuro el phpmyadmin, para lo cual edito el archivo de configuración:

  1.  
  2. root@CaNuTo BiTToRRenT # nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

En este archivo edito las siguientes líneas:

  1. $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin';
  2. $cfg['Servers'][$i]['controluser'] = 'root';
  3. $cfg['Servers'][$i]['controlpass'] = '[mipass]';
  4. $cfg['Servers'][$i]['auth_type'] = 'config';
  5. $cfg['Servers'][$i]['user'] = 'root';
  6. $cfg['Servers'][$i]['password'] = '[mipass]';

Con esto sería suficiente, pero se puede bloquear el acceso a una determinada base de datos, editando la línea

  1. $cfg['Servers'][$i]['only_db'] = '';

, pero yo prefiero manipularlas todas :).
Ahora mismo tengo el phpmyadmin accesible para cualquiera, sin contraseña y con total libertad, he hecho esto porque como lo usaré solo para pruebas y demás, prefiero entrar sin ninguna restricción, y ahora puedo borrar el acceso de la gente que no entren desde localhost. Para ello bastará con entrar a la tabla user, y borrar los registros que no tengan localhost, y de esta manera solo podremos enredar en la base de datos en local. Si queremos que algun amigo nos ayude desde su casa, podemos añadir su host, y listo.

Y ya he acabado de montar el servidor de php y mysql, con phpmyadmin para gestionarlo, espero que se os de a vosotros igual de bien que a mi, y ahora hay que hacer cosillas para la web.

Los comentarios están cerrados.