DaqWikiManagement

From DaqWiki
Jump to navigation Jump to search

Links

Update DaqWiki 1.35.5 to 1.39

Update DaqWiki 1.27.7 to 1.35

move DaqWiki from ladd00 to daq00, update to current LTS version.

       ssh daq00
 2001  cd ~daqweb/mediawiki/
 2002  ls -l
 2003  cd AgWiki/
 2004  ls -l
 2005  cd ..
 2006  ls -l
 2007  cd DaqWiki/
 2008  ls -l
 2009  rsync -av core/ core-1.27.7

       ssh ladd00
  993  cd ~daqweb/mediawiki/DaqWiki/core
  996  mysqldump -h localhost -u DaqWikiUser -p DaqWiki > backup.sql

       ssh daq00
 2015  mysql -p ### create DaqWiki, daqwikiuser
       ln -s /home/daqweb/mediawiki/DaqWiki/core /var/www/html/DaqWiki
 2022  mysql -udaqwikiuser -p DaqWiki < backup.sql
 2023  xemacs -nw LocalSettings.php
 2024  git fetch
 2025  git status
 2026  git checkout REL1_35
 2028  cd extensions/WikiEditor/
 2029  git fetch
 2030  git checkout REL1_35
 2031  cd ../..
 2033  cd skins/Vector
 2034  git fetch
 2035  git checkout REL1_35
 2036  cd ..
 2037  git fetch
 2043  ../../composer.phar update ### composer 2.2.5
 2044  cd maintenance/
 2045  ./update.php 
 2046  xemacs -nw ../LocalSettings.php
 2047  ./update.php 
 2048  cd ..
 2051  cd extensions/Math/
 2052  git fetch
 2053  git checkout REL1_35
 2054  cd ..
 2055  cd LookupUser/
 2056  git fetch
 2057  git checkout REL1_35
 2058  cd ../UserMerge/
 2059  git fetch
 2060  git checkout REL1_35
 2061  cd ../ConfirmAccount/
 2062  git fetch
 2063  git checkout REL1_35
 2064  cd ..
 2065  cd maintenance/
 2066  ./update.php 

Update AgWiki 1.31 to 1.35

  • ssh daq00, cd ~daqweb/mediawiki/AgWiki/core
  • mv composer.json composer.json-1.31
  • git fetch, git checkout REL1_35
  • cd extensions/WikiEditor, git fetch, git checkout REL1_35
  • cd skins/Vector, git fetch, git checkout REL1_35
  • ../../composer.phar update ### composer version 2.2.5
  • cd maintenance, run ./update.php ### does a lot of stuff
  • cd extensions/{ConfirmAccount,UserMerge,Math}, git fetch, git checkout REL1_35
  • cd maintenence, run ./update.php ### again
  • agwiki version page reports correct version 1.35 and dates from Jan-Feb 2022 for all extensions, etc.
  • add this to LocalSettings.php to disable the "create account" link on the login page
# disable "create account" - we should always go through "request account" 
$wgGroupPermissions['*']['createaccount'] = false; 

Migrate and update (el7 to U-20.04)

Migrating AgWiki from daqstore (el7) to daq00 (U-20.04).

  • rsync daqstore:/var/www/html/AgWiki to /home/daqweb/mediawiki/AgWiki/core
  • rsync core to core-1.30 ### make a backup
  • cd core
  • git fetch
  • refer to https://www.mediawiki.org/wiki/Version_lifecycle to decode which version to use
  • upgrade path 1.30 -> 1.31 LTS -> 1.35 LTS
  • mv composer.json composer.json-1.30
  • git checkout REL1_31
  • cd extensions/WikiEditor, git fetch, git checkout REL1_31
  • cd skins/Vector, git fetch, git checkout REL1_31
  • try to load https://daq00/AgWiki, error 500
  • run composer update. composer version 2 bombs, composer version 1 bombs with php error
  • ssh daqstore, cd ~daqweb/mediawiki/AgWiki/core, ../../composer.phar-1.2.2 update
  • try to load https://daq00/AgWiki, php error: no viable database extension found for type 'mysql'
  • apt install php-mysql, same error
  • edit /etc/php/7.4/apache2/php.ini, uncomment "extension=mysqli", systemctl reload apache2
  • try to load https://daq00/AgWiki, php error: Cannot access the database: No such file or directory (localhost), this is correct we did not copy/migrate the mysql database yet.
  • ssh daqstore, mysqldump -h localhost -u aguser -p AgWiki > backup.sql
  • apt install mariadb-server
  • mysql_secure_installation ### accept all default answers
  • try to load https://daq00/AgWiki, php error: Cannot access the database: Access denied for user 'aguser'@'localhost' (localhost), this is correct, we did not create the user
  • per https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki#MariaDB/MySQL
mysql -p
MariaDB [(none)]> CREATE DATABASE AgWiki;
MariaDB [(none)]> CREATE USER 'agwikiuser'@'localhost' IDENTIFIED BY 'agwikiuser123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON AgWiki.* TO 'agwikiuser'@'localhost' WITH GRANT OPTION;
  • edit mysql user and password on LocalSettings.php
  • try to load https://daq00/AgWiki, php error: Error: 1146 Table 'AgWiki.l10n_cache' doesn't exist (localhost), this is correct we did not load the database contents yet
  • mysql -uagwikiuser -p AgWiki < backup.sql
  • cd maintenance, run update.php
  • try to load https://daq00/AgWiki, main wiki page redirects to daqstore/AgWiki, not good.
  • edit LocalSettings.php, change $wgServer to daq00
  • try to load https://daq00/AgWiki, main wiki page loads, looks good.
  • login works, version page looks ok
  • update extensions:
  • cd extensions/ConfirmAccount, git fetch, git checkout REL1_31
  • cd extensions/UserMerge, git fetch, git checkout REL1_31
  • cd extensions/Math, git fetch, git checkout REL1_31
  • edit Localsettings.php, comment-out load NativeSvgHandler.php and SVGEdit.php
  • agwiki version page still shows all versions of extensions, run maintenance/update.php, now it shows the updated versions. good.
  • edit LocalSettings.php, update $wgEmergencyContact and $wgPasswordSender

Install (el7)

ssh ladd00
cd ~daqweb/mediawiki
rsync -av DaqWiki daqstore:/var/www/html/

ssh daqstore
cd /var/www/html
mv DaqWiki/core AgWiki
cd AgWiki
git fetch

git checkout REL1_30

cd skins/Vector
git fetch
git checkout REL1_30

cd extensions/WebEditor
git fetch
git checkout REL1_30

open https://daqstore.triumf.ca/AgWiki/ - should give an internal error, a php exception

edit LocalSettings.php

do the composer stuff

get the composer: https://getcomposer.org/download/
cd AgWiki
../composer.phar update

open https://daqstore.triumf.ca/AgWiki/ - should give an error - cannot connect to the database

configure mysql

yum install php71w-mysql

rpm -q mariadb ### mariadb-5.5.56-2.el7.x86_64

systemctl enable mariadb
systemctl start mariadb

mysql_secure_installation
# set root password
# accept all default answers

mysql -p ### enter the root password
create database `AgWiki`;
create user `agwiki` identified by `agwiki123`;
GRANT USAGE ON *.* TO 'aguser'@localhost IDENTIFIED BY 'aguser123';
GRANT ALL privileges ON `AgWiki`.* TO 'aguser'@localhost;
FLUSH PRIVILEGES;
show grants for 'aguser'@localhost;
exit

enter these database settings to LocalSettings.php

configure mediawiki

get rid of (rename) LocalSettings.php
open https://daqstore.triumf.ca/AgWiki/
follow the link to do the configuration
answer all the questions
answer all the additional questions
save LocalSettings.php
copy it to AgWiki

open the wiki  - login page should open, login normally

got to special pages -> version

update all the individual extensions:
cd extensions/XXX
git fetch
git checkout REL1_30 ### as appropriate
systemctl restart httpd
reload the wiki version page

make images directory writable

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/AgWiki/images(/.*)?'
restorecon -Rv /var/www/html/AgWiki/images
ls -alZ /var/www/html/AgWiki/images/

additional selinux incantations

setsebool -P httpd_setrlimit 1

Misc