7.2. PHP-Nuke - start en portal på få timer

Hvis man vil have en portal startet på få timer og ikke regner med en ektrem belastning på maskinen, så et PHP-Nuke en glimrende måde at komme i gang på. Langt det meste vil konfigureres fra en web-browser, og man får typisk en fin site med en beskeden indsats. Ideen med PHP-Nuke er at der anvendes en SQL-database til at gemme indhold mens integrationen mellem Apache-webserveren sker med en række PHP-scripts, der ikke ændres. Systemet er lavet så man ikke skal rette i filer for at håndtere den daglige drift.

Eneste negative ting angår sikkerheden. PHP-Nukes programmører er ikke gode til at højne sikkerheden - hvilket kan ses på http://www.securityfocus.com hvis der søges på PHP-Nuke. F.eks. er der problemer med PHP-Nuke-filerne hvis man har en masse brugere på samme maskine, idet alle kan læse og skrive de filer der danner PHP-Nuke. Er det kun system-administratoren som anvender maskinen kan man se bort fra dette.

Start med at hente PHP-Nuke fra http://www.phpnuke.org. Vælg »Downloads« i øverste menu og "PHP-Nuke". Dette burde lede til http://phpnuke.org/modules.php?name=Downloads&d_op=getit&lid=225.

Start med at installere en apache-webserver og en MySQL-database. På en Red Hat 7.2 skal man indsætte Red Hat-cd-rom nummer 1 og skrive

[tyge@hven ~]$ su
[root@hven /root]# mount /mnt/cdrom
[root@hven /root]# rpm -ivh /mnt/cdrom/RedHat/RPMS/apache-1.3.20-16.i386.rpm 
[root@hven /root]# rpm -ivh /mnt/cdrom/RedHat/RPMS/php-4.0.6-7.i386.rpm
[root@hven /root]# rpm -ivh /mnt/cdrom/RedHat/RPMS/php-mysql-4.0.6-7.i386.rpm
[root@hven /root]# umount /mnt/cdrom 

Indsæt derefter cd-rom nummer to (stadig som brugeren root)

[root@hven /root]# mount /mnt/cdrom
[root@hven /root]# rpm -ivh mysql-3.23.41-1.i386.rpm mysql-server-3.23.41-1.i386.rpm
[root@hven /root]# umount /mnt/cdrom 
[root@hven /root]# exit 

Nu skal Apache-opsætningen sættes klar til en web-server. I det følgende antages at du vil have web-serveren http://www.linux-portal.dk i luften på IP-adresse 192.168.1.3 (denne IP-adresse virker kun på private netværk). Sørg for at dit servernavn www.linux-portal.dk er kendt i DNS (navneserveren) eller i det mindste nævnt i /etc/hosts hvis serveren kun skal servicere din hjemmenetværk.

Ret med en editor filen /etc/httpd/conf/httpd.conf og find afsnittet "Section 3: Virtual Hosts" omkring linje 1173. I linjen "NameVirtualHost" ændres IP-adressen og nedenfor indsættes en virtuel maskine som vist nedenfor - vi har her valgt at PHP-Nuke skal installeres i /usr/local/PHPNuke. Erstat gerne root@localhost med din egen email-adresse (anvendes til at rapportere fejl).

NameVirtualHost 192.168.1.3

<VirtualHost 192.168.1.3>
    ServerAdmin root@localhost
   DocumentRoot /usr/local/PHPNuke/html
  <Directory "/usr/local/PHPNuke/html">
    Options Indexes FollowSymLinks Includes
    AllowOverride None
    Order allow,deny
    Allow from all
    XBitHack full
  </Directory>
    ServerName www.linux-portal.dk
    ErrorLog logs/Nuke-error_log
    CustomLog logs/Nuke-access_log common
</VirtualHost>

Vi skal også huske at starte både Apache webserveren og MySQL serveren op.

[root@hven /root]# /etc/init.d/httpd restart
[root@hven /root]# /etc/init.d/mysqld restart

Pak nu PHP-Nuke ud

[root@hven /root]# mkdir /usr/local/PHPNuke
[root@hven /root]# mv PHP-Nuke-5.5.tar.gz /usr/local/PHPNuke 
[root@hven /usr/local/PHPNuke]# tar xzvf PHP-Nuke-5.5.tar.gz 

Læs gerne filen INSTALL som indeholder installations-noter. I store træk skal man køre følgende kommandoer. Først oprette en nuke-bruger i SQL-databasen, køre en opsætning ind. Rette alle filer og kataloger så alle kan læse og skrive alt. Flytte config.php ud fra web-serverens søgesti og endeligt få Apache til at læse config.php fra den nye sti.

[root@hven /usr/local/PHPNuke]# mysqladmin create nuke 
[root@hven /usr/local/PHPNuke]# mysql nuke < sql/nuke.sql 
[root@hven /usr/local/PHPNuke]# find . -type f -exec chmod 666 {} \; 
[root@hven /usr/local/PHPNuke]# find . -type d -exec chmod 777 {} \; 
[root@hven /usr/local/PHPNuke]# mv html/config.php . 
[root@hven /usr/local/PHPNuke]# echo '<?php include("../config.php"); ?>' > html/config.php 

Nu er vi faktisk allerede klar til at starte med opsætningen via en web-browser. Du bør nu kunne få http://www.linux-portal.dk vist hvis du prøver at hente denne hjemmeside.

Figur 7-4. PHP-Nuke admin.php

Hent straks derefter http://www.linux-portal.dk/admin.php. Da dette er første gang skal du nu indtaste dit system-administrator opsætning - dvs. dit login-navn (Nickname), og som minimum også password og email-adresse.

Figur 7-5. PHP-Nuke admin.php

Derefter kan man logge ind i PHP-Nuke med den nye konto. Man kommer derefter ind på følgende side, hvorfra man kan styre hele ens portal.

Figur 7-6. PHP-Nuke admin.php

Man kan f.eks. vælge "preferences" og få fyldt reelle information ind om selve hjemmesiden.

Figur 7-7. PHP-Nuke preferences

Man kan også sætte temaer (themes), som ændrer hele udseendet af hjemmesiden. Dette er vist på næste figur.

Figur 7-8. PHP-Nuke admin.php

Som system-administrator kan man via admin.php sætte nye historier ind, sætte afstemninger ind osv. Læs mere om dette på http://www.nuketutorials.com/. Se også http://nukesupport.com/.