|
0
|
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"
|