Changes

Jump to navigation Jump to search
4,319 bytes added ,  03:45, 30 October 2020
Add the missing step to manually update the extensions using composer update --nodev
Line 3: Line 3:  
[[Category:Service|wiki]]
 
[[Category:Service|wiki]]
 
</noinclude>
 
</noinclude>
 +
Statistics: http://stats.sugarlabs.org/wiki.sugarlabs.org/
 
== Hostnames ==
 
== Hostnames ==
    
* [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://wiki-testing.sugarlabs.org wiki-testing.sugarlabs.org]
+
* [http://pe.sugarlabs.org pe.sugarlabs.org] - Peru Local Lab (in maintenance mode)
    
== Hosted on ==
 
== Hosted on ==
Line 16: 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 ==
   −
* [[Wiki Team/Contacts]] for wiki content and access
+
* [[Wiki Team/Contacts]] for wiki content and user accounts
* [[User:Bernie|Bernie Innocenti]] for host issues
+
* [[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
   −
== Notes ==
+
We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a different stable branch:
   −
The main wiki
+
git fetch
 +
git branch -a | grep REL | sort -V
 +
git checkout -b REL1_XX origin/REL1_XX
 +
git submodule update --init --recursive
   −
/srv/www-sugarlabs/wiki/
+
The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'.
 +
To update it:
   −
Except for trivial changes, work on the wiki should be carried on
+
cd extensions-all
in the wiki-devel instance, then moved to wiki-testing for feedback
+
for ext in *; do (cd $ext && git fetch && git checkout -b REL1_XX origin/REL1_XX); done
before putting it into the production instance.
     −
Sometimes the devel and testing instances contain interim work
+
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).
performed by various wiki helpers. Do not sync changes blindly to the
  −
production wiki!
  −
  −
== Upgrade notes ==
     −
Our Mediawiki instances are installed from Subversion. We update them by simply switching
+
cd skins
to a different stable branch.
+
for skin in *; do (cd $skin && git fetch && git checkout -b REL1_XX origin/REL1_XX); done
   −
Because the "extensions" directory comes from a different
+
Please revise if the following steps are still needed:
repository, we need to take care not to confuse Subversion's little mind when it sees it.
  −
Hence, we keep around a copy of the original extensions directory from the main repository.
     −
mv extensions extensions.keep
+
You also need to update some dependencies using a PHP manager called 'composer':
mv extensions.orig extensions
  −
svn switch http://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_16/phase3
  −
mv extensions extensions.orig
  −
mv extensions.new extensions
  −
cd extensions
  −
svn switch http://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_16/extensions
  −
cd ..
     −
Now run update scripts:
+
composer update --no-dev
   −
  cd maintenance
+
Now run update script:
  php update.php
+
 
 +
  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:
 
If the SemanticMediaWiki extension is enabled (we don't use it), also refresh its tables:
Line 64: Line 117:  
  php SMW_setup.php
 
  php SMW_setup.php
   −
== See also ==
+
=== 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:
   −
* [[Sysadmin/Add_wiki]], adding Local Labs wikis
+
mysql -u root -p pe_sugarlabswiki < extensions/OpenID/openid_table.sql
79

edits

Navigation menu