Ces instructions sont plus adaptées aux développeurs et aux administrateurs qui souhaitent utiliser le "bord de saignement" de Foswiki. Nous vous recommandons d'utiliser nos distributions emballées. Voir notre page de téléchargement
Vous pouvez exécuter une instance Foswiki à partir de ce clone simplement en pointant Apache dessus. Voir l'apacheconfigenerator
Remarque: Configure a été complètement réécrit sur la branche maître. Foswiki est désormais en mesure de "bootstrap" lui-même sans configuration. Après pseudo-installation des extensions par défaut, pointez votre navigateur à votre URL par défaut pour le nouveau site comme configuré dans ApacheConfigenerator. (Ex. http://yoursite.com , http://yoursite.com/foswiki , ou http://yoursite.com/foswiki/bin/view en fonction de la configuration Apache)
Pour "installer" des extensions dans une zone de caisse, vous devez utiliser le script pseudo-install.pl pour les installer. Sur Unix / Linux, ce script génère des liens souples de l'arborescence centrale aux extensions, afin que vous puissiez travailler sur votre code in situ et voir l'impact des modifications sur votre Foswiki en direct sans avoir besoin de faire une étape d'installation. Windows ne prend pas en charge les liens souples, donc le script peut également être exécuté en mode -copy (la valeur par défaut sur Windows), mais dans ce cas, vous devrez le redémarrer chaque fois que vous modifiez votre extension. Utiliser:
pseudo-install.pl default pour installer les contributs et plugins par défaut (par exemple, extensions.twistyContrib qui est invoqué par extensions.patternskin)pseudo-install.pl developer pour installer les extensions de développeur supplémentaires. L'option développeur installe également toutes les extensions par défaut. Voir le commentaire de l'en-tête du script pseudo-install.pl (répertoire principal de la caisse) pour les options et plus d'informations. Notez que pseudo-install.pl fonctionne uniquement avec des extensions qui ont un fichier manifeste, comme l'exige les extensions.buildContrib. Les exemples de script ci-dessous sont pour bash Shell.
La situation typique est que vous souhaitez exécuter une FOSWIKI pseudo-installée à partir de la succursale "maître". Et si vous développez des plugins, vous souhaitez pouvoir activer votre plugin dans cette installation. Il s'agit de la séquence entière pour vérifier la branche maître de Git et faire la pseudo-stall. Nous supposons que vous souhaitez exécuter votre installation Git en /var/www/foswiki
Les commandes suivantes consultent un Foswiki absolument minimal (le mappage de l'utilisateur Core + par défaut uniquement). C'est le plus petit paiement qui fonctionnera. Les étapes sont:
git clone https://github.com/foswiki/distro.git foswikicd core && ./pseudo-install.pl default cd /var/www
mkdir foswiki
git clone https://github.com/foswiki/distro.git foswiki
Cloning into 'foswiki'...
remote: Counting objects: 134190, done.
remote: Compressing objects: 100% (37847/37847), done.
remote: Total 134190 (delta 87343), reused 132136 (delta 85289)
Receiving objects: 100% (134190/134190), 66.86 MiB | 1.63 MiB/s, done.
Resolving deltas: 100% (87343/87343), done.
Checking connectivity... done.
# By default this will leave you in the "master" branch, where leading edge development happens
# If you want to use the current release branch, change to the Release01x01 branch
# Skip this step if you want to remain on the experimental master branch.
cd foswiki
git checkout Release01x01
Branch Release01x01 set up to track remote branch Release01x01 from origin.
Switched to a new branch 'Release01x01'
# The extensions have all been checked out one level up from the "core" directory
# the next step is to link / copy them into the installation. This is done with pseudo-install.
cd core
perl -T pseudo-install.pl default
Installing extensions: PatchFoswikiContrib, AutoViewTemplatePlugin, CompareRevisionsAddOn, CommentPlugin, EditTablePlugin, EmptyPlugin, FamFamFamContrib, HistoryPlugin, InterwikiPlugin, JSCalendarContrib, JQueryPlugin, MailerContrib, TablePlugin, TwistyPlugin, PatternSkin, PreferencesPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, SpreadSheetPlugin, TipsContrib, WysiwygPlugin, TinyMCEPlugin, TopicUserMappingContrib, TWikiCompatibilityPlugin, core
Processing AutoViewTemplatePlugin
Linked data/System/AutoViewTemplatePlugin.txt
mkdir /var/www/fw/core/lib/Foswiki/Plugins
...
#...
#... A large amount of output is generated.
#... Errors about dependencies on foswiki extensions can generally be ignored.
#... The extensions are not installed in the order that would resolve all dependencies.
#...
# If necessary, change ownership of all files to the webserver user.
# In this case that is 'apache:apache', though it may also be 'www-data:www-data'
# e.g. on Debian and Ubuntu systems, or something else entirely. Check first.
chown -R apache:apache foswiki
# Now configure Apache to use the Foswiki in /var/www/foswiki/core
core/../foswiki.httpd.conffoswiki.httpd.conf à partir de votre apache httpd.conf ou/etc/apache2/sites_enabled ou /etc/apache2/vhosts.d , ou /etc/apache2/Include ... consultez les instructions de votre distribution locale.Include /path/to/foswiki.httpd.confSymbolic link not allowed or link target not accessible , vous devez probablement ajouter +FollowSymLinks le répertoire CORE / Pub à la Options de votre /var/www/foswiki/dev/core/pub dans votre configuration Apache. À ce stade, si vous pointez votre navigateur vers votre URL Foswiki, cela devrait "simplement fonctionner", mais affichera un avertissement bootstrap en haut de la configuration. Pour configurer entièrement Foswiki, visitez l'URL bin/configure , résolvez tous les avertissements et erreurs et enregistrez la configuration. ATTENTION: Une fois que vous avez enregistré la configuration, vous ne pourrez pas utiliser à nouveau Configurer à moins que vous ne vous soyez inscrit et vous êtes accordé par l'autorité "Adimimin". Vous pouvez contrôler qui peut utiliser la configuration en définissant Security and Authentication -> Access Control {ConfigureFilter} . Lorsque cette option est définie, il remplace la vérification de l'autorité d'administration et peut permettre à tout utilisateur, y compris l'utilisateur invité d'utiliser la configuration. Alors utilisez la prudence!.
Maintenant, vous voudrez garder votre installation en synchronisation avec la dernière version du référentiel Foswiki Git. Le script pseudo-install n'est pas assez intelligent pour faire face aux modifications des manifestes, c'est donc le moyen de mettre à jour idiot. Il supprime d'abord tous les liens (ou les fichiers copiés), Git Fetch. Et enfin fait une nouvelle pseudo-stall.
cd /var/www/foswiki/core
./pseudo-install.pl -uninstall all
git pull
./pseudo-install.pl default
chown -R apache:apache ..
Normalement, le simple fait de faire la traction GIT sera suffisant, à moins que quelqu'un n'ait supprimé des fichiers (et même alors, vous pouvez généralement l'ignorer).
Si vous êtes un développeur, vous pouvez également installer le kit requis pour exécuter des tests unitaires, en passant le paramètre developer à pseudo-install.pl
cd /var/www/foswiki/core
./pseudo-install.pl developer
Cela installera également BuildContrib et un certain nombre d'autres composants utiles aux développeurs.
Les tests unitaires fonctionnent avec des affirmations activés, mais pas l'environnement Web en direct. Afin d'activer les affirmations, modifiez bin/LocalLib.cfg (s'il n'est pas là, créez-le en copiant bin/LocalLib.cfg.txt ) et débouchez la ligne suivante
$ENV{FOSWIKI_ASSERTS} = 1;
Cela permet des tests de validation supplémentaires qui auront un impact sur les performances, mais pèsent certains problèmes qui pourraient être manqués pendant l'utilisation normale du Web.
Foswiki 1.2 ne fait plus d'expédition avec des modules CPAN. Il est maintenant recommandé d'utiliser le gestionnaire de packages de votre système ou CPAN pour installer des dépendances. Voir http://foswiki.org/system/SystemRequirements. Dans le cas où vous ne pouvez pas installer les dépendances CPAN, pseudo-installez le cpanConTrib pour obtenir les dépendances spécifiques de style 1.x Foswiki. (CpanContrib n'est pas encore libéré). Afin de tester ces modules, CPAN LIB APPENDANCE doit être activé dans Bin / Locallib.cfg en décalmentant la ligne suivante:
$CPANBASE = ''; # Uncommented: Default path prepended
. Voir les commentaires dans bin/LocalLib.cfg.txt pour plus de détails.
Il est probablement préférable de tester à l'aide de modules de plate-forme ainsi que les modules expédiés.
L'exemple de commandes ci-dessus décrit comment installer un Foswiki minimaliste . Le script pseudo-install connaît quelques astuces supplémentaires à utiliser avec des extensions non défaut. Si vous pseudo-install une extension qui n'est pas actuellement vérifiée, pseudo-install clonera automatiquement l'extension de GitHub à l'aide de https://github.com/foswiki/ExtensionName.git
Remarque: Bien que nous utilisons les branches gérées par la version (maître, release01x00, release01x01) dans la distribution de base de Foswiki ("Distro"), les extensions non défautes n'ont généralement qu'une branche "maître".
Voici comment installer une extension sans défaut, en utilisant Antiwikispamplugin à titre d'exemple:
cd foswiki/core
./pseudo-install.pl AntiWikiSpamPlugin
Useless use of E at ./pseudo-install.pl line 1553.
Useless use of E at ./pseudo-install.pl line 1553.
Installing extensions: AntiWikiSpamPlugin
Processing AntiWikiSpamPlugin
Trying clone from git://github.com/foswiki/AntiWikiSpamPlugin.git...
Cloning into 'AntiWikiSpamPlugin'...
remote: Counting objects: 489, done.
remote: Total 489 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (489/489), 86.42 KiB | 0 bytes/s, done.
Resolving deltas: 100% (185/185), done.
Checking connectivity... done.
Cloned AntiWikiSpamPlugin OK
Linked data/Main/AntiWikiSpamBypassGroup.txt
Linked data/System/AntiWikiSpamLocalList.txt
Linked data/System/AntiWikiSpamRegistrationWhiteList.txt
Linked data/System/AntiWikiSpamRegistrationBlackList.txt
Linked data/Sandbox/AntiWikiSpamTestTopic.txt
Linked data/System/AntiWikiSpamPlugin.txt
Linked lib/Foswiki/Plugins/AntiWikiSpamPlugin.pm
Linked lib/Foswiki/Plugins/AntiWikiSpamPlugin
Linked test/unit/AntiWikiSpamPlugin
Linked /var/www/fw/core/tools/develop/githooks/commit-msg as /var/www/fw/AntiWikiSpamPlugin/.git/hooks/commit-msg
Linked /var/www/fw/core/tools/develop/githooks/pre-commit as /var/www/fw/AntiWikiSpamPlugin/.git/hooks/pre-commit
Linked /var/www/fw/core/tools/develop/githooks/commit-msg as /var/www/fw/AntiWikiSpamPlugin/../.git/hooks/commit-msg
Linked /var/www/fw/core/tools/develop/githooks/pre-commit as /var/www/fw/AntiWikiSpamPlugin/../.git/hooks/pre-commit
AntiWikiSpamPlugin installed
Linked /var/www/fw/core/tools/develop/githooks/commit-msg as /var/www/fw/core/.git/hooks/commit-msg
Linked /var/www/fw/core/tools/develop/githooks/pre-commit as /var/www/fw/core/.git/hooks/pre-commit
Linked /var/www/fw/core/tools/develop/githooks/commit-msg as /var/www/fw/core/../.git/hooks/commit-msg
Linked /var/www/fw/core/tools/develop/githooks/pre-commit as /var/www/fw/core/../.git/hooks/pre-commit
Ceci est pratique si vous avez changé beaucoup de manifestes ou si vous avez manuellement lié des fichiers et que vous souhaitez supprimer tous les liens souples cassés. Supposons que votre vérification du coffre soit sur /var/www/foswiki . Vous devrez également le faire lorsque vous basculez entre les branches Libert01x01 et Master.
find -L /var/www/foswiki/core -type l -exec rm {} ;
Vous pouvez créer rapidement et facilement une nouvelle extension à l'aide du script create_new_extension.pl installé dans core lorsque vous pseudo-installer les extensions.buildContrib.
Si vous développez un nouveau code, vous voudrez configurer l'environnement de développement et de test. Pour cela, vous devrez pseudo-installer! BuildContrib ,! UnitTestContrib et! TestFixturePlugin.
./pseudo-install.pl developer
Alors:
cd test/unit
export FOSWIKI_LIBS`/var/www/foswiki/core/lib
perl ../bin/TestRunner.pl FoswikiSuite
(ou équivalent sur Windows)
Pour plus de détails, voir http://foswiki.org/development/unittests#settingUpateSenvironment