Instruksi ini lebih ditujukan untuk pengembang, dan admin yang ingin menggunakan "tepi pendarahan" Foswiki. Kami merekomendasikan menggunakan distribusi kemasan kami. Lihat halaman unduhan kami
Anda dapat menjalankan instance foswiki dari klon ini hanya dengan menunjuk Apache ke sana. Lihat Apacheconfiggenerator
Catatan: Configure telah sepenuhnya ditulis ulang di cabang master. Foswiki sekarang dapat "bootstrap" itu sendiri tanpa konfigurasi. Setelah menginstal pseudo ekstensi default, arahkan browser Anda ke URL default Anda untuk situs baru sebagaimana dikonfigurasi dalam Apacheconfiggenerator. http://yoursite.com/foswiki http://yoursite.com/foswiki/bin/view http://yoursite.com
Untuk "menginstal" ekstensi di area checkout, Anda harus menggunakan skrip pseudo-install.pl untuk menginstalnya. Pada UNIX/Linux, skrip ini menghasilkan tautan lunak dari pohon inti ke ekstensi, sehingga Anda dapat mengerjakan kode Anda secara in situ dan melihat dampak dari perubahan pada foswiki langsung Anda tanpa perlu melakukan langkah instalasi. Windows tidak mendukung soft link, sehingga skrip juga dapat dijalankan dalam mode -copy (default pada windows), tetapi dalam hal ini Anda harus menjalankannya kembali setiap kali Anda mengubah ekstensi Anda. Menggunakan:
pseudo-install.pl default untuk menginstal kontribusi dan plugin default (misalnya ekstensi.pseudo-install.pl developer untuk menginstal ekstensi pengembang tambahan. Opsi pengembang juga menginstal semua ekstensi default. Lihat komentar header dari skrip pseudo-install.pl (direktori inti checkout) untuk opsi dan informasi lebih lanjut. Perhatikan bahwa pseudo-install.pl hanya berfungsi dengan ekstensi yang memiliki file manifes, seperti yang dipersyaratkan oleh extensions.buildContrib. Contoh skrip di bawah ini adalah untuk bash shell.
Situasi yang khas adalah Anda ingin menjalankan Foswiki yang dipasang semu yang diperiksa dari cabang "master". Dan jika Anda mengembangkan plugin, Anda ingin dapat mengaktifkan plugin Anda di instalasi ini. Ini adalah seluruh urutan untuk memeriksa cabang master dari git dan melakukan instalasi semu. Kami berasumsi bahwa Anda ingin menjalankan instalasi berbasis git Anda di /var/www/foswiki
Perintah berikut memeriksa foswiki yang benar -benar minim (hanya pemetaan pengguna core + default). Ini adalah checkout terkecil yang akan berjalan. Langkahnya adalah:
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 ini dari Apache httpd.conf Anda atau/etc/apache2/sites_enabled atau /etc/apache2/vhosts.d , atau /etc/apache2/Include ... periksa instruksi distribusi lokal Anda.Include /path/to/foswiki.httpd.confSymbolic link not allowed or link target not accessible , maka Anda mungkin perlu menambahkan +FollowSymLinks ke Options untuk direktori /var/www/foswiki/dev/core/pub dalam konfigurasi Apache Anda. Pada titik ini, jika Anda mengarahkan browser Anda ke URL Foswiki Anda, itu harus "hanya berfungsi", tetapi akan menampilkan peringatan bootstrap di bagian atas konfigurasi. Untuk sepenuhnya mengkonfigurasi foswiki, kunjungi bin/configure URL, selesaikan peringatan dan kesalahan apa pun, dan simpan konfigurasi. Perhatian: Setelah Anda menyimpan konfigurasi, Anda tidak akan dapat menggunakan konfigurasi lagi kecuali Anda telah mendaftarkan dan memberikan diri Anda otoritas "Adimin". Anda dapat mengontrol siapa yang dapat menggunakan konfigurasi dengan mengatur Security and Authentication -> Access Control {ConfigureFilter} . Ketika opsi itu diatur, itu menggantikan Cek untuk Admin Otoration dan dapat memungkinkan pengguna termasuk pengguna tamu untuk menggunakan Configure. Jadi gunakan hati -hati!.
Kadang -kadang Anda ingin menjaga instalasi Anda tetap sinkron dengan versi terbaru di repositori Foswiki Git. Script instalasi semu tidak cukup cerdas untuk mengatasi perubahan yang dimanifestasikan, jadi ini adalah cara bukti idiot untuk memperbarui. Pertama -tama menghapus semua tautan (atau file yang disalin), git fetch. Dan akhirnya melakukan instalasi semu baru.
cd /var/www/foswiki/core
./pseudo-install.pl -uninstall all
git pull
./pseudo-install.pl default
chown -R apache:apache ..
Biasanya hanya melakukan tarikan git akan cukup, kecuali seseorang telah menghapus file (dan bahkan Anda biasanya dapat mengabaikannya).
Jika Anda seorang pengembang, Anda juga dapat menginstal kit yang diperlukan untuk menjalankan tes unit, dengan meneruskan parameter developer ke pseudo-install.pl
cd /var/www/foswiki/core
./pseudo-install.pl developer
Ini juga akan menginstal BuildContrib dan sejumlah komponen lain yang berguna bagi pengembang.
Tes unit dijalankan dengan asserts diaktifkan, tetapi lingkungan web langsung tidak. Untuk mengaktifkan Asserts, edit bin/LocalLib.cfg (jika tidak ada di sana, buat dengan menyalin bin/LocalLib.cfg.txt ) dan un-comment di baris berikut
$ENV{FOSWIKI_ASSERTS} = 1;
Ini memungkinkan tes validasi tambahan yang akan memengaruhi kinerja, tetapi akan menangkap beberapa masalah yang mungkin terlewatkan selama penggunaan web normal.
Foswiki 1.2 tidak lagi dikirimkan dengan modul CPAN. Sekarang disarankan untuk menggunakan manajer paket sistem Anda, atau CPAN untuk menginstal dependensi. Lihat http://foswiki.org/system/systemrequirements. Jika Anda tidak dapat menginstal dependensi CPAN, instalasi semu cpancontrib untuk mendapatkan dependensi spesifik gaya foswiki 1.x. (Cpancontrib belum dirilis). Untuk menguji modul -modul ini, prepending CPAN LIB harus diaktifkan di bin/locallib.cfg dengan membongkar baris berikut:
$CPANBASE = ''; # Uncommented: Default path prepended
. Lihat komentar di bin/LocalLib.cfg.txt untuk lebih jelasnya.
Mungkin yang terbaik untuk menguji menggunakan modul platform serta modul yang dikirim.
Contoh perintah di atas menjelaskan cara menginstal foswiki minimalis . Script instalasi semu mengetahui beberapa trik tambahan untuk digunakan dengan ekstensi non-default. Jika Anda menginstal ekstensi pseudo yang saat ini belum diperiksa, pseudo-install akan secara otomatis mengkloning ekstensi dari github menggunakan https://github.com/foswiki/ExtensionName.git
Catatan: Meskipun kami menggunakan cabang yang dikelola rilis (Master, Release01x00, Release01x01) dalam distribusi inti Foswiki ("distro"), ekstensi non-default biasanya hanya memiliki cabang "master".
Inilah cara menginstal ekstensi non-default, menggunakan antiwikispamplugin sebagai contoh:
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
Ini berguna jika Anda telah mengubah banyak manifes atau memiliki file yang secara manual-terkait, dan ingin menghapus tautan lunak yang rusak. Asumsikan checkout bagasi Anda adalah di /var/www/foswiki . Anda juga perlu melakukan ini saat beralih antara rilis01x01 dan cabang master.
find -L /var/www/foswiki/core -type l -exec rm {} ;
Anda dapat dengan cepat dan mudah membuat ekstensi baru menggunakan skrip create_new_extension.pl yang diinstal pada core saat Anda menginstal pseudo extensions.buildContrib.
Jika Anda mengembangkan kode baru, Anda ingin mengatur lingkungan pengembangan dan pengujian. Untuk ini Anda perlu menginstal semu! BuildContrib ,! UnittestContrib dan! TestFixturePlugin.
./pseudo-install.pl developer
Kemudian:
cd test/unit
export FOSWIKI_LIBS`/var/www/foswiki/core/lib
perl ../bin/TestRunner.pl FoswikiSuite
(atau setara di windows)
Untuk detail lengkap, lihat http://foswiki.org/development/unitts#settingupatestenvironment