From e87db96fc07302ab72ce60aa5e4414beb582c612 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Tue, 2 Feb 2016 07:34:48 +0000 Subject: [PATCH] Updated folder permissions installation instructions & fixed issue with handling image saving on user creation --- app/Services/ImageService.php | 9 ++++++--- readme.md | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/Services/ImageService.php b/app/Services/ImageService.php index 0a4ef8849..9d8aeea51 100644 --- a/app/Services/ImageService.php +++ b/app/Services/ImageService.php @@ -3,6 +3,7 @@ use BookStack\Exceptions\ImageUploadException; use BookStack\Image; use BookStack\User; +use Exception; use Intervention\Image\ImageManager; use Illuminate\Contracts\Filesystem\Factory as FileSystem; use Illuminate\Contracts\Filesystem\Filesystem as FileSystemInstance; @@ -88,9 +89,11 @@ class ImageService } $fullPath = $imagePath . $imageName; - if(!is_writable(dirname(public_path($fullPath)))) throw new ImageUploadException('Image Directory ' . public_path($fullPath) . ' is not writable by the server.'); - - $storage->put($fullPath, $imageData); + try { + $storage->put($fullPath, $imageData); + } catch (Exception $e) { + throw new ImageUploadException('Image Path ' . $fullPath . ' is not writable by the server.'); + } $imageDetails = [ 'name' => $imageName, diff --git a/readme.md b/readme.md index 5483404b2..b2f909efb 100644 --- a/readme.md +++ b/readme.md @@ -47,7 +47,7 @@ git clone https://github.com/ssddanbrown/BookStack.git --branch release --single 2. `cd` into the application folder and run `composer install`. 3. Copy the `.env.example` file to `.env` and fill with your own database and mail details. -4. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server. +4. Ensure the `storage`, `bootstrap/cache` & `public/uploads` folders are writable by the web server. 5. In the application root, Run `php artisan key:generate` to generate a unique application key. 6. If not using apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below. 7. Run `php artisan migrate` to update the database.