| 
				
					
						
							 | 
			||
|---|---|---|
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| public | ||
| resources | ||
| storage | ||
| tests | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| artisan | ||
| composer.json | ||
| composer.lock | ||
| gulpfile.js | ||
| package.json | ||
| phpspec.yml | ||
| phpunit.xml | ||
| readme.md | ||
| server.php | ||
		
			
				
				readme.md
			
		
		
			
			
		
	
	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.