changeset 0:301eada339a3 draft default tip

initial commit
author luka
date Fri, 24 Oct 2025 11:12:00 -0400
parents
children
files make_project.sh
diffstat 1 files changed, 87 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make_project.sh	Fri Oct 24 11:12:00 2025 -0400
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+DIRECTORY=$1
+CURRENT_USER=$(logname)
+WEB_USER=http
+
+mkdir -p ${DIRECTORY}
+
+echo Creating Project based from laravel/laravel.
+
+composer create-project laravel/laravel ${DIRECTORY}
+
+cd ${DIRECTORY}
+
+echo Adding repos to composer.
+
+
+repositories=("magicforger" "framework" "auth" "developer")
+base_path="/srv/http/packages"
+
+for repo in "${repositories[@]}"; do
+  composer config repositories.wizard.$repo path $base_path/$repo
+done
+
+echo Setting base dependencies.
+
+composer require --dev wizard/magicforger wizard/developer
+composer require wizard/framework wizard/auth
+
+echo Setting up packages
+
+php artisan auth:install 
+php artisan vendor:publish --provider="Wizard\\Framework\\FrameworkServiceProvider" --force
+php artisan vendor:publish --provider="Wizard\Development\DevelopmentServiceProvider" --force
+
+
+echo Running NPM.
+
+npm install
+npm install -D sass-embedded
+npm run build
+
+
+echo Removing all .gitignore files.
+
+find . -type f -name ".gitignore" ! -path "./vendor/*" -delete
+
+
+echo Setting file ownership and permissions.
+touch storage/logs/laravel.log
+
+sudo chown $CURRENT_USER:$WEB_USER -R ./*
+sudo chown $CURRENT_USER:$WEB_USER -R ./.*
+chmod 775 -R storage
+
+
+# Make a mariadb for the app
+DB_NAME="${DIRECTORY}"
+DB_USER="${DB_NAME}_user"
+DB_PASS="${DB_NAME}_pass"
+
+# Create the database
+sudo mariadb -u root -p -e "CREATE DATABASE ${DB_NAME};"
+
+# Make a db user and password
+sudo mariadb -u root -p -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
+sudo mariadb -u root -p -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';"
+sudo mariadb -u root -p -e "FLUSH PRIVILEGES;"
+
+# Update the .env for this info
+sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=mariadb/" .env
+sed -i "s/# DB_/DB_/" .env
+sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_NAME}/" .env
+sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USER}/" .env
+sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASS}/" .env
+sed -i "s/SESSION_DRIVER=.*/SESSION_DRIVER=database/" .env
+# Remove un-necessary variables
+sed -i '/^REDIS_/d' .env
+sed -i '/^AWS_/d' .env
+
+php artisan config:clear
+php artisan config:cache
+
+php artisan migrate:fresh
+hg init
+hg addremove
+hg commit -m"Initial Commit and package setup"