3 A platform to create documentation/wiki content. General information about BookStack can be found at https://www.bookstackapp.com/
5 **BookStack is currently in rapid development so use now is heavily cautioned as future updates my break existing installations.**
9 BookStack has the similar requirements to Laravel. On top of those are some front-end build tools which the requirement of will be removed once out of beta release.
12 * OpenSSL PHP Extension
14 * Mbstring PHP Extension
15 * Tokenizer PHP Extension
17 * [Composer](https://getcomposer.org/)
18 * [Node.js](https://nodejs.org/en/) **To be removed in future**
19 * [Bower](http://bower.io/) **To be removed in future**
20 * [Gulp](http://gulpjs.com/) **To be removed in future**
25 Ensure the requirements are met before installing.
27 The installation is currently somewhat complicated. Some PHP/Laravel experience will benefit. This will be streamlined in the future.
29 1. Clone the repository into a folder.
30 2. `cd` into folder and run `composer install` followed by `npm install` and `bower install`.
31 3. Run `gulp --production` to compile the JavaScript and css files.
32 4. Copy the `.env.example` file to `.env` and fill with your own database and mail details.
33 5. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server.
34 5. In the application root, Run `php artisan key:generate` to generate a unique application key.
35 6. If not using apache or `.htaccess` files are disable you will have to create some URL rewrite rules as shown below.
36 7. Run `php migrate` to update the database.
37 8. Done! You can now login using the default admin details `
[email protected]` with a password of `password`. It is recommended to change these details directly after first logging in.
39 #### URL Rewrite rules
43 Options +FollowSymLinks
46 RewriteCond %{REQUEST_FILENAME} !-d
47 RewriteCond %{REQUEST_FILENAME} !-f
48 RewriteRule ^ index.php [L]
54 try_files $uri $uri/ /index.php?$query_string;
60 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.
62 The testing database will also need migrating and seeding beforehand. This can be done with the following commands:
65 php artisan migrate --database=mysql_testing
66 php artisan db:seed --class=DummyContentSeeder --database=mysql_testing
69 Once done you can run `phpunit` in the application root directory to run all tests.
73 BookStack is provided under the MIT License.