이 지침은 개발자와 Foswiki의 "출혈 엣지"를 사용하려는 관리자를 위해 더욱 장비입니다. 패키지 배포판을 사용하는 것이 좋습니다. 다운로드 페이지를 참조하십시오
아파치를 가리키면서이 클론에서 Foswiki 인스턴스를 실행할 수 있습니다. Apacheconfiggenerator를 참조하십시오
참고 : 마스터 브랜치에서 구성이 완전히 다시 작성되었습니다. Foswiki는 이제 구성없이 자체를 "부트 스트랩"할 수 있습니다. 기본 확장자를 설치 한 후 ApacheConFigGenerator에서 구성된대로 새 사이트의 기본 URL에 브라우저를 가리 킵니다. (예 : http://yoursite.com 구성 http://yoursite.com/foswiki 따라 Apache 구성 http://yoursite.com/foswiki/bin/view 따라
체크 아웃 영역에 "확장"확장을하려면 pseudo-install.pl 스크립트를 사용하여 설치해야합니다. UNIX/LINUX 에서이 스크립트는 코어 트리에서 확장자까지 소프트 링크를 생성하므로 코드를 현장에서 작업하고 설치 단계를 수행 할 필요없이 라이브 FOSWIKI에 대한 변경의 영향을 볼 수 있습니다. Windows는 소프트 링크를 지원하지 않으므로 스크립트를 -copy 모드 (Windows의 기본값)로 실행할 수도 있지만이 경우 확장자를 변경할 때마다 다시 실행해야합니다. 사용:
pseudo-install.pl default 기본 기본 기본 장치 및 플러그인을 설치하려면 (EG Extensions.twistycontrib는 확장자에 의해 의존하는 .patternskin)pseudo-install.pl developer 추가 개발자 확장자를 설치합니다. 개발자 옵션은 또한 모든 기본 확장 기능도 설치합니다. 옵션 및 자세한 내용은 pseudo-install.pl 스크립트 (체크 아웃의 핵심 디렉토리)의 헤더 댓글을 참조하십시오. pseudo-install.pl 확장자가 요구하는 바와 같이 매니페스트 파일이있는 확장자와 만 작동합니다. 아래의 스크립트 예제는 bash 쉘 용입니다.
전형적인 상황은 "마스터"지점에서 체크 아웃 된 의사 설치 Foswiki를 실행하려는 것입니다. 플러그인을 개발하는 경우이 설치에서 플러그인을 활성화 할 수 있습니다. 이것은 GIT에서 마스터 브랜치를 확인하고 의사를 설치하는 전체 시퀀스입니다. /var/www/foswiki 에서 git 기반 설치를 실행하고 싶다고 가정합니다.
다음 명령은 절대적으로 최소한의 Foswiki (Core + Default 사용자 매핑 만)를 확인합니다. 이것은 가장 작은 체크 아웃입니다. 단계는 다음과 같습니다.
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.conf 에 저장합니다httpd.conf 또는 에서이 foswiki.httpd.conf 포함하십시오/etc/apache2/sites_enabled 또는 /etc/apache2/vhosts.d 또는 /etc/apache2/Include 에 저장할 수 있습니다 ... 로컬 배포 지침을 확인하십시오.Include /path/to/foswiki.httpd.confSymbolic link not allowed or link target not accessible 유형 메시지가 없으면 Apache 구성의 /var/www/foswiki/dev/core/pub 디렉토리 Options 에 +FollowSymLinks 추가해야 할 것입니다. 이 시점에서 브라우저를 Foswiki URL에 가리키면 "그냥 작동"하지만 구성 맨 위에 부트 스트랩 경고가 표시됩니다. Foswiki를 완전히 구성하려면 bin/configure URL을 방문하고 경고 및 오류를 해결하고 구성을 저장하십시오. 주의 : 구성을 저장하면 등록하고 "adimin"권한을 부여하지 않으면 다시 구성을 사용할 수 없습니다. Security and Authentication 설정하여 구성을 사용할 수있는 사람을 제어 할 수 있습니다 -> Access Control {ConfigureFilter} . 해당 옵션이 설정되면 관리 기관 검사를 대체하고 게스트 사용자를 포함한 모든 사용자가 구성을 사용할 수 있습니다. 그러니주의하십시오!.
이제 Foswiki Git 저장소의 최신 버전과 설치를 유지하려고합니다. 의사 설치 스크립트는 매니페스트 변경에 대처할 수있을만큼 지능적이지 않으므로 바보의 증거는 업데이트하는 방법입니다. 먼저 모든 링크 (또는 복사 된 파일), git fetch를 제거합니다. 그리고 마지막으로 새로운 의사를 설치합니다.
cd /var/www/foswiki/core
./pseudo-install.pl -uninstall all
git pull
./pseudo-install.pl default
chown -R apache:apache ..
누군가가 파일을 제거하지 않는 한 일반적으로 git 풀을 수행하는 것만으로는 충분합니다 (심지어 일반적으로 무시할 수 있습니다).
개발자 인 경우 developer 매개 변수를 pseudo-install.pl 에 전달하여 장치 테스트를 실행하는 데 필요한 키트를 설치할 수도 있습니다.
cd /var/www/foswiki/core
./pseudo-install.pl developer
또한 BuildContrib 및 개발자에게 유용한 여러 구성 요소를 설치합니다.
단위 테스트는 Asserts가 활성화 된 상태에서 실행되지만 라이브 웹 환경은 그렇지 않습니다. Asserts를 활성화하려면 bin/LocalLib.cfg 편집하십시오 (없는 경우 bin/LocalLib.cfg.txt 복사하여 작성).
$ENV{FOSWIKI_ASSERTS} = 1;
이를 통해 성능에 영향을 미치는 추가 유효성 검사 테스트가 가능하지만 정상적인 웹 사용 중에 누락 될 수있는 몇 가지 문제가 발생합니다.
Foswiki 1.2는 더 이상 CPAN 모듈을 제공하지 않습니다. 이제 시스템 패키지 관리자 또는 CPAN을 사용하여 종속성을 설치하는 것이 좋습니다. http://foswiki.org/system/systemrequirements를 참조하십시오. CPAN 종속성을 설치할 수없는 경우, 의사를 설치하여 1.x 스타일의 Foswiki 특정 종속성을 얻으십시오. (CPANCONTRIB는 아직 방출되지 않았습니다). 이러한 모듈을 테스트하기 위해 CPAN LIB 선불 선수는 다음 줄을 늘려서 빈/locallib.cfg 에서 활성화되어야합니다.
$CPANBASE = ''; # Uncommented: Default path prepended
. 자세한 내용은 bin/LocalLib.cfg.txt 의 의견을 참조하십시오.
배송 된 모듈뿐만 아니라 플랫폼 모듈을 사용하여 테스트하는 것이 가장 좋습니다.
위의 예제 명령은 미니멀리스트 Foswiki를 설치하는 방법을 설명합니다. 의사 설치 스크립트는 비 디폴트 확장에 사용할 몇 가지 추가 요령을 알고 있습니다. 의사가 현재 체크 아웃되지 않은 확장을 설치하면 의사-인스턴은 https://github.com/foswiki/ExtensionName.git 사용하여 github에서 확장을 자동으로 복제합니다.
참고 : Foswiki Core Distribution ( "Algro")에서 릴리스 관리 분기 (Mas
antiwikispamplugin을 사용하여 비 기본 확장자를 설치하는 방법은 다음과 같습니다.
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
많은 매니페스트를 변경했거나 수동으로 소프트 링크를 사용하여 부서진 소프트 링크를 제거하려는 경우에 편리합니다. 트렁크 체크 아웃이 /var/www/foswiki 에 있다고 가정하십시오. Release01X01과 마스터 브랜치 사이를 전환 할 때는이 작업을 수행해야합니다.
find -L /var/www/foswiki/core -type l -exec rm {} ;
extensions.buildcontrib를 의사를 설치할 때 core 에 설치된 create_new_extension.pl 스크립트를 사용하여 새 확장을 빠르고 쉽게 만들 수 있습니다.
새 코드를 개발하는 경우 개발 및 테스트 환경을 설정하려고합니다. 이를 위해서는 pseudo-install! buildcontrib,! unittestcontrib 및! testfixtureplugin이 필요합니다.
./pseudo-install.pl developer
그 다음에:
cd test/unit
export FOSWIKI_LIBS`/var/www/foswiki/core/lib
perl ../bin/TestRunner.pl FoswikiSuite
(또는 창에서 동등한)
자세한 내용은 http://foswiki.org/development/unittests#settingupatestenvironment를 참조하십시오