Line 8: |
Line 8: |
| * [http://wiki.sugarlabs.org wiki.sugarlabs.org] | | * [http://wiki.sugarlabs.org wiki.sugarlabs.org] |
| * [http://wiki-devel.sugarlabs.org wiki-devel.sugarlabs.org] | | * [http://wiki-devel.sugarlabs.org wiki-devel.sugarlabs.org] |
− | * [http://pe.sugarlabs.org pe.sugarlabs.org] | + | * [http://pe.sugarlabs.org pe.sugarlabs.org] - Peru Local Lab (in maintenance mode) |
− | * [http://cl.sugarlabs.org cl.sugarlabs.org]
| |
− | * [http://co.sugarlabs.org co.sugarlabs.org]
| |
− | * [http://ar.sugarlabs.org ar.sugarlabs.org]
| |
| | | |
| == Hosted on == | | == Hosted on == |
Line 28: |
Line 25: |
| == Local Labs contacts == | | == Local Labs contacts == |
| | | |
− | * Peru: [[User:Sebastian|Sebastian Silva]] | + | * Peru: [[User:Sebastian|Sebastian Silva]] (in maintenance mode) |
− | * Colombia: Cristian Paul Peñaranda Rojas
| |
− | * Argentina: Gustavo Ibarra
| |
− | | |
− | Local labs, please confirm contacts and add links.
| |
| | | |
| == Sysadmins == | | == Sysadmins == |
| | | |
| * [[Wiki Team/Contacts]] for wiki content and user accounts | | * [[Wiki Team/Contacts]] for wiki content and user accounts |
− | * [[User:Bernie|Bernie Innocenti]] for hosting issues | + | * [[User:Bernie|Bernie Innocenti]] for hosting issues - '''EMERITUS - PLEASE DON'T EXPECT SUPPORT''' |
| * [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis | | * [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis |
| | | |
Line 44: |
Line 37: |
| The main wiki lives here at <code>/srv/www-sugarlabs/wiki/</code> | | The main wiki lives here at <code>/srv/www-sugarlabs/wiki/</code> |
| | | |
− | Except for trivial changes, work on the wiki should be carried on | + | Except for trivial changes, work on the wiki should be carried in the parallel wiki-devel instance before landing onto the production instance. |
− | in the parallel wiki-devel instance before landing onto the production instance. | |
| | | |
− | {{Highlight|'''Note:''' The devel wiki has an outdated snapshot of the page database and its own slightly different server configuration.}} | + | {{Highlight|'''Note:''' The devel wiki has an out of date snapshot of the DB and a slightly different LocalConfig.php.}} |
| | | |
− | Sometimes the devel instance contains interim work performed by various wiki helpers. Do not sync changes blindly to the
| + | {{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. |
− | production wiki! | |
| | | |
| Before overwriting the page database, please | | Before overwriting the page database, please |
| * observe http://wiki-devel.sugarlabs.org/go/Category:Under_construction | | * 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). | | * 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). |
− |
| |
− | == Creating a Local Labs wiki ==
| |
− |
| |
− | * Add a group for the wiki (vigr)
| |
− |
| |
− | 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
| |
− |
| |
− | * Create apache virtual host:
| |
− |
| |
− | cp -a /etc/apache2/sites-available/pe.sugarlabs.org /etc/apache2/sites-available/ar.sugarlabs.org
| |
− | vim /etc/apache2/sites-available/ar.sugarlabs.org
| |
− | a2ensite ar.sugarlabs.org
| |
− |
| |
− | * 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>:
| |
− |
| |
− | 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
| |
− |
| |
− | * Create tables for OpenID:
| |
− |
| |
− | mysql -u root -p pe_sugarlabswiki < extensions/OpenID/openid_table.sql
| |
| | | |
| == Installation == | | == Installation == |
| | | |
| Our MediaWiki instances are installed from git to allow easy rebasing of our changes on upgrades. | | 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 |
| | | |
− | git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git wiki-devel | + | 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 | | cd wiki-devel |
− | git co -b REL1_19 remotes/origin/REL1_19
| |
− | git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions.git extensions-all
| |
− | cd extensions-all
| |
| git submodule update --init | | git submodule update --init |
− | cd ../extensions
| |
− | # for each needed extensions
| |
− | ln -s ../extensions-all/EXT
| |
| | | |
− | For the full details on this installation method, see http://www.mediawiki.org/wiki/Download_from_Git | + | Checkout additional extensions we wish to enable. For ease of management, check them out into extensions-all and then symlink them from extensions/ |
| | | |
− | == Visual Editor == | + | EXTENSIONS=CheckUser ContributionScores HTMLets LastUserLogin LdapAuthentication MobileFrontend TimedMediaHandler UniversalLanguageSelector UserMerge VisualEditor Widgets |
| | | |
− | This wiki has the VisualEditor extension.
| + | 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); |
| + | done |
| | | |
− | In order to do that, we need the parsoid node js service. Since Sunjammer is running too old of a version, this service is hosted on freedom. It can be started using:
| + | == Upgrading == |
− | container.yml start /home/sam/parsoid -d
| |
− | And is accessed at http://freedom.sugarlabs.org:8001/
| |
| | | |
− | == Upgrade notes ==
| + | '''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 | + | We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a different stable branch: |
− | different stable branch: | |
| | | |
− | git pull | + | git fetch |
− | git co -b REL1_xx remotes/origin/REL1_xx | + | git branch -a | grep REL | sort -V |
| + | git checkout -b REL1_XX origin/REL1_XX |
| + | git submodule update --init |
| | | |
| The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'. | | The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'. |
Line 122: |
Line 84: |
| | | |
| cd extensions-all | | cd extensions-all |
− | git submodule update | + | for ext in *; do (cd $ext && git fetch && git checkout -b REL1_XX origin/REL1_XX); done |
| + | |
| + | You also need to update some dependencies using a PHP manager called 'composer': |
| + | |
| + | composer update --no-dev |
| | | |
| Now run update script: | | Now run update script: |
Line 128: |
Line 94: |
| php maintenance/update.php | | php maintenance/update.php |
| | | |
− | In the case of Local Labs wikis the correct command for performing the updates is: | + | 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 | | 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 w) | + | (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: | | If the SemanticMediaWiki extension is enabled (we don't use it), also refresh its tables: |
Line 137: |
Line 107: |
| cd extensions/SemanticMediaWiki/maintenance | | cd extensions/SemanticMediaWiki/maintenance |
| php SMW_setup.php | | 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 |
| + | |
| + | |
| + | === Creating a Local Labs wiki === |
| + | |
| + | * Add a group for the wiki (vigr) |
| + | |
| + | 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 |
| + | |
| + | * Create apache virtual host: |
| + | |
| + | cp -a /etc/apache2/sites-available/pe.sugarlabs.org /etc/apache2/sites-available/ar.sugarlabs.org |
| + | vim /etc/apache2/sites-available/ar.sugarlabs.org |
| + | a2ensite ar.sugarlabs.org |
| + | |
| + | * 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>: |
| + | |
| + | 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 |
| + | |
| + | * Create tables for OpenID: |
| + | |
| + | mysql -u root -p pe_sugarlabswiki < extensions/OpenID/openid_table.sql |