57 lines
2.3 KiB
Bash
57 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# Wordpress install script
|
|
# Written by Joshua Mudge
|
|
# Ad Mejorem Dei Glorium
|
|
version="v1.1.0"
|
|
|
|
curl -s "https://gitlab.daplie.com/sysadmin/daplie-snippets/raw/master/dss/setup.sh" | bash
|
|
|
|
dss --user $USER init
|
|
|
|
#sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
|
|
|
|
sudo apt-get install nginx unzip php-fpm php-xml php-xmlrpc software-properties-common php-mysql mysql-server zip php-gd -y
|
|
wget https://wordpress.org/latest.zip
|
|
sudo mkdir /var/www/wordpress
|
|
unzip latest.zip
|
|
sudo mv wordpress/* /var/www/website/
|
|
|
|
sudo add-apt-repository -y ppa:certbot/certbot
|
|
sudo apt-get update
|
|
sudo apt-get install -y python-certbot-nginx certbot
|
|
|
|
# user input required
|
|
|
|
echo "Update Nginx configuration in /etc/nginx/sites-enabled/ using example configuration."
|
|
echo "run: sudo certbot --authenticator webroot --installer nginx after configuring default_server and root directory. You will have to input the server root directory."
|
|
# You could also run: sudo certbot certonly --webroot --webroot-path=/var/www/wordpress -d www.youdomain.com -d yourdomain.com"
|
|
# For permalinks, add: try_files $uri $uri/ /index.php?$args; in place of the other try_files in configuration.
|
|
# Fix perms sudo chown -R www-data:www-data /var/www/dir
|
|
|
|
#Run: sudo mysql_secure_installation
|
|
|
|
# Change Table prefix in interface if you have multiple sites.
|
|
# mysql -u root mysql -p
|
|
#CREATE DATABASE wordpress;
|
|
#CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'newpassword';
|
|
#GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
|
|
#FLUSH PRIVILEGES;
|
|
#quit
|
|
|
|
|
|
# Install WP-CLI
|
|
|
|
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
|
|
sudo chmod +x wp-cli.phar
|
|
sudo mv wp-cli.phar /usr/local/bin/wp
|
|
|
|
#https://askubuntu.com/questions/705458/ubuntu-15-10-mysql-error-1524-unix-socket
|
|
|
|
#https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
|
|
|
|
# Create root crontab: 0 5 20 * * sudo letsencrypt renew --force-renew && sudo service nginx restart
|
|
|
|
# Crontab for BASH autoupdate: * * * * 0 bash "cd /var/www/wordpress && wp core update && wp plugin update --all && wp theme update --all"
|
|
# Make sure you get both default and default80 configs setup and have /var/www/wordpress setup properly and not at /var/www/wordpress/wordpress/
|
|
# WP-CLI
|