FEATURE: make installation working again

This commit is contained in:
Michal Kváček
2016-09-20 23:06:42 +02:00
parent 5f8dab0068
commit 67cd7fb36f
9 changed files with 793 additions and 389 deletions
+96 -32
View File
@@ -1,4 +1,4 @@
#/bin/bash
#!/bin/bash
if [ "$1" == "devel" ]; then
INSTALL_DEVEL=1
@@ -120,32 +120,93 @@ echo $WEBSITE_PARENT > $WEBSITE_PARENT_FILE
# setup permissions
chmod 0777 bootstrap/cache -R
chmod 0777 storage -R
chmod 0777 resources/views/visitor/$TEMPLATE_NAME -R
chmod 0777 public -R
chmod 0777 modules/*
chmod 0777 public/uploads -R
# copy settings if neccesarry
if [ ! -e .env ]; then
cp .env.example .env
# edit config
vim .env
fi
# create autoload files - no matter what
composer dump-autoload
# install dependencies - no matter what
if [ $INSTALL_DEVEL -eq 0 ]; then
composer install --no-dev
else
composer install
fi
# init database structure
if [ ! -e $DB_INITIALIZED_FILE ]; then
echo " --------------------------"
echo " * Database setup * "
echo ""
echo "MySQL host [localhost]: "
read MYSQL_HOST
if [ "$MYSQL_HOST" == "" ]; then
MYSQL_HOST="localhost"
fi
echo ""
echo "MySQL user:"
read MYSQL_USER
echo ""
echo "MySQL password:"
read MYSQL_PASSWORD
echo ""
echo "MySQL database (must exist and should be empty):"
read MYSQL_DATABASE
# copy settings if neccesarry
if [ ! -e .env ]; then
cp .env.example .env
sed -i -e s/SITE_URL=/SITE_URL=$WEBSITE_DOMAIN/ .env
sed -i -e s/UPLOAD_URL=/UPLOAD_URL=$WEBSITE_DOMAIN/ .env
echo ""
echo "Environment (production, development, testing, local):"
read ENVIRONMENT
if [ "$ENVIRONMENT" == "local" ]; then
INSTALL_DEVEL=1
fi
sed -i -e s/APP_ENV=/APP_ENV=$ENVIRONMENT/ .env
if [ "$ENVIRONMENT" != "production" ]; then
echo ""
echo "Turn on debugging? [y/N]"
read DEBUG_INPUT
else
DEBUG_INPUT="n"
fi
if [ "$DEBUG_INPUT" == "y" ]; then
sed -i -e s/APP_DEBUG=/APP_DEBUG=true/ .env
else
sed -i -e s/APP_DEBUG=/APP_DEBUG=false/ .env
fi
sed -i -e s/DB_HOST=/DB_HOST=$MYSQL_HOST/ .env
sed -i -e s/DB_USERNAME=/DB_USERNAME=$MYSQL_USER/ .env
sed -i -e s/DB_PASSWORD=/DB_PASSWORD=$MYSQL_PASSWORD/ .env
sed -i -e s/DB_DATABASE=/DB_DATABASE=$MYSQL_DATABASE/ .env
# review config
vim .env
fi
# init database structure
# init, migrate and seed database
php artisan db:init ./database/schema.sql &&
SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < $SCRIPT_PATH/../database/schema.sql
# create autoload files - no matter what
composer dump-autoload
# install dependencies - no matter what
if [ $INSTALL_DEVEL -eq 0 ]; then
composer install --no-dev
else
composer install
fi
php artisan migrate &&
php artisan db:seed &&
touch $DB_INITIALIZED_FILE
@@ -166,32 +227,35 @@ php artisan key:generate
if [ ! -e $THEME_SET_FILE ]; then
echo " --------------------------"
echo " * Theme setup * "
echo " * Template setup * "
echo ""
while [ "$THEME_NAME" == "" ]; do
echo ""
echo "Template name (use any of following): "
for i in $(ls -d resources/views/visitor/*/); do
for i in $(ls -d templates/*/ | grep -v Base); do
basename `echo ${i%%/}`;
done
read THEME_NAME
if [ ! -d resources/views/visitor/$THEME_NAME ]; then
if [ ! -d templates/$THEME_NAME ]; then
echo "Theme $THEME_NAME is not valid. Try again"
THEME_NAME=""
fi
done
# setup theme
php artisan theme:set $THEME_NAME
php artisan template:set $THEME_NAME
# set write perms on published views
for MODULE in `ls resources/views/modules`; do
chmod 0777 resources/views/modules/$MODULE/visitor/$THEME_NAME -R
done
php artisan vendor:publish --tag=module-views --force -n
php artisan vendor:publish --tag=public-assets --force -n
php artisan vendor:publish
# setup permissions on published directories
chmod 0777 public -R
chmod 0777 resources/views/visitor -R
chmod 0777 resources/views/modules -R
echo $THEME_NAME > $THEME_SET_FILE
fi
@@ -221,7 +285,7 @@ echo " -----------------------------------"
echo " * GIT BRANCH *"
echo ""
echo "Create new Git branch? (n for no)"
echo "Create new Git branch? [y/n]"
read NEW_GIT_BRANCH
# create new branch in git