From 44739bbe3f496e482d0c50d1d8012b5e15301090 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Sun, 28 Aug 2016 02:26:13 -0700 Subject: [PATCH] latest updates --- Mediawiki_Setup_Guide | 82 +++++++++++++++++++++++++++---------------- mw-setup-script | 42 +++++++++++++++------- 2 files changed, 80 insertions(+), 44 deletions(-) diff --git a/Mediawiki_Setup_Guide b/Mediawiki_Setup_Guide index f060408..dc5b427 100644 --- a/Mediawiki_Setup_Guide +++ b/Mediawiki_Setup_Guide @@ -61,31 +61,32 @@ export wikipass=REPLACE_ME # root password for the mysql database export dbpass=REPLACE_ME -# git branch for mediawiki + extensions. -# This guide has only been tested with 1_27. -# branch names: https://git.wikimedia.org/branches/mediawiki%2Fcore.git -export mw_branch=REL1_27 +export mwdomain=REPLACE_ME # domain name. for this site, it's ofswiki.org -# customize these questions to something your contributors would know, -# and at least doesn't have the answer directly in the question +# customize these questions. Try not to have the answer be a word in the question. captchaArray() { if ! grep -Fx '$localSettingsQuestyQuestions = array (' $mwc; then tee -a $mwc <<'EOF' $localSettingsQuestyQuestions = array ( "What is the name of the wiki software this site (and wikipedia) uses?" => "Mediawiki", - "What does f in ofswiki.org stand for?" => "Free" + "REPLACE_ME with a question" => "REPLACE_ME with an answer" ); EOF fi } +# The rest of this section will work fine with no changes. + +# git branch for mediawiki + extensions. +# This guide has only been tested with 1_27. +# branch names: https://git.wikimedia.org/branches/mediawiki%2Fcore.git +export mw_branch=REL1_27 + # As set by gui installer when choosing cc by sa. export mw_RightsUrl='https://creativecommons.org/licenses/by-sa/4.0/' export mw_RightsText='Creative Commons Attribution-ShareAlike' export mw_RightsIcon='$wgScriptPath/resources/assets/licenses/cc-by-sa.png' - -export mwdomain=REPLACE_ME # domain name. for this site, it's ofswiki.org # Alphanumeric site name for pywikibot. # Here we use the domain minus the dots, which should work fine without changing. export mwfamily=${mwdomain//./} @@ -221,21 +222,23 @@ if isdeb; then # main reference: # https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Ubuntu apt-get update - apt-get install -y imagemagick php-mbstring + apt-get install -y imagemagick if apt-get install -s mediawiki &>/dev/null; then # in debian wheezy time-frame distros, mediawiki was packaged. - apt-get -y install php-apc mediawiki + apt-get -y install php-apc mediawiki php-mbstring else # https://www.mediawiki.org/wiki/Manual:Installation_requirements if apt-get install -s php7.0 &>/dev/null; then # note, 7.0 is untested by the editor here, since it's not # available in debian 8. it's listed as supported # in the mediawiki page. - # noninteractive to avoid mysql password prompt + # noninteractive to avoid mysql password prompt. DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-xml \ - php7.0-apcu + php7.0-apcu php7.0-mbstring else + # note: mbstring is recommended, but it's not available for php5 in + # debian jessie. DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ php5 php5-mysql libapache2-mod-php5 php5-apcu fi @@ -377,7 +380,7 @@ git clone $git_site/acme-tiny-wrapper l=$mw/../../logs mkdir -p $l -acme-tiny-wrapper/acme-tiny-wrapper $mwdomain +acme-tiny-wrapper/acme-tiny-wrapper -t $mwdomain git clone $git_site/basic-https-conf { cat < #!/bin/bash source ~/mw_vars -HOSTNAME=REPLACE_ME source ~/mw_vars -rdiff-backup -r now ~/backup/${mwdomain}_wiki_file_backup /tmp/wiki_file_restore -scp -r /tmp/wiki_file_restore/images root@$mwdomain:$mw/images -rdiff-backup -r now ~/backup/${mwdomain}_wiki_db_backup /tmp/wiki_db_restore -scp -r /tmp/wiki_db_restore root@$mwdomain:/tmp -ssh root@$mwdomain < Then browse to your wiki and see if everything appears to work. @@ -983,19 +989,33 @@ source ~/mw_vars cd $mw git fetch --all git checkout origin/$mw_branch -git rebase ian/REL1_23-toolbox-in-dropdown -cd extensions +cd $mw/skins/Vector +git fetch --all -q +x=ian-kelling/REL1_27-toolbox-in-dropdown +log=$(git log HEAD..$x) +if [[ $log ]]; then + pwd + echo "$log" +fi +git checkout -q $x +cd $mw/extensions for x in *; do - if [[ -d $x ]]; then - cd $x - git fetch --all - git checkout origin/$mw_branch || git checkout -qf origin/master - cd .. + [[ -d $x ]] || continue + cd $x + git fetch --all -q + x=$(git rev-parse origin/$mw_branch 2>/dev/null) || \ + x=$(git rev-parse origin/master) + log=$(git log HEAD..$x) + if [[ $log ]]; then + pwd + echo "$log" fi + git checkout -q $x + cd .. done php $mw/maintenance/update.php -q EOF -chmod +x $s + == Upgrading Major Versions == diff --git a/mw-setup-script b/mw-setup-script index 40b5cfa..5cdfd14 100755 --- a/mw-setup-script +++ b/mw-setup-script @@ -87,21 +87,23 @@ if isdeb; then # main reference: # https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Ubuntu apt-get update - apt-get install -y imagemagick php-mbstring + apt-get install -y imagemagick if apt-get install -s mediawiki &>/dev/null; then # in debian wheezy time-frame distros, mediawiki was packaged. - apt-get -y install php-apc mediawiki + apt-get -y install php-apc mediawiki php-mbstring else # https://www.mediawiki.org/wiki/Manual:Installation_requirements if apt-get install -s php7.0 &>/dev/null; then # note, 7.0 is untested by the editor here, since it's not # available in debian 8. it's listed as supported # in the mediawiki page. - # noninteractive to avoid mysql password prompt + # noninteractive to avoid mysql password prompt. DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-xml \ - php7.0-apcu + php7.0-apcu php7.0-mbstring else + # note: mbstring is recommended, but it's not available for php5 in + # debian jessie. DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 mysql-server \ php5 php5-mysql libapache2-mod-php5 php5-apcu fi @@ -178,7 +180,7 @@ git clone $git_site/acme-tiny-wrapper l=$mw/../../logs mkdir -p $l -acme-tiny-wrapper/acme-tiny-wrapper $mwdomain +acme-tiny-wrapper/acme-tiny-wrapper -t $mwdomain git clone $git_site/basic-https-conf { cat </dev/null) || \ + x=$(git rev-parse origin/master) + log=$(git log HEAD..$x) + if [[ $log ]]; then + pwd + echo "$log" fi + git checkout -q $x + cd .. done php $mw/maintenance/update.php -q EOF -chmod +x $s + # -- 2.30.2