55 lines
2.9 KiB
Bash
55 lines
2.9 KiB
Bash
#WP-CLI
|
|
if [ ! -f /usr/local/bin/wp ]; then
|
|
curl --retry 7 --retry-delay 5 -s https://raw.githubusercontent.com/wp-cli/wp-cli/v2.4.0/utils/wp-completion.bash -o /etc/bash_completion.d/wp
|
|
curl --retry 7 --retry-delay 5 -s https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -o /usr/local/bin/wp
|
|
chmod +x /usr/local/bin/wp
|
|
fi
|
|
|
|
#Creating DB
|
|
db_suffix=`expr $(ls -l /var/www | grep -c ^d) - 1`
|
|
db_name="wp_$db_suffix"
|
|
db_user="wp_$db_suffix"
|
|
db_pass=$(date +%s|sha256sum|base64|head -c 32)
|
|
WPSalts=$(curl --retry 7 --retry-delay 5 -s https://api.wordpress.org/secret-key/1.1/salt/)
|
|
|
|
#Setting up Database
|
|
mysql -u root -p"$password" -e "CREATE DATABASE "$db_name" DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;" > $OUTPUT 2>&1
|
|
mysql -u root -p"$password" -e "CREATE USER '"$db_user"'@'localhost' IDENTIFIED BY '"$db_pass"';" > $OUTPUT 2>&1
|
|
mysql -u root -p"$password" -e "GRANT ALL ON "$db_name".* TO '"$db_user"'@'localhost';" > $OUTPUT 2>&1
|
|
mysql -u root -p"$password" -e "FLUSH PRIVILEGES;" > $OUTPUT 2>&1
|
|
|
|
#Creating Folder
|
|
mkdir -p /var/www/"$domain"/html
|
|
|
|
#Getting WordPress
|
|
curl --retry 7 --retry-delay 5 -s http://mirror.nxdi.nl/resources/wordpress/latest.tar.gz -o /tmp/wp.tar.gz
|
|
tar -C /var/www/"$domain"/html -xzf /tmp/wp.tar.gz --strip 1
|
|
rm /var/www/"$domain"/html/wp-config-sample.php
|
|
|
|
#Configuring WordPress
|
|
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CMS/wordpress/WordPress-unconfigured -o /var/www/"$domain"/html/wp-config.php
|
|
sed -i -e 's/DBPass/'$db_pass'/' -e 's/DBUser/'$db_user'/' -e 's/DBName/'$db_name'/' -e 's/DOMAINname/'$domain'/' /var/www/"$domain"/html/wp-config.php
|
|
printf '%s\n' "g/WPsalty/d" a "$WPSalts" . w | ed -s /var/www/"$domain"/html/wp-config.php
|
|
|
|
#PHP Pool
|
|
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CMS/wordpress/Fpm-Pool.conf-unconfigured -o /etc/php/"$phpver"/fpm/pool.d/"$sitename".conf
|
|
sed -i -e 's/PHPver/'$phpver'/g' -e 's/SITEname/'$sitename'/g' -e 's/DOMAINname/'$domain'/g' /etc/php/"$phpver"/fpm/pool.d/$sitename.conf
|
|
groupadd "$sitename"
|
|
useradd -g "$sitename" "$sitename"
|
|
|
|
systemctl reload php"$phpver"-fpm
|
|
|
|
#fail2ban
|
|
if [ ! -f /etc/fail2ban/jail.d/wordpress-syslog.local ]; then
|
|
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/config/fail2ban/Jails/wordpress-syslog.jail -o /etc/fail2ban/jail.d/wordpress-syslog.local
|
|
fi
|
|
|
|
#Setting Permsissions
|
|
chown "$sitename":"$sitename" -R /var/www/"$domain"/html
|
|
|
|
#Makeing wordpress Finalize script and setting login Notice
|
|
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CMS/wordpress/wordpress-init.sh -o ~/WordpressInit-"$sitename".sh
|
|
sed -i -e 's/DOMAINname/'$domain'/' -e 's/SITEname/'$sitename'/' ~/WordpressInit-"$sitename".sh
|
|
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CMS/wordpress/MotdWordpress -o /etc/update-motd.d/51-wpnotice
|
|
sed -i -e 's/SITEname/'$sitename'/' /etc/update-motd.d/51-wpnotice
|
|
chmod +x /etc/update-motd.d/51-wpnotice |