BookStack
A platform to create documentation/wiki content. General information about BookStack can be found at https://www.bookstackapp.com/
Requirements
BookStack has the similar requirements to Laravel. On top of those are some front-end build tools which are only required when developing.
- PHP >= 5.5.9
- OpenSSL PHP Extension
- PDO PHP Extension
- MBstring PHP Extension
- Tokenizer PHP Extension
- MySQL >= 5.6
- Git (Not strictly required but helps manage updates)
- Composer
- Node.js Development Only
- Gulp Development Only
Installation
Ensure the requirements are met before installing.
This project currently uses the release branch of this repository as a stable channel for providing updates.
The installation is currently somewhat complicated. Some PHP/Laravel experience will benefit.
- Clone the release branch of this repository into a folder.
git clone https://github.com/ssddanbrown/BookStack.git --branch release --single-branch
cdinto the application folder and runcomposer install.- Copy the
.env.examplefile to.envand fill with your own database and mail details. - Ensure the
storage&bootstrap/cachefolders are writable by the web server. - In the application root, Run
php artisan key:generateto generate a unique application key. - If not using apache or
.htaccessfiles are disable you will have to create some URL rewrite rules as shown below. - Run
php migrateto update the database. - Done! You can now login using the default admin details
admin@admin.comwith a password ofpassword. It is recommended to change these details directly after first logging in.
URL Rewrite rules
Apache
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Testing
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.
The testing database will also need migrating and seeding beforehand. This can be done with the following commands:
php artisan migrate --database=mysql_testing
php artisan db:seed --class=DummyContentSeeder --database=mysql_testing
Once done you can run phpunit in the application root directory to run all tests.
License
BookStack is provided under the MIT License.