Installation d'un serveur Scol sur FreeBSD

version 0.4b
Le 02-01-2004
Testé sur 4.8-STABLE FreeBSD

  1. Installation d'un serveur Scol sur FreeBSD
    1. Préparation du système
      1. - Installation de cvsup-witout-gui
      2. - Installation de portupgrade
      3. - Installation de la compatibilité linux
      4. - Créer un lien symbolique pour la compatibilité
      5. - Créer l'utilisateur Scol
    2. Installation du serveur Scol
      1. - Installation de Scol
      2. - Avant de démarrer le serveur...
        1. Les modules et les plugins
        2. Le fichier /home/scol/usm.ini
      3. - Démarrer le serveur
        1. Le démarrage automatique du serveur au boot
    3. Installation de l'interface Scol / Base de données
      1. - Installation des drivers ODBC pour MySQL
    4. Administration
      1. - Le Control Center
      2. - Installation de phpMyAdmin
      3. - Les services de nom pour les ip dynamique
    5. A Propos

Après l'install du système, mettre à jour les ports de freebsd ( sur un système existant, faire de même ):

Préparation du système

- Installation de cvsup-witout-gui

Le serveur doit avoir sa connection internet d'active pour pouvoir suivre les étapes suivante.

# cd /usr/ports/net/cvsup-witout-gui
# make
# make install
# make clean

configuration du fichier et choix du serveur mirroir copier et editer /usr/share/examples/cvsup/ports-supfile vers /root/ports-supfile. En gros :

# cp /usr/share/examples/cvsup/ports-supfile /root/ports-supfile
# vi /root/ports-supfile

De-commenter :
                        ports-base
                        ports-archivers
                        ports-emulators
                        ports-net
                        ports-sysutils
                         + ceux dont vous avez besoin ! ;)
puis

# /usr/local/bin/cvsup cvsup -g -L 2 /root/ports-supfile

- Installation de portupgrade

# cd /usr/ports/sysutils/portupgrade
# make
# make install
# make clean
# /usr/local/sbin/pkgdb -F // Pour remettre la base des ports à jour

- Installation de la compatibilité linux

# portupgrade -NRr emulators/linux_base

puis :

# brandelf -t Linux /home/scol/bin/*

pour ajouter le démarrage de la compatibilité linux au boot :

# vi /etc/rc.conf ajouter la ligne : linux_enable="YES"

- Créer un lien symbolique pour la compatibilité

# rm -rf /usr/compat/linux/home
# ln -s /home /usr/compat/linux/home

- Créer l'utilisateur Scol

# pw group add scol
# pw user add scol -d /home/scol -s /bin/sh -h /home/scol
# passwd scol

Installation du serveur Scol

- Installation de Scol

# cd /home
# su - scol
# fetch http://belnet.dl.sourceforge.net/sourceforge/scol/scol_install_server_linux_4.0.tgz
# tar -zxvf scol_install_server_linux_4.0.tgz
# cd scol_install
# ./install.sh
========================= SCOL SERVER INSTALLATION =========================
Enter SCOL destination directory (a 'scol' subdirectory will be added to this path) : /home

Enter SCOL group name : scol Enter SCOL user name : scol

Enter the external address of the server either with a DNS name or an IP address [not mandatory] :

Extracting files ...

Updating ini files ...

Enter SCOL administration login : UnLogin

Enter SCOL administration password : UnMotDePass

Enter administrator's first name [not mandatory] : UnPrenom

Enter administrator's last name [not mandatory] : UnNom

Updating ACL table ...

Creating SCOL start script ...

Changing owner ...

Do you want SCOL to be automatically launched at machine's startup (using file /etc/inittab) ? [y/n]n
You can add the following line in file /etc/inittab : s1:235:respawn:su scol -c "/home/scol/startscol.sh"
! Attention ! Le système de démarrage de FreeBSD n'a rien à voir avec celui de linux faites attention de bien répondre "n" ici.>

Installation successful.

Taper :

# cd /home/scol/partition; mkdir home/scol/partition/worlds; chown scol:scol home/scol/partition/worlds

- Avant de démarrer le serveur...

Les modules et les plugins

Avant de démarrer le serveur, penser à copier le répertoire partition/dms de votre machine windows vers le répertoire partition/ du serveur pour que les sites fonctionnent, sinon ils refuseront de démarrer.Ainsi que tous les modules dans le rep /home/scol/common/scs/. Copier vos site dans /home/scol/partition/worlds/.

Le fichier /home/scol/usm.ini

Il y a plusieurs lignes importante dans le fichier usm.ini qui doivent être modifié, la ligne :
          ForceIP
doit contenir en paramètre l'addresse ip publique de votre serveur, si vous avez une connection internet avec une IP fixe, alors là pas de problèmes :
          # ifconfig // pour visualiser votre adresse ip
dans votre editeur préféré, editer la ligne :
          ForceIP x.x.x.x <-- remplacer les "x" par votre adresse ip
Si vous avez une adresse ip dynamique, il faut alors qu'un script se charge de la manipulation ci-dessus, pour éviter de ré-editer ce fichier à chaque nouvelle connection

- Démarrer le serveur

Pour test, démarrer le serveur, etre logué en root et taper :

# su - scol -c './startscol.sh'

Le démarrage automatique du serveur au boot

créer un fichier scol.sh dans le répertoire /usr/local/etc/rc.d ( # cat > /usr/local/etc/rc.d/scol.sh ) contenant :

----------------- Cut here ------------------
#!/bin/sh
#
case "$1" in
start)
if [ -x /home/scol/usmunix ]; then # SCOL VARS
# Scol install directory
DSTDIR="/home"
USERSCOL="scol"
# unixODBC settings
ODBCSYSINI="$DSTDIR"/scol/unixODBC/etc ; export ODBCSYSINI
ODBCINI="$DSTDIR"/scol/unixODBC/.odbc.ini ; export ODBCINI
ODBCTXT="$DSTDIR"/scol/data ; export ODBCTXT
# Search path for dynamic libraries
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$DSTDIR"/scol ; export LD_LIBRARY_PATH
# Scol settings
SCOLPATH="$DSTDIR"/scol/usmunix ; export SCOLPATH # su - $USERSCOL -c '"$SCOLPATH" $* >/dev/null 2' & echo -n 'scol'
"$SCOLPATH" $* >/dev/null 2 & echo -n 'scol'
echo ""
fi
;;
stop)
/usr/bin/killall usmunix-v4_0-200 > /dev/null 2>&1 && echo -n 'scol'
echo ""
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
----------------- Cut here ------------------

Télécharger le script : scol.sh.tgz

Pour démarrer scol avec ce script :

# /usr/local/etc/rc.d/scol.sh start

Pour arreter scol :

# /usr/local/etc/rc.d/scol.sh stop

Installation de l'interface Scol / Base de données

- Installation des drivers ODBC pour MySQL

-- En construction --

Mise en place de MyODBC pour linux sous FreeBSD

# cd /home/scol
# fetch http://mysql.crihan.fr/Downloads/MyODBC3/MyODBC-3.51.06-pc-linux-gnu-i686.tar.gz

L'Url ci dessus est un des miroirs, liste complète : mysql.com

# gunzip MyODBC-3.51.06-pc-linux-gnu-i686.tar.gz
# tar -xvf MyODBC-3.51.06-pc-linux-gnu-i686.tar
# mv MyODBC* myODBC

Télécharger les libs linux : libs-odbc.tar a décompresser dans le répertoire usr/lib de la compat linux.

# mv lib-odbc.tar /compat/linux/usr/lib/
# cd /compat/linux/usr/lib/
# tar -xvf lib-odbc.tar
libmysqlclient.so.10
libmysqlclient.so.10.0.0
libmysqlclient_r.so.10
libmysqlclient_r.so.10.0.0
libodbcinst.so.1 -> libodbcinst.so.1.0.0
libodbcinst.so.1.0.0

Configuration des liens

# mkdir /var/lib/mysql
# cd /var/lib/mysql
# ln -s /tmp/mysql.sock
# cd ~scol
# chown -R scol:scol *

Les fichiers ini

Contenu du usm.ini :
    plugin unixODBC/lib/libodbc.so
    plugin myODBC/libmyodbc3.so
    #plugin /usr/lib/libiodbc.so.3
    plugin plugins/scolsql-2001-03-13.so SCOLloadSQL

Deux lignes par base sont nécessaire dans le fichier /home/scol/usmress.ini :
    odbc.nomBase.login userBase1
    odbc.nomBase.password password

Dans /home/scol/unixODBC/.odbc.ini
[SCOLserver]
Description = txt
Driver = txt
ColumnSeparator = |
CaseSensitive = No

[Base1]
Description = Base1
Driver = /home/scol/myODBC/libmyodbc3.so
USER = userBase1
Password = password
Database = nomBase
OPTION = 3

Administration

- Le Control Center

Une fois le serveur lancé, dans votre navigateur favoris, taper comme adresse :
http://x.x.x.x:1201
Où x.x.x.x est votre adresse ip publique ( dépend du coté où vous publiez le serveur : lan ou wan )
Identifiez vous en utilisant le login / mot de passe créé à l'installation

- Installation de phpMyAdmin

Il est pratique d'installer PhpMyAdmin pour administrer les bases de données.
Se référer à la documentation du logiciel pour l'installation.

- Les services de nom pour les ip dynamique

Avec noip.com

# portupgrade -RrN net/noip
# cd /usr/ports/net/noip
# make conf

Pour démarrer le service :

# /usr/local/etc/rc.d/noip.sh start

Le service est déjà installé pour se lancer automatiquement au démarrage du serveur.

A Propos

A Faire :
- Script changement de l'IP dans usdm.ini
- Paramétrer les accés FTP des utilisateurs
- Mettre Scol en prison

Fait :
- Script de lancement de scol au demarrage du serveur

--- FIN ---

Copyright Nyurgoart - / - Arkeon 2003