Mercurial > project_setup
comparison make_project.sh @ 0:301eada339a3 draft default tip
initial commit
| author | luka |
|---|---|
| date | Fri, 24 Oct 2025 11:12:00 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:301eada339a3 |
|---|---|
| 1 #!/bin/bash | |
| 2 | |
| 3 DIRECTORY=$1 | |
| 4 CURRENT_USER=$(logname) | |
| 5 WEB_USER=http | |
| 6 | |
| 7 mkdir -p ${DIRECTORY} | |
| 8 | |
| 9 echo Creating Project based from laravel/laravel. | |
| 10 | |
| 11 composer create-project laravel/laravel ${DIRECTORY} | |
| 12 | |
| 13 cd ${DIRECTORY} | |
| 14 | |
| 15 echo Adding repos to composer. | |
| 16 | |
| 17 | |
| 18 repositories=("magicforger" "framework" "auth" "developer") | |
| 19 base_path="/srv/http/packages" | |
| 20 | |
| 21 for repo in "${repositories[@]}"; do | |
| 22 composer config repositories.wizard.$repo path $base_path/$repo | |
| 23 done | |
| 24 | |
| 25 echo Setting base dependencies. | |
| 26 | |
| 27 composer require --dev wizard/magicforger wizard/developer | |
| 28 composer require wizard/framework wizard/auth | |
| 29 | |
| 30 echo Setting up packages | |
| 31 | |
| 32 php artisan auth:install | |
| 33 php artisan vendor:publish --provider="Wizard\\Framework\\FrameworkServiceProvider" --force | |
| 34 php artisan vendor:publish --provider="Wizard\Development\DevelopmentServiceProvider" --force | |
| 35 | |
| 36 | |
| 37 echo Running NPM. | |
| 38 | |
| 39 npm install | |
| 40 npm install -D sass-embedded | |
| 41 npm run build | |
| 42 | |
| 43 | |
| 44 echo Removing all .gitignore files. | |
| 45 | |
| 46 find . -type f -name ".gitignore" ! -path "./vendor/*" -delete | |
| 47 | |
| 48 | |
| 49 echo Setting file ownership and permissions. | |
| 50 touch storage/logs/laravel.log | |
| 51 | |
| 52 sudo chown $CURRENT_USER:$WEB_USER -R ./* | |
| 53 sudo chown $CURRENT_USER:$WEB_USER -R ./.* | |
| 54 chmod 775 -R storage | |
| 55 | |
| 56 | |
| 57 # Make a mariadb for the app | |
| 58 DB_NAME="${DIRECTORY}" | |
| 59 DB_USER="${DB_NAME}_user" | |
| 60 DB_PASS="${DB_NAME}_pass" | |
| 61 | |
| 62 # Create the database | |
| 63 sudo mariadb -u root -p -e "CREATE DATABASE ${DB_NAME};" | |
| 64 | |
| 65 # Make a db user and password | |
| 66 sudo mariadb -u root -p -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';" | |
| 67 sudo mariadb -u root -p -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';" | |
| 68 sudo mariadb -u root -p -e "FLUSH PRIVILEGES;" | |
| 69 | |
| 70 # Update the .env for this info | |
| 71 sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=mariadb/" .env | |
| 72 sed -i "s/# DB_/DB_/" .env | |
| 73 sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_NAME}/" .env | |
| 74 sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USER}/" .env | |
| 75 sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASS}/" .env | |
| 76 sed -i "s/SESSION_DRIVER=.*/SESSION_DRIVER=database/" .env | |
| 77 # Remove un-necessary variables | |
| 78 sed -i '/^REDIS_/d' .env | |
| 79 sed -i '/^AWS_/d' .env | |
| 80 | |
| 81 php artisan config:clear | |
| 82 php artisan config:cache | |
| 83 | |
| 84 php artisan migrate:fresh | |
| 85 hg init | |
| 86 hg addremove | |
| 87 hg commit -m"Initial Commit and package setup" |
