MEpedia:Developer guide

From MEpedia, a crowd-sourced encyclopedia of ME and CFS science and history
Jump to: navigation, search

A developer is someone who maintains the hardware and software underlying MEpedia.

Main duties

Developer main duties include:

General info

Backing up MEpedia

The Fullsitebackup shell script backs up both the MediaWiki files and the database. A backup is restored with the Fullsiterestore script. We have customized these scripts for MEpedia's purposes, so they can not be replaced by newly-downloaded versions.

  • The backup script is automatically run on a nightly basis, and each backup is kept for a week.
  • There is also a monthly backup that is kept for a month.
  • If it ever becomes necessary to restore MEpedia from a backup, it is advised to shut down the Apache web server while restoring MEpedia. Make sure that the OS file permissions are correct for the restored files, especially that the "uploads" directory is writable by the web server and that the extensions directories are executable by the web server. (Perhaps this can be accomplished by setting the user "apache" as the owner of the files?)
  • Another way to backup MEpedia: https://help.dreamhost.com/hc/en-us/articles/215089918-How-do-I-backup-my-entire-account-
  • MEpedia is occasionally ‘backed up’ by wikiteam to the Internet Archive at: https://archive.org/details/wiki-me_pediaorg

Server info

There are two separate virtual servers, a production and a staging server. Production server is https://www.me-pedia.org (208.97.133.164) and the staging server is https://staging.me-pedia.org (208.97.133.62).

  • The staging server is protected by Apache webserver’s basic authentication. Login id is “meaction” and password is “mepedia”.
  • MediaWiki software is installed directly into the web root directory: /var/www/me-pedia.org (production), /var/www/staging/me-pedia.org (staging). Note that this installation location has been slightly discouraged: https://www.mediawiki.org/wiki/Manual:Wiki_in_site_root_directory
  • In addition to the Apache web server and the MariaDB database, there is a Parsoid daemon service on port 8142 and a Memcached daemon service on port 11211, on both production and staging servers.
  • The database name in MariaDB is "me_pedia_org_3" and the username and password are the same for the production and the staging servers.
  • Backup scripts are stored in the /home/cloud/backups directory. Although the scripts have the same names on the production and the staging servers, note that the scripts are not the same.
  • The staging server can be updated to reflect the current contents of the production server. This is done by using a production backup file with the staging restore script. After restoring on the staging server, run the update.php script in the maintenance directory to update the database for the staging server. Make sure that the OS file permissions are correct for the restored files, especially that the "uploads" directory is writable by the web server and that the extensions directories are executable by the web server. (Perhaps this can be accomplished by setting the user "apache" as the owner of the files?)