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