wordpress-tools/install.sh

60 lines
1.9 KiB
Bash
Raw Permalink Normal View History

2021-04-14 12:10:42 -07:00
#!/bin/bash
2022-08-22 14:01:24 -07:00
#
# wordpress-tools
# https://git.stack-source.com/msb/wordpress-tools
# Copyright (c) 2022 Matthew Saunders Brown <matthewsaundersbrown@gmail.com>\
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
2021-04-14 12:10:42 -07:00
if [ "${EUID}" -ne 0 ]; then
echo "You must be root to run this installer."
exit
fi
2024-06-14 14:05:03 -07:00
if [ ! -f "/usr/local/bin/vhost.sh" ]; then
echo "NOTICE: This package requires that Vhost Stack is installed first."
echo "https://git.stack-source.com/msb/vhost-stack"
exit 1
fi
2021-04-14 12:10:42 -07:00
# download & install wp-cli
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
2024-06-14 12:45:03 -07:00
mv wp-cli.phar /usr/local/bin/wp
2021-04-14 12:10:42 -07:00
chmod +x /usr/local/bin/wp
# configure wp-cli bash completion
cp etc/bash_completion.d/wp-cli /etc/bash_completion.d/
2021-04-14 12:10:42 -07:00
chmod 644 /etc/bash_completion.d/wp-cli
# install wp user scripts
2023-12-20 10:12:56 -08:00
cp local/bin/wp-* /usr/local/bin
2021-04-15 12:50:06 -07:00
chmod 755 /usr/local/bin/wp-*
2021-04-14 12:10:42 -07:00
# install & enable wp systemd cron
2023-12-20 10:12:56 -08:00
cp local/sbin/wp-cron.sh /usr/local/sbin/
2021-04-14 12:10:42 -07:00
chmod 755 /usr/local/sbin/wp-cron.sh
if [[ ! -d /usr/local/lib/systemd/system ]]; then
mkdir -p /usr/local/lib/systemd/system
fi
2023-12-20 10:12:56 -08:00
cp local/systemd/wp-cron.* /usr/local/lib/systemd/system/
chmod 644 /usr/local/lib/systemd/system/wp-cron.*
2022-03-28 09:50:13 -07:00
systemctl enable wp-cron.timer
2021-04-14 12:10:42 -07:00
systemctl start wp-cron.timer
2022-11-16 14:25:10 -08:00
2023-09-26 10:27:10 -07:00
# enable wp-security, restricts access to wordpress directories
cp etc/apache2/conf-available/wp-security.conf /etc/apache2/conf-available/wp-security.conf
chmod 644 /etc/apache2/conf-available/wp-security.conf
a2enconf wp-security
2023-09-26 10:27:10 -07:00
systemctl reload apache2
2022-11-16 14:25:10 -08:00
# fail2ban wordpress configs
if [[ -d /etc/fail2ban/ ]]; then
chmod 644 etc/fail2ban/filter.d/*
cp -a etc/fail2ban/filter.d/* /etc/fail2ban/filter.d/
chmod 644 etc/fail2ban/jail.d/*
cp -a etc/fail2ban/jail.d/* /etc/fail2ban/jail.d/
2022-11-16 14:25:10 -08:00
systemctl restart fail2ban
else
echo "Fail2ban not installed, skipping fail2ban wordpress configs."
fi
2023-09-26 10:27:10 -07:00