IT Wiki: Difference between revisions

From CES IT Wiki
Jump to navigation Jump to search
Installed software: Updated to 1.33
Installed software: Added VisualEditor Installation and Updating MediaWiki sections.
Line 1: Line 1:
{| class=infobox style="float:right; border:1px solid #BBB;margin:.46em 0 0 .2em;font-size:86%;background-color:#f8f9fa"
{| class="infobox" style="float:right; border:1px solid #BBB;margin:.46em 0 0 .2em;font-size:86%;background-color:#f8f9fa"
|-
|-
| style="font-size:125%;text-align:center;" colspan=2 | '''IT Wiki'''
| colspan="2" style="font-size:125%;text-align:center;" |'''IT Wiki'''
|-
|-
| '''IP address''' || 192.241.158.155
|'''IP address'''||192.241.158.155
|-
|-
| '''Domain name''' || ces-wiki.fas.harvard.edu
|'''Domain name'''||ces-wiki.fas.harvard.edu
|-
|-
| '''Droplet name ''' || ces-wiki-prod
|'''Droplet name '''||ces-wiki-prod
|-
|-
| '''Operating system''' || Ubuntu 16.04.4 x64
|'''Operating system'''||Ubuntu 16.04.4 x64
|-
|-
| '''Host''' || DigitalOcean
|'''Host'''||DigitalOcean
|-
|-
| '''Region''' || NYC1
|'''Region'''||NYC1
|-
|-
| '''Creation Date''' || June 8, 2018
|'''Creation Date'''||June 8, 2018
|}
|}
'''IT wiki''' is an Ubuntu-based Digital Ocean droplet.  It hosts the CES IT wiki, which is powered by MediaWiki.  It has weekly backups provided by Digital Ocean.  SSL certificates are provided by Let's Encrypt.  Renewal should be automatic based on a cron job.  
'''IT wiki''' is an Ubuntu-based Digital Ocean droplet.  It hosts the CES IT wiki, which is powered by MediaWiki.  It has weekly backups provided by Digital Ocean.  SSL certificates are provided by Let's Encrypt.  Renewal should be automatic based on a cron job.  


==Installed software==
==Installed software==
The VisualEditor update is midwipeThe VisualEditor extension has been copied to /var/www/html/extensions.  /var/www/html/LocalSettings.php has been updated with commented extension-loading code.  Node.js and Parsoid have been installed.  Parsoid has been configured with the URL in /usr/local/lib/node_modules/parsoid/config.yaml.  Update was not successful because the VisualEditor version 1.33 requires a higher version of MediaWiki.
 
=== VisualEditor installation ===
VisualEditor is a MediaWiki extension written in PHPIt is located in <code>/var/www/html/extensions</code>MediaWiki's configuration file is <code>/var/www/html/LocalSettings.php</code>.  MediaWiki has been configured to load VisualEditor, and to access the Parsoid via http://localhost:8000.  VisualEditor is not loaded by default.  Each user must elect to edit with Visual Editor.
 
It requires Parsoid, a Node.js package.  Node.js runs independently of Apache.  The VisualEditor uses an API via HTTP on port 8000 to interact with Parsoid.  This traffic is not encrypted because it does not leave the host.  Parsoid's configuration file is located at <code>/usr/local/lib/node-modules/parsoid/config.yaml</code>.  It is copied from the default packaged configuration at config-example.yaml. 
 
The wiki API is not the default [[Api.php|https://ces-wiki.fas.harvard.edu]]/w/api.phpThe Parsoid configuration has been updated to reflect the correct address, [[Api.php|https://ces-wiki.fas.harvard.edu/api.php]].  Because the wiki is private, Parsoid cannot access the wiki API without a password.  Permissions have been updated to be public for the localhost and private for the rest of the world. 
 
MediaWiki was updated to 1.33 because VisualEditor was not compatible with 1.30.
 
To start parsoid, navigate to <code>/usr/local/lib/node-modules/parsoid</code>, and type npm start.  This process will end as soon as the terminal is closed, causing VisualEditor to fail to load.  The server is currently being updated to run Parsoid persistently.
 
=== Updating MediaWiki ===
Always back up the database and the image assets before updating. MediaWiki can be updated by creating new directory <code>/var/www/html_upgrade</code> and unzipping the latest copy of MediaWiki there.  Then copy the following files from <code>/var/www/html</code>:
 
* <code>LocalSettings.php</code>
* <code>images</code>
* <code>skins</code>
* <code>resources/assets/Blocks_RGB_160.png</code>
* <code>resources/assets/favicon-16x16.png</code>
 
Rename <code>html</code> to <code>html_old</code>, and rename <code>html_upgrade</code> to <code>html</code>.  At this point, requests to the server will likely fail, because the database schema has not been updated. Change directory to <code>/var/www/html/maintenance</code>, and run the following command:
 
<code>php update.php</code>
 
To roll back, simply rename <code>html</code> back to <code>html_upgrade</code> and rename <code>html_old</code> back to <code>html</code>. 


===Native===
===Native===
* Apache 2.4.18
 
* MariaDB 10.0.34
*Apache 2.4.18
* PHP 7.0.30-0
*MariaDB 10.0.34
* ImageMagick 7.0.8-8 Q16 x86_64 2018-07-26
*PHP 7.0.30-0
* Node.js 10.16.3
*ImageMagick 7.0.8-8 Q16 x86_64 2018-07-26
* Parsoid (Node.js package) 0.10.0
*Node.js 10.16.3
*Parsoid (Node.js package) 0.10.0


===Web application===
===Web application===
* MediaWiki 1.33.0
 
* VisualEditor 1.33
*MediaWiki 1.33.0
*VisualEditor 1.33


===Apache modules===
===Apache modules===
* core_module (static)
 
* so_module (static)
*core_module (static)
* watchdog_module (static)
*so_module (static)
* http_module (static)
*watchdog_module (static)
* log_config_module (static)
*http_module (static)
* logio_module (static)
*log_config_module (static)
* version_module (static)
*logio_module (static)
* unixd_module (static)
*version_module (static)
* access_compat_module (shared)
*unixd_module (static)
* alias_module (shared)
*access_compat_module (shared)
* auth_basic_module (shared)
*alias_module (shared)
* authn_core_module (shared)
*auth_basic_module (shared)
* authn_file_module (shared)
*authn_core_module (shared)
* authz_core_module (shared)
*authn_file_module (shared)
* authz_host_module (shared)
*authz_core_module (shared)
* authz_user_module (shared)
*authz_host_module (shared)
* autoindex_module (shared)
*authz_user_module (shared)
* deflate_module (shared)
*autoindex_module (shared)
* dir_module (shared)
*deflate_module (shared)
* env_module (shared)
*dir_module (shared)
* filter_module (shared)
*env_module (shared)
* mime_module (shared)
*filter_module (shared)
* mpm_prefork_module (shared)
*mime_module (shared)
* negotiation_module (shared)
*mpm_prefork_module (shared)
* php7_module (shared)
*negotiation_module (shared)
* rewrite_module (shared)
*php7_module (shared)
* setenvif_module (shared)
*rewrite_module (shared)
* status_module (shared)
*setenvif_module (shared)
*status_module (shared)


===PHP Modules===
===PHP Modules===
* apcu
 
* calendar
*apcu
* Core
*calendar
* ctype
*Core
* date
*ctype
* dom
*date
* exif
*dom
* fileinfo
*exif
* filter
*fileinfo
* ftp
*filter
* gettext
*ftp
* hash
*gettext
* iconv
*hash
* imagick
*iconv
* intl
*imagick
* json
*intl
* libxml
*json
* mbstring
*libxml
* mcrypt
*mbstring
* mysqli
*mcrypt
* mysqlnd
*mysqli
* openssl
*mysqlnd
* pcntl
*openssl
* pcre
*pcntl
* PDO
*pcre
* pdo_mysql
*PDO
* Phar
*pdo_mysql
* posix
*Phar
* readline
*posix
* Reflection
*readline
* session
*Reflection
* shmop
*session
* SimpleXML
*shmop
* sockets
*SimpleXML
* SPL
*sockets
* standard
*SPL
* sysvmsg
*standard
* sysvsem
*sysvmsg
* sysvshm
*sysvsem
* tokenizer
*sysvshm
* wddx
*tokenizer
* xml
*wddx
* xmlreader
*xml
* xmlwriter
*xmlreader
* xsl
*xmlwriter
* Zend OPcache
*xsl
* zlib
*Zend OPcache
*zlib

Revision as of 15:59, 28 August 2019

IT Wiki
IP address 192.241.158.155
Domain name ces-wiki.fas.harvard.edu
Droplet name ces-wiki-prod
Operating system Ubuntu 16.04.4 x64
Host DigitalOcean
Region NYC1
Creation Date June 8, 2018

IT wiki is an Ubuntu-based Digital Ocean droplet. It hosts the CES IT wiki, which is powered by MediaWiki. It has weekly backups provided by Digital Ocean. SSL certificates are provided by Let's Encrypt. Renewal should be automatic based on a cron job.

Installed software

VisualEditor installation

VisualEditor is a MediaWiki extension written in PHP. It is located in /var/www/html/extensions. MediaWiki's configuration file is /var/www/html/LocalSettings.php. MediaWiki has been configured to load VisualEditor, and to access the Parsoid via http://localhost:8000. VisualEditor is not loaded by default. Each user must elect to edit with Visual Editor.

It requires Parsoid, a Node.js package. Node.js runs independently of Apache. The VisualEditor uses an API via HTTP on port 8000 to interact with Parsoid. This traffic is not encrypted because it does not leave the host. Parsoid's configuration file is located at /usr/local/lib/node-modules/parsoid/config.yaml. It is copied from the default packaged configuration at config-example.yaml.

The wiki API is not the default https://ces-wiki.fas.harvard.edu/w/api.php. The Parsoid configuration has been updated to reflect the correct address, https://ces-wiki.fas.harvard.edu/api.php. Because the wiki is private, Parsoid cannot access the wiki API without a password. Permissions have been updated to be public for the localhost and private for the rest of the world.

MediaWiki was updated to 1.33 because VisualEditor was not compatible with 1.30.

To start parsoid, navigate to /usr/local/lib/node-modules/parsoid, and type npm start. This process will end as soon as the terminal is closed, causing VisualEditor to fail to load. The server is currently being updated to run Parsoid persistently.

Updating MediaWiki

Always back up the database and the image assets before updating. MediaWiki can be updated by creating new directory /var/www/html_upgrade and unzipping the latest copy of MediaWiki there. Then copy the following files from /var/www/html:

  • LocalSettings.php
  • images
  • skins
  • resources/assets/Blocks_RGB_160.png
  • resources/assets/favicon-16x16.png

Rename html to html_old, and rename html_upgrade to html. At this point, requests to the server will likely fail, because the database schema has not been updated. Change directory to /var/www/html/maintenance, and run the following command:

php update.php

To roll back, simply rename html back to html_upgrade and rename html_old back to html.

Native

  • Apache 2.4.18
  • MariaDB 10.0.34
  • PHP 7.0.30-0
  • ImageMagick 7.0.8-8 Q16 x86_64 2018-07-26
  • Node.js 10.16.3
  • Parsoid (Node.js package) 0.10.0

Web application

  • MediaWiki 1.33.0
  • VisualEditor 1.33

Apache modules

  • core_module (static)
  • so_module (static)
  • watchdog_module (static)
  • http_module (static)
  • log_config_module (static)
  • logio_module (static)
  • version_module (static)
  • unixd_module (static)
  • access_compat_module (shared)
  • alias_module (shared)
  • auth_basic_module (shared)
  • authn_core_module (shared)
  • authn_file_module (shared)
  • authz_core_module (shared)
  • authz_host_module (shared)
  • authz_user_module (shared)
  • autoindex_module (shared)
  • deflate_module (shared)
  • dir_module (shared)
  • env_module (shared)
  • filter_module (shared)
  • mime_module (shared)
  • mpm_prefork_module (shared)
  • negotiation_module (shared)
  • php7_module (shared)
  • rewrite_module (shared)
  • setenvif_module (shared)
  • status_module (shared)

PHP Modules

  • apcu
  • calendar
  • Core
  • ctype
  • date
  • dom
  • exif
  • fileinfo
  • filter
  • ftp
  • gettext
  • hash
  • iconv
  • imagick
  • intl
  • json
  • libxml
  • mbstring
  • mcrypt
  • mysqli
  • mysqlnd
  • openssl
  • pcntl
  • pcre
  • PDO
  • pdo_mysql
  • Phar
  • posix
  • readline
  • Reflection
  • session
  • shmop
  • SimpleXML
  • sockets
  • SPL
  • standard
  • sysvmsg
  • sysvsem
  • sysvshm
  • tokenizer
  • wddx
  • xml
  • xmlreader
  • xmlwriter
  • xsl
  • Zend OPcache
  • zlib