X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=mw-setup-script;h=4755e37a9d49fda25858c7594d749dac07ef9d5c;hb=ab8c0dee45e63d3216aace79c9d96bec53d9e28b;hp=acc327fb5e8ecc925900d508bb5f4c7efeef437b;hpb=2631a87ebcd3c7b743d968cf3d1f67fa2b0254db;p=mediawiki-setup diff --git a/mw-setup-script b/mw-setup-script index acc327f..4755e37 100755 --- a/mw-setup-script +++ b/mw-setup-script @@ -3,7 +3,10 @@ # This program is under GPL v. 3 or later, see set -x # -apt-get install --install-suggests jessie-backports certbot +# if we have jessie-backports, we need to use it. +if ! apt-get install -t jessie-backports certbot python-certbot-apache; then + apt-get install certbot python-certbot-apache +fi # # # identify if this is a debian based distro @@ -92,8 +95,12 @@ if isdeb; then apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y imagemagick curl if apt-get install -s mediawiki &>/dev/null; then - # mediawiki is packaged in jessie backports. - DEBIAN_FRONTEND=noninteractive apt-get -y install php5-apcu mediawiki + apcu=php5-apcu + if apt-get install -s php7.0-apcu &>/dev/null; then + apcu=php7.0-apcu + fi + # mediawiki is packaged in jessie backports & stretch + DEBIAN_FRONTEND=noninteractive apt-get -y install $apcu mediawiki else # https://www.mediawiki.org/wiki/Manual:Installation_requirements if apt-get install -s php7.0 &>/dev/null; then @@ -126,18 +133,26 @@ else fi -# slightly different depending on if we already set the root pass -if echo exit|mysql -u root -p"$dbpass"; then - # answer interactive prompts: - # mysql root pass, change pass? no, remove anon users? (default, yes) - # disallow remote root (default, yes), reload? (default, yes) - echo -e "$dbpass\nn\n\n\n\n" | mysql_secure_installation -else - # I had 1 less newline at the start when doing ubuntu 14.04, +# skip if we already set the root pass and are on pre-debian 9. +if ! echo exit|mysql -uroot "-p$dbpass"; then + # Note: we set a root password here, but in debian 9+, it is ignored; + # only the local user root can login, and any password is accepted. + # We answer these interactive prompts: + # Enter current password for root (enter for none): + # Set root password? [Y/n] + # New password: + # Re-enter new password: + # Remove anonymous users? [Y/n] + # Disallow root login remotely? [Y/n] + # Remove test database and access to it? [Y/n] + # Reload privilege tables now? [Y/n] + # Note, I had 1 less newline at the start when doing ubuntu 14.04, # compared to debian 8, so can't say this is especially portable. - # It won't hurt if it fails. echo -e "\n\n$dbpass\n$dbpass\n\n\n\n\n" | mysql_secure_installation fi +mysql -uroot "-p$dbpass" < # mkdir -p $mw @@ -165,12 +180,12 @@ cd .. # Drop any previous database which may have been installed while testing. # If upgrading, we should have a db backup which will get restored. # https://www.mediawiki.org/wiki/Manual:Upgrading -mysql -u root -p$dbpass <<'EOF' ||: +mysql -uroot "-p$dbpass" <<'EOF' ||: drop database my_wiki; exit EOF php $mw/maintenance/install.php --pass $wikipass --scriptpath /w \ - --dbuser root --dbpass $dbpass "$mwdescription" "$wikiuser" + --dbuser wikiuser --dbpass $dbpass "$mwdescription" "$wikiuser" teeu $mwc <<'EOF' # lock down the wiki to only the initial owner until anti-spam measures are put in place # limit edits to registered users @@ -180,14 +195,14 @@ $wgGroupPermissions['*']['createaccount'] = false; EOF # # -temp=$(mktemp -d) -cd $temp -git_site=https://iankelling.org/git l=$mw/../../logs mkdir -p $l - -git clone $git_site/basic-https-conf -basic-https-conf/web-conf -r ${mw%/*} - apache2 $mwdomain <\n $(< $line)\n"; done +} | basic-https-conf/web-conf -r ${mw%/*} - apache2 $mwdomain cd rm -rf $temp # @@ -279,7 +295,7 @@ EOF # Make the toolbox go into the drop down. cd $mw/skins/Vector if ! git remote show ian-kelling &>/dev/null; then - git remote add ian-kelling https://iankelling.org/git/forks/Vector + git remote add ian-kelling https://iankelling.org/git/mediawiki-sidebar-patch fi git fetch ian-kelling git checkout ian-kelling/${mw_branch}-toolbox-in-dropdown