Documentatie noxqs.org
Basissysteem SDS - Theme - Installatie - Nieuwe versie - (dist)

Installatie Basissysteem SDS


Inleiding
Aangezien het systeem bestaat uit een database, programmacode, en gebruikers data zijn er verschillende mogelijkheden:
- Nieuwe installatie, vertrekkend van niets
- Installatie van nieuwe software met behoud bestaande data
- Importeer data in bestaand systeem

In het algemeen worden volgende stappen gevolgd:
Volgorde:
1. Beginsituatie LAMP checken,
2. bestanden afhalen, uitpakken,
3. configure script aanpassen,
4. installeer sds
5. installeer noxqs
6. importeer voorbeeldgegevens


Nieuwe installatie

1. Beginsituatie basissysteem

LAMP = Linux Apache MySQL PHP
Er is genoeg informatie beschikbaar hoe je die software kan vinden, downloaden of kopen, en installeren, zowel op het internet als in boekvorm.
- Warm aanbevolen is ook een hulpmiddel als phpMyAdmin of webmin om de databank(server) te beheren, controleren enz.

* Linux:
- installatie heeft make, automake, autoconf nodig, zo nodig installeren
- root rechten om configuraties te doen en rechten in te stellen.

* Apache:
- controleer of de symlinks gevolgd worden (httpd.conf bij Directory met webdocumenten +FollowSymLinks)
- kijken wat webserver root is ( bv RH /var/www/ of SuSE /srv/www/ deze is niet bereikbaar van buitenaf met browser)
- kijken wat document root is ( bv RH /var/www/html of SuSE /srv/www/htdocs - deze is bereikbaar via de browser)
- mogelijk recht nodig om serverdiensten te herstarten na herconfiguratie

* MySQL
- rechten om een database en een gebruiker te maken.

* PHP
- php. ini wijzigen : register_globals=Off op register_globals=On zetten
- php.ini onder paths and directories, include_path="" 2 paths bijzetten in de serverroot: webserverroot/sds en webserverroot/phplib
include_path=".:webserverroot/sds:webserverroot/phplib
Het kan zijn dat je server protesteert omdat die nog niet bestaan; je kan het ook later aanpassen.

2. Bestanden afhalen ...
Zie download op website. Kies de gewenste versie.
Om vanaf nul te beginnen zijn volgende bestanden nodig:
(de "x" staat voor een versienummer - verandert geleidelijk)
sds-x.x.tar.gz
noxqs-x.x.tar.gz
noxqs_data.tgz 

... en uitpakken
Uitpakken van de bestanden in een tijdelijke directory:
tar -xzvf sds-x.x.tar.gz
tar -xzvf noxqs-x.x.tar.gz
tar -xzvf noxqs_data.tgz 
De laatste pakt uit tot een bestand met "sql" uitgang: dient om databank terug op te bouwen (zie algemene MySQL doc)
De eerste twee maken ter plaatse een subdir (sds-x.x en noxsqs-x.x) aan met de subdirectories en bestanden.
In een subdir van sds vind je het configure script.

3. Configuratiescript aanpassen

Behalve de gewone "configure" met parameters te laten lopen, kan je ook de parameters in een shell script zetten, waarmee de configure wordt uitgevoerd. Een voorbeeld staat in "startconfigwithpar.sh", pas dat aan.

In het configure shell script de juiste waarden invullen voor :
- prefix: httpd server root directory
- directory naam van het project (vrij: zie werkelijke directory naam)
- sitename (bv domeinnaam - vrij)
- theme dat standaard gebruikt zal worden : zie bestaande theme-naam
- database naam : NOXQS
- database user (vrij)
- database user password (zoals gemaakt)


4 . Voer SDS installatie uit (mag vanuit user directory)

  startconfigwithpar.sh
(of
  configure en zelfs parameters meegeven)

daarna:
  make
en dan als root (su, password root):
  make install
cache directory en sub's daarvan moet schrijfbaar zijn voor webserver
(of schrijfbaar gemaakt worden Suse: wwwrun, www of RH: apache, apache), vb als root:
  cd /srv/www/htdocs/sds
  chown -R wwwrun cache
  chgrp -R www cache)

Als tussendoor opnieuw begonnen moet worden na foutmelding, en voorbije installatie moet verwijderd worden: "make dist clean"
Als thema's meegenomen moeten worden of bijgemaakt zijn; cache directory maken en theme directory kopieren

De directories sds en phplib komen in de webserver root.
In de document root komt
- een applicatiedirectory voor noxqs (bv www/html/noxqs)
In de noxqs applicatiedirectory komt
- een indexpagina om in te loggen
- een link naar de theme directory van sds
- een link naar de utils directory van sds
- ...

In php.ini onder include_path="" 2 paths bijzetten in de serverroot: webserverroot/sds en webserverroot/phplib;
let op dat de huidige directory, weergegeven door een "." niet blijft staan, de directory-namen worden gescheiden door een dubbel punt ":".
Waarschijnlijk is het nodig om de webserver te herstarten (bv /etc/rc.d/apache restart)
Gebruiker aanmaken volgens gegevens in configure script; (log in op MySQL server met client mysql)
  GRANT ALL ON NOXQS.* TO noxqsapp@localhost IDENTIFIED BY "noxqspassword" WITH GRANT OPTION;
  Query OK, 0 rows affected (0.06 sec)
Databases aanmaken
  newsystem importeren mysql noxqs -p < newsystem.sql

De directory zou er nu zo ongeveer moeten uitzien:
-rw-r--r--  1 root   root  581 2005-09-21 00:08 access_denied.html
drwxrwxrwx  9 wwwrun www   248 2005-09-21 00:08 cache/
-rw-r--r--  1 root   root 1113 2005-09-21 00:08 config.php
drwxr-xr-x  3 root   root  128 2005-09-21 00:08 images/
-rw-r--r--  1 root   root  590 2005-09-21 00:08 index.php
-rw-r--r--  1 root   root  241 2005-10-11 15:41 local_functions.php
-rw-r--r--  1 root   root 9671 2005-09-21 00:08 md5.js
-rw-r--r--  1 root   root  183 2005-09-21 00:08 path_config.php
lrwxrwxrwx  1 root   root   19 2005-09-21 00:08 themes -> /srv/www/sds/themes/
lrwxrwxrwx  1 root   root   18 2005-09-21 00:08 utils -> /srv/www/sds/utils/
En je zou op de webserver in /noxqs/ de inlogpagina moeten krijgen, waar je met admin/admin kan inloggen. Bij user management kan je een user bijmaken, waarmee dan ook weer ingelogd kan worden.
Dit is het basissysteem waarop nu de eigenlijke applicatiecode en bijhorende parameters moeten toegepast worden. Aangezien die allemaal in de database zitten, moet die gemaakt worden met de nodige presets - of gemakkelijker: geimporteerd van een bestaande voorbeeld of beginsituatie.

5 Installeer Noxqs: ofwel bestaande kopie ofwel nieuwe (leeg)

Kopie maken:
Kopie maken van de databases met mysqldump sds- en applicatie database.
De namen van de databases zijn NOXQS NOXQS_DB (voorlopig letterlijk zo over te nemen)
  mysqldump --complete-insert --add-drop-table -p NOXQS >bu_noxqs20040316
  mysqldump --complete-insert --add-drop-table -p NOXQS_DB >bu_noxqs_db20040316
ps:
dump parameters: zie makefile.am in sds/db directory
dumpnew om nieuw systeem te maken
dumpmod om alleen de data te dumpen en nadien in te voeren
dumplogin: het wijzigen van login-scherm: minder prominent op site aanwezig

Overbrengen naar een andere machine; vb:
  scp ./bu_noxqs20040316 root@192.168.1.218:/root/bu_noxqs20040316
  scp ./bu_noxqs_db20040316 root@192.168.1.218:/root/bu_noxqs_db20040316


Zie Makefile.am
Bij nieuwe moet een user bijgemaakt worden auth_md5
configure script "makefiles voor installatie": configure
make
make install
Om vanuit source directory een nieuw te installeren.
cache directory writable maken voor webserver.

Nieuwe installatie
Database maken. mysqladmin create NOXQS -p
mysql NOXQS -p < newsystem.sql
met rechten admin. Start-admin verwijderen of password verzetten.
Daarna cache all of cache system: alles wat met nieuw systeem geimporteerd is cachen.

mysql -p < user.sql maakt standaard user (admin/admin) voor het SDS systeem
Daarmee maak je je echte user aan met rechten admin. Start-admin verwijderen of password verzetten.
Daarna cache all of cache system: alles wat met nieuw systeem geimporteerd is cachen.
Bestanden:
Instellingen moeten gebeuren in
 php.ini
 configure
 src/sds/db/Makefile
 noxqs/path_config.php
 noxqs/config.php

Nodig:
Linux
Apache
MySQL
Php

Handig:
PhpMyAdmin
WebMin


* Linux:
- verschillende distributies zijn al uitgeprobeerd, ik werk vooral op RedHat/Fedora Core en Novell/Suse.

* Apache:
- of Apache werkt kan je dat zien door op de computer zelf http://localhost/ in de browser op te roepen (of het ip adres vanop een andere pc).

* MySQL:
- of mysql server werkt kan je zien door in te loggen of de versie op te vragen mysql -V op de command prompt.

* PHP
- php moet samenwerken met je webserver (Apache), is een module "php_mod", en info krijg je met phpinfo() in een php-pagina op de server.





Bestaande installatie updaten ...

mod 20060710