3 A platform to create documentation/wiki content. General information about BookStack can be found at https://www.bookstackapp.com/
8 BookStack has similar requirements to Laravel. On top of those are some front-end build tools which are only required when developing.
11 * OpenSSL PHP Extension
13 * MBstring PHP Extension
14 * Tokenizer PHP Extension
16 * Git (Not strictly required but helps manage updates)
17 * [Composer](https://getcomposer.org/)
18 * [Node.js](https://nodejs.org/en/) **Development Only**
19 * [Gulp](http://gulpjs.com/) **Development Only**
24 Ensure the requirements are met before installing.
26 This project currently uses the `release` branch of this repository as a stable channel for providing updates.
28 The installation is currently somewhat complicated and will be made simpler in future releases. Some PHP/Laravel experience will currently benefit.
30 1. Clone the release branch of this repository into a folder.
33 git clone https://github.com/ssddanbrown/BookStack.git --branch release --single-branch
36 2. `cd` into the application folder and run `composer install`.
37 3. Copy the `.env.example` file to `.env` and fill with your own database and mail details.
38 4. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server.
39 5. In the application root, Run `php artisan key:generate` to generate a unique application key.
40 6. If not using apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below.
41 7. Run `php migrate` to update the database.
42 8. Done! You can now login using the default admin details `admin@admin.com` with a password of `password`. It is recommended to change these details directly after first logging in.
44 #### URL Rewrite rules
48 Options +FollowSymLinks
51 RewriteCond %{REQUEST_FILENAME} !-d
52 RewriteCond %{REQUEST_FILENAME} !-f
53 RewriteRule ^ index.php [L]
59 try_files $uri $uri/ /index.php?$query_string;
65 BookStack has many integration tests that use Laravel's built-in testing capabilities which makes use of PHPUnit. To use you will need PHPUnit installed and accessible via command line. There is a `mysql_testing` database defined within the app config which is what is used by PHPUnit. This database is set with the following database name, user name and password defined as `bookstack-test`. You will have to create that database and credentials before testing.
67 The testing database will also need migrating and seeding beforehand. This can be done with the following commands:
70 php artisan migrate --database=mysql_testing
71 php artisan db:seed --class=DummyContentSeeder --database=mysql_testing
74 Once done you can run `phpunit` in the application root directory to run all tests.
78 BookStack is provided under the MIT License.
82 These are the great projects used to help build BookStack:
84 * [Laravel](http://laravel.com/)
85 * [VueJS](http://vuejs.org/)
86 * [jQuery](https://jquery.com/)
87 * [TinyMCE](https://www.tinymce.com/)
88 * [highlight.js](https://highlightjs.org/)
89 * [jQuery Sortable](https://johnny.github.io/jquery-sortable/)
90 * [Material Design Iconic Font](http://zavoloklom.github.io/material-design-iconic-font/icons.html)
91 * [Dropzone.js](http://www.dropzonejs.com/)
92 * [ZeroClipboard](http://zeroclipboard.org/)