X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=mw-setup-script;h=4755e37a9d49fda25858c7594d749dac07ef9d5c;hb=ab8c0dee45e63d3216aace79c9d96bec53d9e28b;hp=1c356d4e587149fba6306c5994d677391b45a540;hpb=ce5dbd53563bcdf13451a7226566447dcc9a519f;p=mediawiki-setup diff --git a/mw-setup-script b/mw-setup-script index 1c356d4..4755e37 100755 --- a/mw-setup-script +++ b/mw-setup-script @@ -3,6 +3,12 @@ # This program is under GPL v. 3 or later, see set -x # +# 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 isdeb() { command -v apt &>/dev/null; } # tee unique. append each stdin line if it does not exist in the file @@ -89,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 @@ -123,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 @@ -162,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 @@ -177,16 +195,13 @@ $wgGroupPermissions['*']['createaccount'] = false; EOF # # -temp=$(mktemp -d) -cd $temp -git_site=https://iankelling.org/git -git clone $git_site/acme-tiny-wrapper l=$mw/../../logs mkdir -p $l - -acme-tiny-wrapper/acme-tiny-wrapper -t $mwdomain - -git clone $git_site/basic-https-conf +temp=$(mktemp -d) +cd $temp +# for me, this repo is on the same server and apache needs a sec after restarting +sleep 1 +git clone https://iankelling.org/git/basic-https-conf { cat <\n $(< $line)\n"; done -} | basic-https-conf/apache-site -r ${mw%/*} - $mwdomain +} | basic-https-conf/web-conf -r ${mw%/*} - apache2 $mwdomain cd rm -rf $temp # @@ -280,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 @@ -511,25 +526,19 @@ x("MediaWiki:Sidebar", """* navigation # remove side panel # helpfull doc: https://www.mediawiki.org/wiki/Manual:Interface/Sidebar x("mediawiki:Common.css", """/* adjust sidebar to just be home link and up top */ +/* adjust sidebar to just be home link and up top */ /* panel width increased to fit full wiki name. */ +/* selectors other than final id are for increasing priority of rule */ div#mw-panel { top: 10px; padding-top: 0em; width: 20em } div#footer, #mw-head-base, div#content { margin-left: 1em; } #left-navigation { margin-left: 1em; } /* logo, and toolbar hidden */ -#p-logo, #p-tb.portal { +#p-logo, div#mw-navigation div#mw-panel #p-tb { display:none; } -/* make the font size smaller for the misc stuff */ -#p-personal { - font-size: 0.8em; -} - -#footer-info { - font-size: 0.8em; -} div#mw-content-text { max-width: 720px; }