Howto/vagrant/bootstrap.sh

88 lines
2.9 KiB
Bash
Raw Normal View History

2019-01-07 18:31:40 +01:00
#!/usr/bin/env bash
# Custom configuration
2019-10-11 23:38:00 +02:00
WEB_NAME="howto.disroot.lan"
WEB_ROOT="/var/www/"
WWW_USER="www-data"
2020-01-05 11:03:44 +01:00
YAML="/var/www/howto.disroot.lan/user/config/system.yaml"
2019-01-07 18:31:40 +01:00
# Provisioning actions
2019-10-11 23:38:00 +02:00
# Add sury repository to sources.list for PHP
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y install ca-certificates apt-transport-https
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee -a /etc/apt/sources.list.d/php.list
2020-01-05 11:03:44 +01:00
# Sury Key for PHP7.4
2019-10-11 23:38:00 +02:00
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
2019-01-07 18:31:40 +01:00
sudo apt-get -y update
2020-01-05 11:03:44 +01:00
echo "Installing nginx..."
sudo apt-get install -y nginx-full
echo "Installing composer..."
sudo apt-get install -y composer
echo "Installing php7..."
sudo apt-get install -y php7.4-zip php7.4-cli php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-fpm
2019-01-07 18:31:40 +01:00
2020-01-05 11:03:44 +01:00
# Create the Nginx config files and restart webserver
2019-10-11 23:38:00 +02:00
sudo rsync -cr /vagrant/provision/etc/nginx/sites-available /etc/nginx/
sudo ln -s /etc/nginx/sites-available/"${WEB_NAME}".conf /etc/nginx/sites-enabled/"${WEB_NAME}".conf
sudo rm /etc/nginx/sites-enabled/default
sudo service nginx restart
2019-01-07 18:31:40 +01:00
# Install GRAV in webroot
2019-10-11 23:38:00 +02:00
sudo chown -R ${WWW_USER}:${WWW_USER} /var/www
2020-01-05 11:03:44 +01:00
sudo wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer
2019-10-11 23:38:00 +02:00
echo "Git"
git clone -b master https://github.com/getgrav/grav.git "${WEB_ROOT}""${WEB_NAME}"
sudo chown -R ${WWW_USER}:${WWW_USER} "${WEB_ROOT}"
echo "enter git"
cd "${WEB_ROOT}""${WEB_NAME}"
echo "composer"
sudo -u "${WWW_USER}" composer install --no-dev -o
sudo chown -R ${WWW_USER}:${WWW_USER} "${WEB_ROOT}"
2019-01-07 18:31:40 +01:00
sudo chmod 775 -R bin/
2019-10-11 23:38:00 +02:00
sudo -u "${WWW_USER}" bin/grav install
sudo -u "${WWW_USER}" bin/gpm install language-selector
sudo -u "${WWW_USER}" bin/gpm install form
sudo -u "${WWW_USER}" bin/gpm install simplesearch
2020-01-05 11:03:44 +01:00
sudo -u "${WWW_USER}" sed -i 's/quark/grav-theme-howto/g' "${YAML}"
# Add Grav config
if ! grep -q redirect_default_route "${YAML}" ; then
sudo -u "${WWW_USER}" ex -s -c '13i| redirect_default_route: true' -c x "${YAML}"
fi
if ! grep -q languages "${YAML}" ; then
sudo -u "${WWW_USER}" echo "
2019-01-07 18:31:40 +01:00
languages:
supported:
- en
- es
2019-10-11 23:38:00 +02:00
- fr
2019-01-07 18:31:40 +01:00
- it
2019-10-11 23:38:00 +02:00
- pt
2020-01-05 11:03:44 +01:00
- de
- ru" >> "${YAML}"
fi
sudo -u "${WWW_USER}" ex -s -c "4i| alias: '/home'" -c x "${YAML}"
sudo -u "${WWW_USER}" sed -i '4d' "${YAML}"
2019-10-11 23:38:00 +02:00
sudo -u "${WWW_USER}" -i 's/false/true/g' "${WEB_ROOT}""${WEB_NAME}"/user/plugins/language-selector/language-selector.yaml
2019-01-07 18:31:40 +01:00
2019-10-11 23:38:00 +02:00
# Add website domain to local /etc/hosts file
sudo sed -i "s/127.0.0.1\tlocalhost/127.0.0.1\tlocalhost ${WEB_NAME}/" /etc/hosts
2019-01-07 18:31:40 +01:00
2019-10-11 23:38:00 +02:00
#Add website pages in GRAV
2020-01-05 18:39:33 +01:00
sudo mount -o bind "${WEB_ROOT}"/pages "${WEB_ROOT}""${WEB_NAME}"/user/pages
2019-10-11 23:38:00 +02:00
chown "${WWW_USER}":"${WWW_USER}" -R "${WEB_ROOT}""${WEB_NAME}"/user/pages
2020-01-05 11:03:44 +01:00
#Add Disroot theme in GRAV
2020-01-05 18:39:33 +01:00
sudo -u "${WWW_USER}" ln -s "${WEB_ROOT}"/themes/grav-theme-howto "${WEB_ROOT}""${WEB_NAME}"/user/themes/grav-theme-howto
2020-01-05 11:03:44 +01:00
2019-01-07 18:31:40 +01:00
exit 0