Partía de:
Podemos descargarlo también de NukeProjects, que prepara versiones corregidas y traducidas de PHP-Nuke, con parches de seguridad aplicados. Sólo hay un pequeño inconveniente, y es que están comprimidos con rar. Necesitarás unrar instalado en tu sistema. Puedes encontrarlo en este repositorio.
Hagamos una copia de seguridad de /var/www/ que lo tenemos muy limpito, por si algo sale mal:
[root@web ~]# cd /var
[root@web var]# tar cvzf www.tgz www/
y renombramos los siguientes archivos, si es que los tenemos, para que no aparezca ningún mensaje de advertencia:
[root@web var]# mv www/html/robots.txt www/html/robots.txt.bak
[root@web var]# mv www/html/index.php www/html/index.php.bak
Copiamos el archivo comprimido en /var/www/ y lo descomprimimos ahí:
# cd /var/www/
# unzip PHP-Nuke-7.8.zip
# rm PHP-Nuke-7.8.zip
Esto añadirá una gran cantidad de archivos a los que hay ahí. Reseñamos por su importancia, estos tres archivos: /var/www/html/index.php, /var/www/html/admin.php y /var/www/html/admin/.htaccess.
Cambiemos el nombre al archivo de administración, para esconderlo un poquito:
# mv /var/www/html/admin.php /var/www/html/administracion.php
Observemos el contenido de este /var/www/html/admin/.htaccess:
# cat /var/www/html/admin/.htaccess
deny from all
Si tenemos configurado apache para que los ficheros .htaccess controlen el acceso (tal y como vimos en la sección lamp), esto hará que ahora no se pueda acceder con el navegador web al interior de /var/www/html/admin/; en particular, a http://localhost/admin/phpMyAdmin/index.php.
Siqueremos realizar tareas de mantenimiento de MySQL con phpMyAdmin será preciso eliminar eliminar ese fichero (peligro para la seguridad), modificarlo para restringir la entrada según desde dónde se acceda (como se explica en la documentación de Apache), dejarlo así y cuando queramos acceder renombrarlo sólo el tiempo imprescindible, ...
Nota: si instalamos php-nuke preparado por Mandriva, tendremos una versión más antigua y se colocará en /var/www/html/Nuke/. Esto evita interferencias, pero tengamos en cuenta que la página índice del portal sería ahora http://localhost/Nuke/index.php.
El único archivo de configuración que debemos tocar es /var/www/html/config.php. Ahí va con opciones comentadas:
## Servidor para conectarse a la base de datos, nosotros aquí sólo localhost
$dbhost = "localhost";
## Nombre de usuario dueño de la base de datos nuke:
$dbuname = "rootnuke";
## Contraseña del anterior
#$dbpass = "clave_de_rootnuke";
## Nombre de la base de datos para php-nuke.
## La vamos a llamar nukita ;-)
$dbname = "nukita";
## Prefijo de las tablas de la base de datos: por defecto todas comienzan por "nuke".
## Por seguridad, cámbielo por algo original; pero sólo caracteres alfanumericos.
## Por supuesto, deberán cambiarse las líneas del archivo nuke.sql
$prefix = "lo_que_quieras";
$user_prefix = "lo_que_quieras";
## Tipo de base de datos. Nosotros MySQL:
$dbtype = "MySQL";
## Llave de seguridad. Ponga lo que quiera, pero no use comillas:
$sitekey = "PHPNUKE-7.8+IES*DELGADO*HERNÁNDEZ";
## Código de Seguridad o numerito aleatorio junto al "login" y "clave".
## Es útil para evitar intentos automatizados de acceso a lo bestia.
## Se necesita tener instalado php-gd
# 0: No se usa el Código de Seguridad
# 1: Sólo para los administradores van a iniciar sesión
# 2: Sólo cuando los usuarios van a iniciar sesión
# 3: Sólo cuando un usuario va a efectuar un registro en el sitio
# 4: Para el caso 2 y 3
# 5: Para el caso 1 y 2
# 6: Para el caso 1 y 3
# 7: Para todos los casos
$gfx_chk = 7;
## Si maneja suscripciones en su sitio, escriba la url aquí.
#$subscription_url = "";
## Nombre del archivo de administración (sin extensión).
## Por defecto es admin.php: lo cambiamos por seguridad.
$admin_file = "administracion";
## Usar opciones del editor de manera avanzada.
## Es uno (1) para activar, cero (0) para desactivar
## Los administradores siempre tienen esta opción activada:
$advanced_editor = 0;
Ahora crearemos la base de datos nukita.sql, cargaremos en ella todo el contenido de /var/www/sql/nuke.sql y creamos un usuario propietario para ella (será rootnuke y accederá desde localhost).
Importante: si hemos decidido cambiar los prefijos de las tablas de la base de datos, deberemos editar este archivo y sustituir "nuke_" por "lo_que_quieras_", así como reemplazar el nombre del archivo "admin.php" por "administracion.php" (o el que hayamos escogido).
Vamos:
cd /var/www/sql
mysqladmin -u rootsql -p create nukita
Enter password: *****
mysql -u rootsql -p nukita < nuke.sql
Enter password: *****
mysql -u rootsql -p
Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 70 to server version: 4.1.12
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> grant all privileges on nukita.* to rootnuke@localhost identified by 'clave_de_rootnuke';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
mysql> exit
Bye
Apuntamos a http://localhost y ya está ahí nuestro portal