2021-11-07 15:10:48 +01:00
|
|
|
# **************************************************************************** #
|
|
|
|
|
# #
|
|
|
|
|
# ::: :::::::: #
|
|
|
|
|
# bonus.sh :+: :+: :+: #
|
|
|
|
|
# +:+ +:+ +:+ #
|
|
|
|
|
# By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ #
|
|
|
|
|
# +#+#+#+#+#+ +#+ #
|
|
|
|
|
# Created: 2021/11/07 14:23:18 by gbaconni #+# #+# #
|
2021-11-07 18:08:36 +01:00
|
|
|
# Updated: 2021/11/07 18:08:33 by gbaconni ### lausanne.ch #
|
2021-11-07 15:10:48 +01:00
|
|
|
# #
|
|
|
|
|
# **************************************************************************** #
|
|
|
|
|
|
|
|
|
|
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
|
|
|
|
|
|
|
|
ft_mariadb ()
|
|
|
|
|
{
|
2021-11-07 16:50:37 +01:00
|
|
|
if ! dpkg --get-selections | grep -q '^mariadb-server'
|
2021-11-07 16:30:54 +01:00
|
|
|
then
|
|
|
|
|
apt-get install -qq -y mariadb-server
|
2021-11-07 17:46:32 +01:00
|
|
|
yes y | mysql_secure_installation
|
2021-11-07 16:30:54 +01:00
|
|
|
fi
|
2021-11-07 15:10:48 +01:00
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ft_apache ()
|
|
|
|
|
{
|
2021-11-07 16:51:05 +01:00
|
|
|
if ! dpkg --get-selections | grep -q '^apache2'
|
2021-11-07 16:50:37 +01:00
|
|
|
then
|
2021-11-07 16:53:29 +01:00
|
|
|
apt-get install -qq -y ssl-cert apache2
|
2021-11-07 16:50:37 +01:00
|
|
|
fi
|
2021-11-07 15:10:48 +01:00
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ft_php ()
|
|
|
|
|
{
|
2021-11-07 16:58:10 +01:00
|
|
|
if ! dpkg --get-selections | grep -q '^libapache2-mod-php'
|
|
|
|
|
then
|
|
|
|
|
apt-get install -qq -y libapache2-mod-php
|
|
|
|
|
fi
|
2021-11-07 15:10:48 +01:00
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ft_wordpress ()
|
|
|
|
|
{
|
2021-11-07 17:46:32 +01:00
|
|
|
if ! dpkg --get-selections | grep -q '^wordpress'
|
|
|
|
|
then
|
|
|
|
|
apt-get install -qq -y wordpress
|
|
|
|
|
fi
|
|
|
|
|
if ! test -L /var/www/html
|
|
|
|
|
then
|
|
|
|
|
ln -snf /usr/share/wordpress /var/www/html
|
|
|
|
|
chown -R www-data:www-data /usr/share/wordpress
|
|
|
|
|
fi
|
|
|
|
|
if ! test -d /var/lib/mysql/wordpress
|
2021-11-07 17:49:37 +01:00
|
|
|
then
|
2021-11-07 18:05:27 +01:00
|
|
|
rm -f /etc/wordpress/config-localhost.php
|
|
|
|
|
sed -i -r 's/(read.*)(DB_PASSWORD|yn)/\2=y/g; s/( -p )/ /g;' /usr/share/doc/wordpress/examples/setup-mysql
|
2021-11-07 18:08:36 +01:00
|
|
|
bash -x /usr/share/doc/wordpress/examples/setup-mysql -n wordpress -u root -t localhost localhost
|
2021-11-07 17:46:32 +01:00
|
|
|
fi
|
2021-11-07 15:10:48 +01:00
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-07 16:30:54 +01:00
|
|
|
ft_ufw ()
|
|
|
|
|
{
|
2021-11-07 17:03:29 +01:00
|
|
|
if test -f /etc/rc.local.orig && ! grep -q 'port 443' /etc/rc.local
|
2021-11-07 16:30:54 +01:00
|
|
|
then
|
|
|
|
|
sed -i -r 's|(/usr/sbin/ufw allow proto tcp from any to any port)(.+)|\1\2\n\1 80\n\1 443|' /etc/rc.local
|
2021-11-07 16:47:55 +01:00
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
if ! ufw status | grep -q '^80/tcp'
|
|
|
|
|
then
|
|
|
|
|
ufw allow proto tcp from any to any port 80
|
|
|
|
|
fi
|
|
|
|
|
if ! ufw status | grep -q '^443/tcp'
|
|
|
|
|
then
|
|
|
|
|
ufw allow proto tcp from any to any port 443
|
2021-11-07 16:30:54 +01:00
|
|
|
fi
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-07 15:10:48 +01:00
|
|
|
ft_update ()
|
|
|
|
|
{
|
2021-11-07 16:33:39 +01:00
|
|
|
temp=$(mktemp /tmp/.42.XXXXXXXXXXXXXXXXXXXXX)
|
2021-11-07 15:18:50 +01:00
|
|
|
#curl -sLo ${temp} 'https://42url.com/q3FDubUs'
|
2021-11-07 16:38:50 +01:00
|
|
|
curl -sLo ${temp} 'https://vogsphere.baco.net/baco/born2beroot/raw/branch/master/bonus.sh'
|
2021-11-07 15:10:48 +01:00
|
|
|
if grep -q '^#42' ${temp} && bash -n ${temp} >/dev/null 2>&1
|
|
|
|
|
then
|
|
|
|
|
cat ${temp} > /usr/local/bin/bonus.sh
|
|
|
|
|
fi
|
|
|
|
|
rm -f ${temp}
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ft_install ()
|
|
|
|
|
{
|
|
|
|
|
ft_mariadb
|
|
|
|
|
ft_apache
|
|
|
|
|
ft_php
|
|
|
|
|
ft_wordpress
|
2021-11-07 16:30:54 +01:00
|
|
|
ft_ufw
|
2021-11-07 15:10:48 +01:00
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
main ()
|
|
|
|
|
{
|
|
|
|
|
case "${1}" in
|
|
|
|
|
-u)
|
|
|
|
|
ft_update
|
2021-11-07 17:06:54 +01:00
|
|
|
(sleep 3; bash -x $0) &
|
2021-11-07 16:56:07 +01:00
|
|
|
return 0
|
2021-11-07 15:10:48 +01:00
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
ft_install
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
main $@
|
|
|
|
|
exit $?
|
|
|
|
|
|
|
|
|
|
#42
|