1. Introducción
PHP-Nuke es un sistema de creación de portales (weblogs) distribuido bajo la licencia GPL, con el que podréis crear fácilmente páginas de noticias con gran facilidad y un buen resultado final.
En este artículo explicaré como preparar nuestro portal PHP-Nuke. Para la explicación he utilizado el servidor web Apache y el lenguaje PHP con soporte para base de datos MySQL.
2. Preparando la instalación
Para instalar PHP-Nuke, lo primero de todo será bajarnos la última versión de PHP-Nuke; esto lo haremos desde la página oficial de PHP-Nuke. Lo bajamos y descomprimimos y nos descomprimirá los siguientes ficheros y directorios:
mordor:[~/phpnuke]% ls ADDONS-MODULES COPYING README TRANSLATIONS sql BLOCKS CREDITS SUPPORT UPGRADE CHANGES INSTALL TODO html
El directorio html contiene el código de la página. Lo guardaremos en un directorio que creemos destinado a hospedar páginas, por ejemplo /www.
Supongamos que el dominio de la página es inforsist.net. Pues guardaremos el directorio html en /www/inforsist.net/html. Lo siguiente será “decirle” apache mediante el uso de VirtualHosts que nuestros hostnames inforsist.net y www.inforsist.net se situan en el directorio /www/inforsist.net/html. Esto se haría añadiendo esto al fichero de configuración httpd.conf:
# Necesario para usar vhosts NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@inforsist.net DocumentRoot /www/inforsist.net/html ServerName inforsist.net ServerAlias www.inforsist.net ErrorLog /www/inforsist.net/logs/inforsist.net-error_log CustomLog /www/inforsist.net/logs/inforsist.net-access_log combined </VirtualHost>
Haciendo que www.inforsist.net apunte a la IP del servidor donde está alojada la página y añadiendo esas lineas al fichero de configuración de Apache conseguiremos que nuestra página cargue correctamente y guarde los logs, que nos pueden ser útiles para generar estadísticas web con programas como Webalizer. Pero este es otro tema, así que no profundizaremos en él y nos centraremos en PHP-Nuke.
Tened en cuenta que estos ejemplos que he dado son mi configuración particular, y no tiene que ser identicamente como se hace aquí.
Una vez listo Apache, lo siguiente será preparar la base de datos que PHP-Nuke necesita para la página. Supongo que ya tienes instalado MySQL, y que has cambiado el password del usuario root. Esto se hace así:
# mysqladmin -u root -p password newpassword
Donde newpassword es el nuevo password que quieras poner. Ahora lo que haremos será crear una base de datos para la página. El nombre de la base de datos será, por ejemplo, inforsist. Después le daremos a ésta base de datos la estructura necesaria para el portal PHP-Nuke. Lo haremos así:
# mysqladmin -u root -p create inforsist # cd sql # mysql -u root -p inforsist < nuke.sql
Ahora tenemos creada la base de datos, a la cual el único usuario que tiene acceso es root. Podríamos configurar PHP-Nuke para que use este usuario para manejar la base de datos, pero no se recomienda en absoluto, porque en caso de que averiguen nuestro password, podrían hacer lo que quisieran con todas las bases de datos de nuestro sistema. Para evitar esto crearemos un nuevo usuario que sólo tenga privelegios sobre la base de datos inforsist. Esto lo haremos así: entramos a la base de datos con el cliente mysql, para ello tecleamos:
mysql -u root -p
Una vez dentro de sql, haremos lo siguiente:
mysql> grant all privileges on inforsist.* to nombreusuario@localhost identified by 'password';
Ahora que ya tenemos un usuario/clave con acceso a la base de datos de inforsist, lo metemos en el fichero config.php del directorio de PHP-Nuke. Una vez hecho esto, vamos con el navegador a http://nuestra.pagina.phpnuke/admin.php, nos hacemos administradores y ya configuramos todo de forma sencilla, por página web.
3. Notas sobre seguridad
Debéis tener en cuenta los permisos de los ficheros, sobre todo si en vuestro sistema tenéis a más usuarios. Por ejemplo, si el fichero config.php tuviera permiso de lectura para todo el mundo, otro usuario de vuestro servidor podría ver la clave y hacer lo que quisiera con la página.
Mi recomendación es la siguiente: averiguar el usuario bajo el que corre vuestro servidor Apache, que suele ser nobody, y le dais a todos los ficheros de PHP-Nuke permisos de lectura/escritura para el propietario y permisos de lectura para el grupo. De esta forma otros usuarios no podrán ver el código.
chmod -R o-rwx html chmod -R g+r html chmod -R u+rw html
Nota: al fichero config.php debéis darle permiso de escritura para el usuario que corre el servidor Apache, para que podáis guardar las Preferencias.
Fuente: http://www.lawebera.es/comunidad/articulos/programacion/instalar-php-nuke.php