คำแนะนำเหล่านี้เหมาะสำหรับนักพัฒนามากขึ้นและผู้ดูแลระบบที่ต้องการใช้ "ขอบเลือด" ของ Foswiki เราขอแนะนำให้ใช้การแจกแจงแบบแพคเกจของเรา ดูหน้าดาวน์โหลดของเรา
คุณสามารถเรียกใช้อินสแตนซ์ Foswiki จากโคลนนี้ได้เพียงแค่ชี้ Apache ไปที่ ดู Apacheconfiggenerator
หมายเหตุ: การกำหนดค่าได้รับการเขียนใหม่อย่างสมบูรณ์ในสาขาหลัก Foswiki สามารถ "bootstrap" ได้โดยไม่ต้องกำหนดค่า หลังจากการติดตั้งหลอกส่วนขยายเริ่มต้นให้ชี้เบราว์เซอร์ของคุณที่ URL เริ่มต้นของคุณสำหรับไซต์ใหม่ตามที่กำหนดค่าไว้ใน ApacheConfiggenerator (เช่น http://yoursite.com , http://yoursite.com/foswiki หรือ http://yoursite.com/foswiki/bin/view ขึ้นอยู่กับการกำหนดค่า Apache)
ในการ "ติดตั้ง" ส่วนขยายในพื้นที่ชำระเงินคุณควรใช้สคริปต์ pseudo-install.pl เพื่อติดตั้ง บน Unix/Linux สคริปต์นี้จะสร้างการเชื่อมโยงซอฟต์ลิงก์จากแผนผังหลักไปยังส่วนขยายเพื่อให้คุณสามารถทำงานกับรหัสของคุณในแหล่งกำเนิดและดูผลกระทบของการเปลี่ยนแปลงของ Foswiki สดของคุณโดยไม่จำเป็นต้องทำขั้นตอนการติดตั้ง Windows ไม่รองรับลิงค์ซอฟต์ดังนั้นสคริปต์จึงสามารถเรียกใช้ในโหมด -copy (ค่าเริ่มต้นบน Windows) แต่ในกรณีนี้คุณจะต้องเรียกใช้ใหม่ทุกครั้งที่คุณเปลี่ยนส่วนขยายของคุณ ใช้:
pseudo-install.pl default ในการติดตั้ง contribs และปลั๊กอินเริ่มต้น (เช่นส่วนขยาย TwistyContrib ซึ่งอาศัยโดยส่วนขยาย Patternskin)pseudo-install.pl developer เพื่อติดตั้งส่วนขยายของนักพัฒนาเพิ่มเติม ตัวเลือกนักพัฒนายังติดตั้งส่วนขยายเริ่มต้นทั้งหมด ดูความคิดเห็นส่วนหัวของสคริปต์ pseudo-install.pl (ไดเรกทอรีหลักของการชำระเงิน) สำหรับตัวเลือกและข้อมูลเพิ่มเติม โปรดทราบว่า pseudo-install.pl ทำงานกับส่วนขยายที่มีไฟล์รายการตามที่กำหนดโดยส่วนขยายที่กำหนด BuildContrib ตัวอย่างสคริปต์ด้านล่างนี้มีไว้สำหรับ bash Shell
สถานการณ์ทั่วไปคือคุณต้องการเรียกใช้ Foswiki ที่ติดตั้งแบบหลอกตรวจสอบจากสาขา "Master" และถ้าคุณพัฒนาปลั๊กอินคุณต้องการเปิดใช้งานปลั๊กอินของคุณในการติดตั้งนี้ นี่คือลำดับทั้งหมดสำหรับการตรวจสอบสาขาหลักจาก Git และทำแบบหลอก เราคิดว่าคุณต้องการเรียกใช้การติดตั้งตาม GIT ของคุณใน /var/www/foswiki
คำสั่งต่อไปนี้ตรวจสอบ foswiki ขั้นต่ำอย่างน้อย (การแมปผู้ใช้ Core + เริ่มต้นเท่านั้น) นี่คือการชำระเงินที่เล็กที่สุดที่จะทำงาน ขั้นตอนคือ:
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 นี้จาก apache 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 ข้อความประเภทที่สามารถเข้าถึงได้คุณอาจต้องเพิ่ม +FollowSymLinks ไปยัง Options สำหรับไดเรกทอรี /var/www/foswiki/dev/core/pub ณ จุดนี้ถ้าคุณชี้เบราว์เซอร์ไปที่ URL Foswiki ของคุณมันควร "แค่ทำงาน" แต่จะแสดงคำเตือน bootstrap ที่ด้านบนของการกำหนดค่า หากต้องการกำหนดค่า 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 Pull จะเพียงพอเว้นแต่ว่ามีคนลบไฟล์ (และแม้กระทั่งคุณก็สามารถเพิกเฉยได้)
หากคุณเป็นนักพัฒนาคุณสามารถติดตั้งชุดที่จำเป็นในการเรียกใช้การทดสอบหน่วยโดยผ่านพารามิเตอร์ developer ไปยัง pseudo-install.pl
cd /var/www/foswiki/core
./pseudo-install.pl developer
สิ่งนี้จะติดตั้ง buildContrib และส่วนประกอบอื่น ๆ ที่เป็นประโยชน์สำหรับนักพัฒนา
การทดสอบหน่วยทำงานโดยเปิดใช้งานการยืนยัน แต่สภาพแวดล้อมเว็บสดไม่ได้ ในการเปิดใช้งานการยืนยันให้แก้ไข bin/LocalLib.cfg (หากไม่มีให้สร้างโดยการคัดลอก bin/LocalLib.cfg.txt ) และ un-comment บรรทัดต่อไปนี้
$ENV{FOSWIKI_ASSERTS} = 1;
สิ่งนี้ช่วยให้การทดสอบการตรวจสอบเพิ่มเติมที่จะส่งผลกระทบต่อประสิทธิภาพ แต่จะจับปัญหาบางอย่างที่อาจพลาดในระหว่างการใช้เว็บปกติ
Foswiki 1.2 ไม่จัดส่งด้วยโมดูล CPAN อีกต่อไป ตอนนี้ขอแนะนำให้ใช้ตัวจัดการแพ็คเกจระบบของคุณหรือ CPAN เพื่อติดตั้งการพึ่งพา ดู http://foswiki.org/system/systemrequirements ในกรณีที่คุณไม่สามารถติดตั้งการพึ่งพา CPAN ได้ให้ติดตั้ง CPANCONTRIB เพื่อให้ได้การพึ่งพาเฉพาะ Foswiki สไตล์ 1.x (CPANCONTRIB ยังไม่ได้เปิดตัว) ในการทดสอบโมดูลเหล่านี้ควรเปิดใช้งาน CPAN LIB ใน bin/locallib.cfg โดยการเขียนบทต่อไปนี้:
$CPANBASE = ''; # Uncommented: Default path prepended
- ดูความคิดเห็นใน bin/LocalLib.cfg.txt สำหรับรายละเอียดเพิ่มเติม
เป็นการดีที่สุดที่จะทดสอบโดยใช้โมดูลแพลตฟอร์มเช่นเดียวกับโมดูลที่จัดส่ง
คำสั่งตัวอย่างข้างต้นอธิบายวิธีการติดตั้ง Foswiki มินิมอล สคริปต์การติดตั้งแบบหลอกรู้เคล็ดลับเพิ่มเติมบางอย่างเพื่อใช้กับส่วนขยายที่ไม่ได้รับการป้องกัน หากคุณหลอกการติดตั้งส่วนขยายที่ไม่ได้ตรวจสอบในปัจจุบัน Pseudo-install จะโคลนส่วนขยายจาก GitHub โดยอัตโนมัติโดยใช้ https://github.com/foswiki/ExtensionName.git
หมายเหตุ: แม้ว่าเราจะใช้สาขาที่ได้รับการจัดการ (Master, Release01x00, Release01x01) ในการกระจายหลักของ Foswiki ("distro") ส่วนขยายที่ไม่ใช่ default มักจะมีสาขา "Master" เท่านั้น
นี่คือวิธีการติดตั้งส่วนขยายที่ไม่ได้รับการป้องกันโดยใช้ 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
สิ่งนี้มีประโยชน์หากคุณมีการเปลี่ยนแปลงมากมายหรือมีการเชื่อมโยงไฟล์ใด ๆ ด้วยตนเองและต้องการลบลิงก์ซอฟต์ที่เสีย สมมติว่าการชำระเงินของคุณคือ AT /var/www/foswiki คุณจะต้องทำเช่นนี้เมื่อสลับระหว่าง Release01x01 และ Master Branch
find -L /var/www/foswiki/core -type l -exec rm {} ;
คุณสามารถสร้างส่วนขยายใหม่ได้อย่างรวดเร็วและง่ายดายโดยใช้สคริปต์ create_new_extension.pl ที่ติดตั้งใน core เมื่อคุณ pseudo-install extensions.buildContrib
หากคุณกำลังพัฒนารหัสใหม่คุณจะต้องตั้งค่าการพัฒนาและทดสอบสภาพแวดล้อม สำหรับสิ่งนี้คุณจะต้องใช้ 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
(หรือเทียบเท่ากับ Windows)
สำหรับรายละเอียดทั้งหมดดู http://foswiki.org/development/unittests#settingupatestenvironment