Line 1: |
Line 1: |
| + | <noinclude> |
| + | [[Category:Wiki]] |
| + | [[Category:Service|wiki]] |
| + | </noinclude> |
| + | Statistics: http://stats.sugarlabs.org/wiki.sugarlabs.org/ |
| == Hostnames == | | == Hostnames == |
| | | |
− | * wiki.sugarlabs.org | + | * [http://wiki.sugarlabs.org wiki.sugarlabs.org] |
− | * wiki-devel.sugarlabs.org | + | * [http://wiki-devel.sugarlabs.org wiki-devel.sugarlabs.org] |
− | * wiki-testing.sugarlabs.org | + | * [http://pe.sugarlabs.org pe.sugarlabs.org] - Peru Local Lab (in maintenance mode) |
| | | |
| == Hosted on == | | == Hosted on == |
Line 12: |
Line 17: |
| | | |
| <webmaster ''at'' sugarlabs.org> | | <webmaster ''at'' sugarlabs.org> |
| + | |
| + | == Account Creation == |
| + | |
| + | * See https://www.mediawiki.org/wiki/Manual:Preventing_access#Restrict_account_creation |
| + | * Create account page: https://wiki.sugarlabs.org/index.php?title=Special:UserLogin&type=signup |
| + | |
| + | == Local Labs contacts == |
| + | |
| + | * Peru: [[User:Sebastian|Sebastian Silva]] (in maintenance mode) |
| | | |
| == Sysadmins == | | == Sysadmins == |
| | | |
− | * [[User:Bernie|Bernie Innocenti]] | + | * [[Wiki Team/Contacts]] for wiki content and user accounts |
| + | * [[User:Bernie|Bernie Innocenti]] for hosting issues - '''EMERITUS - PLEASE DON'T EXPECT SUPPORT''' |
| + | * [[User:Srevin03|Srevin Saju]] ('''srevinsaju''' on #sugar) for MediaWiki issues |
| + | * [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis |
| + | |
| + | == Wiki instances == |
| + | |
| + | The main wiki lives here at <code>/srv/www-sugarlabs/wiki/</code> |
| + | |
| + | Except for trivial changes, work on the wiki should be carried in the parallel wiki-devel instance before landing onto the production instance. |
| + | |
| + | {{Highlight|'''Note:''' The devel wiki has an out of date snapshot of the DB and a slightly different LocalConfig.php.}} |
| + | |
| + | {{Highlight|'''Note:''' Often, the devel instance contains changes performed by various wiki admins to test extensions and configuration options. Do not sync LocalConfig.php blindly to the production wiki! Use vimdiff.}} |
| + | |
| + | Before overwriting the page database, please |
| + | * observe http://wiki-devel.sugarlabs.org/go/Category:Under_construction |
| + | * announce the plan on systems@ and to any collaborators who have signed their 'Under construction' pages in the template (such as by using the 'E-mail this user' link in the sidebar for the wiki user's page, even when it is a red link or not yet created). |
| + | |
| + | == Installation == |
| + | |
| + | Our MediaWiki instances are installed from git to allow easy rebasing of our changes on upgrades. |
| + | For the full details on this installation method, see http://www.mediawiki.org/wiki/Download_from_Git |
| + | |
| + | The initial setup process (probably outdated now) lookd like this: |
| + | |
| + | git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_34 wiki-devel |
| + | cd wiki-devel |
| + | git submodule update --init |
| + | |
| + | Checkout additional extensions we wish to enable. For ease of management, check them out into extensions-all and then symlink them from extensions/ |
| + | |
| + | EXTENSIONS=CheckUser ContributionScores HTMLets LastUserLogin LdapAuthentication MobileFrontend TimedMediaHandler UniversalLanguageSelector UserMerge VisualEditor Widgets |
| + | |
| + | mkdir extensions-all |
| + | for i in EXTENSIONS; do |
| + | git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/$i extensions-all/$i --branch REL1_34; |
| + | (cd extensions && ln -s ../extensions-all/$i); |
| + | composer update --no-dev |
| + | done |
| + | |
| + | == Upgrading == |
| + | |
| + | '''Note:''' Before blindly following the procedure below, check the official documentation for anything that might have changed: |
| + | https://www.mediawiki.org/wiki/Download_from_Git#Keeping_up_to_date |
| + | |
| + | We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a different stable branch: |
| + | |
| + | git fetch |
| + | git branch -a | grep REL | sort -V |
| + | git checkout -b REL1_XX origin/REL1_XX |
| + | git submodule update --init --recursive |
| + | |
| + | The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'. |
| + | To update it: |
| + | |
| + | cd extensions-all |
| + | for ext in *; do (cd $ext && git fetch && git checkout -b REL1_XX origin/REL1_XX); done |
| + | |
| + | Along with the extensions, we would also need to update the skins to the latest release. We officially use Vector (fro Desktop) and Minerva Neue (for Mobiles, v1.35+, Minerva Neue is the official responsive theme used by Wikipedia). |
| + | |
| + | cd skins |
| + | for skin in *; do (cd $skin && git fetch && git checkout -b REL1_XX origin/REL1_XX); done |
| + | |
| + | Please revise if the following steps are still needed: |
| + | |
| + | You also need to update some dependencies using a PHP manager called 'composer': |
| + | |
| + | composer update --no-dev |
| + | |
| + | Now run update script: |
| + | |
| + | php maintenance/update.php |
| + | |
| + | In the case of Local Labs wikis, the correct command for performing the updates is: |
| + | |
| + | php maintenance/update.php --conf /srv/www-sugarlabs/pe.sugarlabs.org/wiki/LocalSettings.php |
| + | (replace pe.sugarlabs.org for the correct path for your local lab) |
| + | |
| + | == Obsolete documentation == |
| + | |
| + | === SemanticMediaWiki === |
| + | |
| + | If the SemanticMediaWiki extension is enabled (we don't use it), also refresh its tables: |
| + | |
| + | cd extensions/SemanticMediaWiki/maintenance |
| + | php SMW_setup.php |
| + | |
| + | === Skins === |
| + | |
| + | As of this writing, the default skin vector is integrated into MediaWiki, and we don't load other skins in LocalSettings.php. |
| + | |
| + | The skins also need to be updated from time to time (particularly after a major release). Instead of checking out hundreds od skins using the official process, we refresh only the skins that are installed: |
| + | |
| + | cd skins |
| + | for i in MonoBook Timeless; do |
| + | (cd $i && git fetch && git checkout -b REL1_34 origin/REL1_34) |
| + | done |
| + | |
| | | |
− | == Notes == | + | === Creating a Local Labs wiki === |
| | | |
− | The main wiki
| + | * Add a group for the wiki (vigr) |
| | | |
− | /srv/www-sugarlabs/wiki/ | + | cd /srv/www-sugarlabs |
| + | cp -a co.sugarlabs.org pe.sugarlabs.org |
| + | chown -R icarito:sugarwiki-pe pe.sugarlabs.org |
| + | cd pe.sugarlabs.org/wiki |
| + | rm -r images/* |
| + | vim LocalSettings.php |
| + | vim SecretSettings.php |
| | | |
− | Except for trivial changes, work on the wiki should be carried on
| + | * Create apache virtual host: |
− | in the wiki-devel instance, then moved to wiki-testing for feedback
| |
− | before putting it into the production instance.
| |
| | | |
− | Sometimes the devel and testing instances contain interim work
| + | cp -a /etc/apache2/sites-available/pe.sugarlabs.org /etc/apache2/sites-available/ar.sugarlabs.org |
− | performed by various wiki helpers. Do not sync changes blindly to the
| + | vim /etc/apache2/sites-available/ar.sugarlabs.org |
− | production wiki!
| + | a2ensite ar.sugarlabs.org |
− |
| |
− | == Upgrade notes ==
| |
| | | |
− | The wiki is installed from svn. Upgrades can be carried on by switching
| + | * Create DB with some clever trick. I reused <code>config/index.php</code> to setup a new MediaWiki instance and then I've thrown away the generated <code>LocalConfig.php</code>: |
− | to a different branch. Beware of the extensions directory: it comes from | |
− | a different repository and its presence seems to confuse the top-level
| |
− | svn. As a work-around for upgrades, I move it away and rename
| |
− | extensions.old in its place.
| |
| | | |
| + | mv LocalConfig.php LocalConfig.good |
| + | cp -a /srv/www-sugarlabs/co.sugarlabs.org/config . |
| + | (go to http://ar.sugarlabs.org/wiki/config/index.php) |
| + | rm -r config LocalConfig.php |
| + | mv LocalConfig.good LocalConfig.php |
| | | |
− | == See also ==
| + | * Create tables for OpenID: |
| | | |
− | * [[Sysadmin/Add_wiki]], adding Local Labs wikis.
| + | mysql -u root -p pe_sugarlabswiki < extensions/OpenID/openid_table.sql |