Difference between revisions of "Service/wiki"

From Sugar Labs
Jump to navigation Jump to search
m (Reverted edits by Bernie (talk) to last revision by SAMdroid)
Tag: Rollback
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] - Peru Local Lab (in maintenance mode)
+
* [http://pe.sugarlabs.org pe.sugarlabs.org]
 +
* [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 25: Line 28:
 
== Local Labs contacts ==
 
== Local Labs contacts ==
  
* Peru: [[User:Sebastian|Sebastian Silva]] (in maintenance mode)
+
* Peru: [[User:Sebastian|Sebastian Silva]]
 +
* 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 - '''EMERITUS - PLEASE DON'T EXPECT SUPPORT'''
+
* [[User:Bernie|Bernie Innocenti]] for hosting issues
 
* [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis
 
* [[User:Sebastian|Sebastian Silva]] for the Local Labs wikis
  
Line 37: Line 44:
 
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 in the parallel wiki-devel instance before landing onto the production instance.
+
Except for trivial changes, work on the wiki should be carried on
 +
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:''' The devel wiki has an outdated snapshot of the page database and its own slightly different server configuration.}}
  
{{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.
+
Sometimes the devel instance contains interim work performed by various wiki helpers. Do not sync changes blindly to the
 +
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
 
  
The initial setup process (probably outdated now) lookd like this:
+
  git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git wiki-devel
 
 
  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
  
Checkout additional extensions we wish to enable. For ease of management, check them out into extensions-all and then symlink them from extensions/
+
For the full details on this installation method, see http://www.mediawiki.org/wiki/Download_from_Git
  
EXTENSIONS=CheckUser ContributionScores HTMLets LastUserLogin LdapAuthentication MobileFrontend TimedMediaHandler UniversalLanguageSelector UserMerge VisualEditor Widgets
+
== Visual Editor ==
  
mkdir extensions-all
+
This wiki has the VisualEditor extension.
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
 
  
== Upgrading ==
+
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:
 +
container.yml start /home/sam/parsoid -d
 +
And is accessed at http://freedom.sugarlabs.org:8001/
  
'''Note:''' Before blindly following the procedure below, check the official documentation for anything that might have changed:
+
== Upgrade notes ==
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:
+
We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a
 +
different stable branch:
  
  git fetch
+
  git pull
  git branch -a | grep REL | sort -V
+
  git co -b REL1_xx remotes/origin/REL1_xx
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 84: Line 122:
  
 
  cd extensions-all
 
  cd extensions-all
  for ext in *; do (cd $ext && git fetch && git checkout -b REL1_XX origin/REL1_XX); done
+
  git submodule update
 
 
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 94: Line 128:
 
  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)
+
  (replace pe.sugarlabs.org for the correct path for your local lab w)
 
 
== 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 107: Line 137:
 
  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
 

Revision as of 15:38, 23 July 2020


Statistics: http://stats.sugarlabs.org/wiki.sugarlabs.org/

Hostnames

Hosted on

Machine/sunjammer

Administrative contact

<webmaster at sugarlabs.org>

Account Creation

Local Labs contacts

  • Peru: Sebastian Silva
  • Colombia: Cristian Paul Peñaranda Rojas
  • Argentina: Gustavo Ibarra

Local labs, please confirm contacts and add links.

Sysadmins

Wiki instances

The main wiki lives here at /srv/www-sugarlabs/wiki/

Except for trivial changes, work on the wiki should be carried on in the parallel wiki-devel instance before landing onto the production instance.

Note: The devel wiki has an outdated snapshot of the page database and its own slightly different server configuration.

Sometimes the devel instance contains interim work performed by various wiki helpers. Do not sync changes blindly to the production wiki!

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).

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 config/index.php to setup a new MediaWiki instance and then I've thrown away the generated LocalConfig.php:
 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

Our MediaWiki instances are installed from git to allow easy rebasing of our changes on upgrades.

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
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

Visual Editor

This wiki has the VisualEditor extension.

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:

container.yml start /home/sam/parsoid -d

And is accessed at http://freedom.sugarlabs.org:8001/

Upgrade notes

We update our MediaWiki instances by simply pulling from the remote git repo and then switching to a different stable branch:

git pull
git co -b REL1_xx remotes/origin/REL1_xx

The "extensions-all" directory contains a bunch of git repositories stitched together with 'git submodule'. To update it:

cd extensions-all
git submodule update

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 w)

If the SemanticMediaWiki extension is enabled (we don't use it), also refresh its tables:

cd extensions/SemanticMediaWiki/maintenance
php SMW_setup.php