Changes

Jump to navigation Jump to search
1,982 bytes added ,  20:26, 30 October 2022
m
→‎Wiki instances: fix note format
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 20: 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 ==
 
== 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:Srevin03|Srevin Saju]] ('''srevinsaju''' on #sugar) for MediaWiki issues
 
* [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis
 
* [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis
   Line 39: Line 38:  
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
Line 51: Line 48:  
* 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 ==
+
== 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
   −
* Add a group for the wiki (vigr)
+
The initial setup process (probably outdated now) lookd like this:
   −
  cd /srv/www-sugarlabs
+
  git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_34 wiki-devel
cp -a co.sugarlabs.org pe.sugarlabs.org
+
  cd wiki-devel
chown -R icarito:sugarwiki-pe pe.sugarlabs.org
+
  git submodule update --init
  cd pe.sugarlabs.org/wiki
  −
  rm -r images/*
  −
vim LocalSettings.php
  −
vim SecretSettings.php
     −
* Create apache virtual host:
+
Checkout additional extensions we wish to enable. For ease of management, check them out into extensions-all and then symlink them from extensions/
   −
  cp -a /etc/apache2/sites-available/pe.sugarlabs.org /etc/apache2/sites-available/ar.sugarlabs.org
+
EXTENSIONS=CheckUser ContributionScores HTMLets LastUserLogin LdapAuthentication MobileFrontend TimedMediaHandler UniversalLanguageSelector UserMerge VisualEditor Widgets
  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>:
+
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
   −
  mv LocalConfig.php LocalConfig.good
+
== Upgrading ==
  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:
+
'''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
   −
mysql -u root -p pe_sugarlabswiki < extensions/OpenID/openid_table.sql
+
We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a different stable branch:
   −
== Installation ==
+
git fetch
 +
git branch -a | grep REL | sort -V
 +
git checkout -b REL1_XX origin/REL1_XX
 +
git submodule update --init --recursive
   −
Our MediaWiki instances are installed from git to allow easy rebasing of our changes on upgrades.
+
The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'.
 +
To update it:
   −
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git 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
 
  cd extensions-all
  git submodule update --init
+
  for ext in *; do (cd $ext && git fetch && git checkout -b REL1_XX origin/REL1_XX); done
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
     −
== Upgrade notes ==
+
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).
   −
We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a
+
cd skins
different stable branch:
+
for skin in *; do (cd $skin && git fetch && git checkout -b REL1_XX origin/REL1_XX); done
   −
git pull
+
Please revise if the following steps are still needed:
git co -b REL1_xx remotes/origin/REL1_xx
     −
The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'.
+
You also need to update some dependencies using a PHP manager called 'composer':
To update it:
     −
  cd extensions-all
+
  composer update --no-dev
git submodule update
      
Now run update script:
 
Now run update script:
Line 115: Line 103:  
  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 124: Line 116:  
  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

Navigation menu