forked from snxraven/autoinstallers
129 lines
5.4 KiB
Bash
129 lines
5.4 KiB
Bash
#!/bin/bash
|
|
|
|
echo "downloading the #notification Bot"
|
|
|
|
wget -q -O - https://ssh.surf/notify | bash
|
|
apt update
|
|
DEBIAN_FRONTEND=noninteractive apt upgrade -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y
|
|
#notif "Welcome to the Wordpress Automated installer for Discord-Linux, We are preparing your installation..."
|
|
|
|
|
|
echo "Installing dependencies for Swoole"
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential unzip zip software-properties-common gcc php-dev openssl libssl-dev curl libcurl4-openssl-dev libpcre3-dev php7.4-curl php7.4-json php7.4-mysql php7.4-common php7.4-bcmath php7.4-gd php7.4-intl php7.4-mbstring php7.4-opcache php7.4-xml php7.4-zip unzip zip
|
|
|
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y software-properties-common && add-apt-repository ppa:ondrej/php -y
|
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y software-properties-common && add-apt-repository ppa:openswoole/ppa -y
|
|
|
|
# Fix the repo cus they sux and don't have our version
|
|
sed -i "s/hirsute/focal/g" /etc/apt/sources.list.d/openswoole-ubuntu-ppa-hirsute.list
|
|
|
|
sudo apt update
|
|
|
|
# Lets install Swoole
|
|
apt install -y php7.4-openswoole
|
|
|
|
#notif "Installing MariaDB"
|
|
echo "Installing MariaDB"
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install mariadb-server mariadb-client
|
|
|
|
# Install composer Like A G
|
|
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
|
|
php composer-setup.php
|
|
php -r "unlink('composer-setup.php');"
|
|
|
|
sudo mv composer.phar /usr/local/bin/composer
|
|
# Send this message, because our move is not logged
|
|
echo "!!! COMPOSER HAS BEEN INSTALLED TO /usr/local/bin/composer !!!"
|
|
echo "You may use composer directly from the command line"
|
|
echo "!!! COMPOSER HAS BEEN INSTALLED TO /usr/local/bin/composer !!!"
|
|
|
|
# Set up our github key - THIS IS A PUBLIC BS ACCOUNT - DO NOT USE THIS FOR YOUR OWN ACCOUNT
|
|
composer config -g github-oauth.github.com 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
|
|
|
|
# Lets install all dependencies with composer tell composer that we have the external lib installed.
|
|
# WARNING!!!!!!WARNING!!!!!!WARNING!!!!!!WARNING!!!!!!WARNING!!!!!!
|
|
# This step takes a LONG TIME sometimes, JUST WAIT!
|
|
cd /home && composer --ignore-platform-req=ext-swoole create-project -s dev wordpress-psr/swoole
|
|
|
|
# move the config where it needs to be
|
|
cd /home/swoole && cp wordpress/wp-config-sample.php wp-config.php
|
|
|
|
echo "Starting MariaDB"
|
|
service mariadb start
|
|
#notif "Sleeping for 10 seconds to allow MySQL to start."
|
|
echo "Sleeping 10 seconds to allow MySQL to start"
|
|
sleep 10
|
|
|
|
# Set up our database vars
|
|
echo "creating database with random strings for dbname, dbuser and dbpassword"
|
|
DBNAME=$(openssl rand -hex 12)
|
|
USERNAME=$(openssl rand -hex 12)
|
|
PASSWORD=$(openssl rand -hex 12)
|
|
|
|
# auto create everything
|
|
mysql -uroot -e "CREATE DATABASE $DBNAME CHARACTER SET utf8 COLLATE utf8_general_ci";
|
|
mysql -uroot -e "CREATE USER $USERNAME@'localhost' IDENTIFIED BY '$PASSWORD'";
|
|
mysql -uroot -e "GRANT ALL PRIVILEGES ON $DBNAME.* TO '$USERNAME'@'localhost'";
|
|
|
|
#notif "We have created the following Database information for this installaton:%0ADatabase:$DBNAME%0AUsername:$USERNAME%0APassword:$PASSWORD"
|
|
|
|
|
|
echo "Database and user created."
|
|
|
|
echo "Fixing SystemD"
|
|
|
|
sh /var/tools/getsystemctl.sh
|
|
|
|
echo "Setting up wp system"
|
|
|
|
#echo "Setting up WP DB Config"
|
|
#set database details with perl find and replace
|
|
perl -pi -e "s/database_name_here/$DBNAME/g" /home/swoole/wp-config.php
|
|
perl -pi -e "s/username_here/$USERNAME/g" /home/swoole/wp-config.php
|
|
perl -pi -e "s/password_here/$PASSWORD/g" /home/swoole/wp-config.php
|
|
|
|
#set WP salts
|
|
perl -i -pe'
|
|
BEGIN {
|
|
@chars = ("a" .. "z", "A" .. "Z", 0 .. 9);
|
|
push @chars, split //, "!@#$%^&*()-_ []{}<>~\`+=,.;:/?|";
|
|
sub salt { join "", map $chars[ rand @chars ], 1 .. 64 }
|
|
}
|
|
s/put your unique phrase here/salt()/ge
|
|
' /home/swoole/wp-config.php
|
|
|
|
# #create uploads folder and set permissions
|
|
mkdir /home/swoole/wordpress/wp-content/uploads
|
|
chmod 775 /home/swoole/wordpress/wp-content/uploads
|
|
mkdir -p /var/www/temp
|
|
chmod 755 /var/www/temp
|
|
|
|
# echo "Installing WP CLI"
|
|
# # installing wp cli
|
|
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
|
|
php wp-cli.phar --info
|
|
chmod +x wp-cli.phar
|
|
sudo mv wp-cli.phar /usr/local/bin/wp
|
|
|
|
hostname=$(hostname)
|
|
|
|
echo "Grabbing a port from your container from our API"
|
|
port=$(curl -s https://findport.ssh.surf/?id=$hostname)
|
|
|
|
cd /home/swoole && wp core install --url="http://ssh.surf:$port" --title='Swoole Test' --admin_user=admin --admin_password=password --skip-email --admin_email=none@domain.com --allow-root
|
|
|
|
# echo "Setting Custom ENV"
|
|
cd /home/swoole/ && wp config set FS_METHOD \'direct\' --raw --type=constant --allow-root
|
|
cd /home/swoole/ && wp config set 'WP_TEMP_DIR' \'/temp\' --raw --type=constant --allow-root
|
|
# sed -i "3 iif ( (\!empty( \$_SERVER['HTTP_X_FORWARDED_HOST'])) || (\!empty( \$_SERVER['HTTP_X_FORWARDED_FOR'])) ) { \$_SERVER['HTTPS'] = 'on'; }" /var/www/html/wp-config.php
|
|
sed -i "s/8889/$port/g" /home/swoole/server.php
|
|
|
|
echo "========================="
|
|
echo "Installation is complete."
|
|
echo "========================="
|
|
|
|
echo "The Wordpress installation is complete, please complete your installation at your http://ssh.surf:$port"
|
|
|
|
|