Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jebog/dad3b75b85791469e570 to your computer and use it in GitHub Desktop.
Save jebog/dad3b75b85791469e570 to your computer and use it in GitHub Desktop.
#!/bin/bash
myproject='myproject'
mywww='public_html'
# initialize project
composer create-project laravel/laravel $myproject --prefer-dist
cd $myproject
# fix paths to public
for f in server.php storage/framework/compiled.php; do
perl -pi -e "s|/public|/../${mywww}|" $f
done
# this regex needs to be executed every time the vendor code is updated
oldstr="\$this->basePath.DIRECTORY_SEPARATOR.'public'"
newstr="dirname(\$this->basePath).DIRECTORY_SEPARATOR.'${mywww}'"
sed -i '' "s|${oldstr}|${newstr}|" vendor/laravel/framework/src/Illuminate/Foundation/Application.php
# fix path to bootstrap
perl -pi -e "s|/bootstrap|/${myproject}/bootstrap|" public/index.php
# rename the public folder to match hosting providers web root
mv public $mywww
# create a directory for everything except the public directory
mkdir $myproject
# move stuff to app dir
mv {app,bootstrap,config,database,resources,storage,tests,vendor,artisan,.env*,*.js*,*.lock,*.php,*.xml,*.yml} $myproject
# use artisan to remove the compiled app
cd $myproject
php artisan clear-compiled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment