== Introduction ==
-'''tldr''': For Gnu/Linux (with a bit of Debian bias), a more concise, holistic and automated install than the official Mediawiki docs. Do some initial configuration then download this page and run it, or execute it as you read the well written documentation.
+'''tldr''': For Gnu/Linux (with a bit of Debian bias), a more concise, holistic and automated install than the official Mediawiki docs. Do some initial configuration then download this page and run it, or execute it as you read.
''' Goals / Why use this guide? '''
mw-clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/$ext
if [[ -e $mw/ext/$ext/extension.json ]]; then
# new style extension. remove old style declaration
- sed -i '#^require_once( "\\\$IP/extensions/\$ext/\$ext\.php" );#d' $mwc
+ sed -i --follow-symlinks '#^require_once( "\\\$IP/extensions/\$ext/\$ext\.php" );#d' $mwc
teeu $mwc <<EOF
wfLoadExtension( '$ext' );
EOF
mw-skin() {
local skin=$1
mw-clone https://gerrit.wikimedia.org/r/p/mediawiki/skins/$skin
- sed -i '/^wfLoadSkin/d' $mwc
- sed -i '/^\$wgDefaultSkin/d' $mwc
+ sed -i --follow-symlinks '/^wfLoadSkin/d' $mwc
+ sed -i --follow-symlinks '/^\$wgDefaultSkin/d' $mwc
teeu $mwc <<EOF
\$wgDefaultSkin = "${skin,,*}";
wfLoadSkin( '$skin' );
# Increase from default of 2M to 100M.
# This will at least allow high res pics etc.
php_ini=$(php -r 'echo(php_ini_loaded_file());')
-sed -i 's/^\(upload_max_filesize\|post_max_size\)\b.*/\1 = 100M/' $php_ini
+sed -i --follow-symlinks 's/^\(upload_max_filesize\|post_max_size\)\b.*/\1 = 100M/' $php_ini
if isdeb; then
service apache2 restart
else
# todo, php5-curl equivalent on fedora
yum -y install texlive-cjk ghostscript ImageMagick texlive ocaml
fi
-dir=$(dirname $(php -r 'echo(php_ini_loaded_file());'))/../apache2/conf.d
-ln -sf ../../mods-available/curl.ini $dir
service apache2 restart
cd $mw/extensions/Math/math; make # makes texvc
Enable account creation that we initially disabled.
<source lang="bash">
-sed -i "/\\\$wgGroupPermissions\\['\\*'\\]\\['createaccount'\\] = false;/d" $mwc
+sed -i --follow-symlinks "/\\\$wgGroupPermissions\\['\\*'\\]\\['createaccount'\\] = false;/d" $mwc
</source>
== Additional Configuration with Pywikibot ==
EOF
mkdir -p ~/wiki_backups
mysqldump -p$dbpass --default-character-set=binary my_wiki > ~/wiki_backups/wiki_db_backup
-sed -i '\$ d' $mwc # delete read only setting
+sed -i --follow-symlinks '\$ d' $mwc # delete read only setting
ENDSSH
set -x
rdiff-backup root@$mwdomain::/root/wiki_backups ~/backup/${mwdomain}_wiki_db_backup
'''Optional & requires additional steps'''
<source lang="bash" type="example">
-sed -i "/^root:/d" /etc/aliases
+sed -i --follow-symlinks "/^root:/d" /etc/aliases
echo "root: EXAMPLE_ONLY_REPLACE_ME@gmail.com" >> /etc/aliases
newaliases
</source>
'''Bash here documents, EOF vs 'EOF' '''
-Here documents are used throughout this page, some people may not be aware of a small but important syntax. When the delimiter is quoted, as in <<'EOF', then the contents of the here document are exactly verbatim. Otherwise $ and ` are expanded as in bash, and must be quoted by \, which itself must then also be quoted to be used literally.
+Here documents are used throughout this page, some people may not be aware of a small but important syntax. When the delimiter is quoted, as in <<'EOF', then the contents of the here document are exactly verbatim. Otherwise $ and ` are expanded as in bash, and must be escaped by prefixing them with \, which itself must then also be escaped to be used literally.
''' Mediawiki automation tools survey 7/2014 '''