If anyone has the error Syntax error or access violation: 1071 Specified key was too long; On 'joint_permission' primary key it would exceed the max number of 1000 characters I fixed it changing the max number of characters for both 'action' and 'entity_type' to 100 This way the combination for the primary key will for sure be under 1000 characters I added $table->string('action', 100)->change(); $table->string('entity_type', 100)->change(); on the migration causing the error: 2020_08_04_111754_drop_joint_permissions_id.php I came here to check on that error and I think even without watching the full tutorial it seems very well organized and well done. Congrats on that and on this amazing project!
Thank you Dan! You have such grace in presenting information. I did the windows install at the same pace as the video. Forget the hiccup towards the end of video, I do make a lot of that, without errors nobody learns anything. :)
The installation did not work for me with the command shell opened from XAMPP. Another try with the command shell opened from the Windows start menu with admin rights and it workes smoothly. Thank you for that video! It is very helpful for testing Bookstack and its features. :)
Thank you so much for the detailed video. Could you help me with an error I am getting? I am trying to edit the HTTPS-hosts.conf file and I keep getting the same error that you got even after making the changes that you did.
I might have another question. I believe the time zone is being displayed incorrectly for me, showing two hours less than it actually is. Where can I adjust this? Could you please help me with this question?
System times are UTC by default. You can alter that by setting an "APP_TIMEZONE" option, for example: APP_TIMEZONE=Europe/Berlin Full timezone list here: www.php.net/manual/en/timezones.php This won't affect existing stored times though, so they main remain out by a couple of hours relative to new entries.
You can use any port you'd prefer. It'll need to be less than 65535, and anything below 1023 can often already be used by other things and sometimes needs more privileges depending on system, so between 1024 and 65535 is usually safe. There's a part in the video later on where the port number is used in apache config, so be sure to also change that.
great tutorial but there is no recommendations for troubleshooting. I got all the way to the php artisan migrate command and was given a sqlstate [hy000] [1045} access denied error that I can't find a solution. I've gone back through this vid . . . FAR to many times but see no missteps. Anyone?
Thanks for the video it worked a treat for me. Is there a way of making the localhost instance of bookstack accessible from another PC on the same network so it can be shared by two users? Thanks.
Happy this was helpful! Yeah, that's possible, but you'll need to standardise on a hostname/IP that will point to the correct location from both systems/users (so your system's local network IP address). This would need to be updated in the apache virtualhost config (ServerName option) and BookStack APP_URL .env option. Also, the other system would need access/visibility to the webserver over the network (so no firewalls blocking anything.)
Could anyone provide the steps required to export bookstack database currently running on Windows machine to allow us to install it on a linux machine? Thanks!!
There's some general guidance here: www.bookstackapp.com/docs/admin/backup-restore/ Although not sure how well these steps might work on this kind of Windows setup. Some commands might only work if using the "shell" accessed via the xampp interface. Could also use the backup command of the System CLI: www.bookstackapp.com/docs/admin/system-cli/ But it's less tested on Windows environments, might have some of the same issues.
I followed the instructions as given, but unfortunately, I have a small problem. I'm trying to access the address ServerIP:8080 from another computer on the network, but unfortunately, no page loads. What am I doing wrong? Can someone please help me?
Does it try to load for ages and never finish? Or do you get redirect (back to localhost or something else other than the IP) when trying to access (check in the URL bar)? If it's loading for ages, ensure you're accessing with "` in front of the URL (and that it's not defaulting to ""). Otherwise, it's generally reflecting a network level issue. Might be that access is blocked by a firewall on the network on the BookStack host. Or that the address does not resolve to the expected maching. If it's redirecting, then you need to use your local IP address in the "APP_URL" option when configuring the ".env" file.
@@BookStackApp Exactly, it loads endlessly, doesn't finish, and then redirects back to localhost:8080, which of course doesn't display a page on the other device. I've temporarily disabled the firewall on the server, but unfortunately without success. In Chrome, there was a message saying that there might be something wrong with the protocol, hmm... I'm really trying to figure out what I can do.
Is there also a way to publish books on the internet after creating them? Because I only find installation tutorials for this local BookStack. What exactly do I need to install to publish BookStack books on the internet (https) after creating them instead of creating them only locally with no way of publishing them?
There is no concept of "Publishing" in BookStack. You could create a publicly accessible instance, but you could not easily "publish" between a private and public instance. Making an instance public to the internet is a matter of general networking. You could make a local windows install such as this publicly accessible on the internet, but it can be quite complicated (Depending on how your ISP provide things) and can have security implications. Typically it's easiest to set up an instance on webserver that's set-up for web access, like a VPS. My video here shows an example process of this: th-cam.com/video/wq78komr9rs/w-d-xo.html
thanks it works excellent, but i dont know how to share the access in my internal network to give access to my coworkers, is any configuration in env file?
There's no easy option within the BookStack config. This is a general networking/webserver level thing to manage. Within the apache config you'd need to user a "ServerName" that's your local network IP. (and restart apache). Then update the "APP_URL" value in the ".env" file file also be using your local IP instead of "localhost". Then you'd also need to make sure that port used (8080 in this video) is open on your Windows firewall. Then others should be able to connect on ":8080"
How to you Copy the .env.example file to .env and fill with your own database and mail details. That is the part were I get stuck at and I wasn't able to generate a key
Hello there, any tips on setting up https for bookstack? We have a windows pki in our domain, but bookstack is my first webserver thing… so I cannot get it to work. Thanks!
I have no idea about Windows PKI, but otherwise all HTTPS configuration would be done in the virtual host file for apache as per normal apache config/processes (Many guides out there, I'd recommend the mozilla TLS configurator to help with this). Only thing that need to be done for BookStack itself is updating the `APP_URL` in the `.env` and run the "Update System URL" command if you have existing content: www.bookstackapp.com/docs/admin/commands/#update-system-url
5:12 Why exactly is this the standard? For cross-platform projects, it is the recommended setting on Unix, not on Windows. And the installation video shows us a Windows installation of Git.
I didn't meant to say that is "the standard", I just meant it as that it would keep line ending the same/standard as per the source. As I said, probably no issue using the other options but I had not checked on any implications of converting line endings across the code-base so I chose the option I did just to be safe to not add another variable.
@@BookStackApp [previous exception] [object] (Illuminate\\View\\ViewException(code: 0): SQLSTATE[HY000] [1044] Access denied for user 'bookstack'@'localhost' to database 'bookstack' (SQL: select * from `users` where `system_name` = public limit 1) (View: C:\\xampp\\htdocs\\bookstack\ esources\\views\\layouts\\base.blade.php) at C:\\xampp\\htdocs\\bookstack\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php:760) [stacktrace]
i feel like such a noob. I constantly get error: mysqli extension is missing, i have no idea i thats bad, and looking up online forums does not help. This was supposed to be an easy: i want to build my own home wiki, and now i just feel awful :/
Don't be too hard on yourself. This isn't really made to be easy for installing like this on Windows, it can be a lot to understand, learn & go through if unfamiliar with web servers and stuff. I'm only confident with this stuff since I've been doing it for over 10 years now. I took me a lot of time to understand this stuff in the early days too. Not sure where you're seeing that error. You could make sure the `mysqli` and `pdo_mysql` extensions are not commented in the `php.ini` file (Which I go to at about 15:13 in this video).
Apache is already running on port 80 & 443 by default. I use an alternative port here specifically to avoid any interference with any of the default apache vhosts (Like phpMyAdmin or the default xampp splash page).
@@BookStackApp As long as you have the trailing slash / for /phpmyadmin/ it will load even with mod_rewrite enabled because phpmyadmin is symlinked to an outside directory
Because this is built completely differently as a server-side-focused application. It might be possible to wrap the requirements to an exe but it's not really worth the initial and continued time & maintenance investment to make that work, especially when usage in local windows environments is really more of an edge case for platform usage. You could also say: This is insane. Why can't I use all of Notion's features for free & entirely within my control?
Because it's not built to be a local desktop/windows application, and I don't want to dedicate a lot of time to specifically target that platform, I'd rather keep the project fairly platform abstract.
If anyone has the error Syntax error or access violation: 1071 Specified key was too long;
On 'joint_permission' primary key it would exceed the max number of 1000 characters
I fixed it changing the max number of characters for both 'action' and 'entity_type' to 100
This way the combination for the primary key will for sure be under 1000 characters
I added
$table->string('action', 100)->change();
$table->string('entity_type', 100)->change();
on the migration causing the error: 2020_08_04_111754_drop_joint_permissions_id.php
I came here to check on that error and I think even without watching the full tutorial it seems very well organized and well done. Congrats on that and on this amazing project!
Thank you Dan! You have such grace in presenting information. I did the windows install at the same pace as the video. Forget the hiccup towards the end of video, I do make a lot of that, without errors nobody learns anything. :)
Very good demo/instructions , very clear and you speak well! thank you
Thanks!
Best Installationtutorial out there on
Thank's a lot Dan!! This was so helpful. Little bit tricky, but after a few additional errors i had to solve, I finally got it to work. Great job.
Thank you Mr.Pinkman
I had an "This site can’t provide a secure connection" error and it was because my .env file was "APP_URL=https" when it needs to be "APP_URL=http:"
love you!
Thank you very much!
The installation did not work for me with the command shell opened from XAMPP.
Another try with the command shell opened from the Windows start menu with admin rights and it workes smoothly.
Thank you for that video!
It is very helpful for testing Bookstack and its features. :)
Thank you. I saw you changed also in the Apache config the Directory path.
Follow the steps in the video, but I encountered an unknown error when trying to open localhost:8080. Is there anywhere I should check?
Thank you so much for the detailed video. Could you help me with an error I am getting? I am trying to edit the HTTPS-hosts.conf file and I keep getting the same error that you got even after making the changes that you did.
I might have another question. I believe the time zone is being displayed incorrectly for me, showing two hours less than it actually is. Where can I adjust this? Could you please help me with this question?
System times are UTC by default.
You can alter that by setting an "APP_TIMEZONE" option, for example:
APP_TIMEZONE=Europe/Berlin
Full timezone list here:
www.php.net/manual/en/timezones.php
This won't affect existing stored times though, so they main remain out by a couple of hours relative to new entries.
@@BookStackApp Thank you very much
11:11 Is it necessary to use port 8080? Or can I use another random number (like 3, 63485, 1698, ...) as well?
You can use any port you'd prefer. It'll need to be less than 65535, and anything below 1023 can often already be used by other things and sometimes needs more privileges depending on system, so between 1024 and 65535 is usually safe. There's a part in the video later on where the port number is used in apache config, so be sure to also change that.
great tutorial but there is no recommendations for troubleshooting. I got all the way to the php artisan migrate command and was given a sqlstate [hy000] [1045} access denied error that I can't find a solution. I've gone back through this vid . . . FAR to many times but see no missteps.
Anyone?
Thanks for the video it worked a treat for me. Is there a way of making the localhost instance of bookstack accessible from another PC on the same network so it can be shared by two users? Thanks.
Happy this was helpful!
Yeah, that's possible, but you'll need to standardise on a hostname/IP that will point to the correct location from both systems/users (so your system's local network IP address).
This would need to be updated in the apache virtualhost config (ServerName option) and BookStack APP_URL .env option.
Also, the other system would need access/visibility to the webserver over the network (so no firewalls blocking anything.)
@@BookStackApp Thanks for getting back to me, all working a treat now from multiple clients.
Thank you.
Could anyone provide the steps required to export bookstack database currently running on Windows machine to allow us to install it on a linux machine? Thanks!!
There's some general guidance here:
www.bookstackapp.com/docs/admin/backup-restore/
Although not sure how well these steps might work on this kind of Windows setup.
Some commands might only work if using the "shell" accessed via the xampp interface.
Could also use the backup command of the System CLI:
www.bookstackapp.com/docs/admin/system-cli/
But it's less tested on Windows environments, might have some of the same issues.
@@BookStackApp not well for a noob like me 😞
I followed the instructions as given, but unfortunately, I have a small problem. I'm trying to access the address ServerIP:8080 from another computer on the network, but unfortunately, no page loads. What am I doing wrong? Can someone please help me?
Does it try to load for ages and never finish? Or do you get redirect (back to localhost or something else other than the IP) when trying to access (check in the URL bar)?
If it's loading for ages, ensure you're accessing with "` in front of the URL (and that it's not defaulting to ""). Otherwise, it's generally reflecting a network level issue. Might be that access is blocked by a firewall on the network on the BookStack host. Or that the address does not resolve to the expected maching.
If it's redirecting, then you need to use your local IP address in the "APP_URL" option when configuring the ".env" file.
@@BookStackApp Exactly, it loads endlessly, doesn't finish, and then redirects back to localhost:8080, which of course doesn't display a page on the other device. I've temporarily disabled the firewall on the server, but unfortunately without success. In Chrome, there was a message saying that there might be something wrong with the protocol, hmm... I'm really trying to figure out what I can do.
@@BookStackApp I would like to sincerely thank you for responding so quickly after such a long time. Thank you very much, everything is working.
Is there also a way to publish books on the internet after creating them? Because I only find installation tutorials for this local BookStack. What exactly do I need to install to publish BookStack books on the internet (https) after creating them instead of creating them only locally with no way of publishing them?
There is no concept of "Publishing" in BookStack.
You could create a publicly accessible instance, but you could not easily "publish" between a private and public instance.
Making an instance public to the internet is a matter of general networking. You could make a local windows install such as this publicly accessible on the internet, but it can be quite complicated (Depending on how your ISP provide things) and can have security implications.
Typically it's easiest to set up an instance on webserver that's set-up for web access, like a VPS. My video here shows an example process of this: th-cam.com/video/wq78komr9rs/w-d-xo.html
thanks it works excellent, but i dont know how to share the access in my internal network to give access to my coworkers, is any configuration in env file?
There's no easy option within the BookStack config.
This is a general networking/webserver level thing to manage.
Within the apache config you'd need to user a "ServerName" that's your local network IP. (and restart apache).
Then update the "APP_URL" value in the ".env" file file also be using your local IP instead of "localhost".
Then you'd also need to make sure that port used (8080 in this video) is open on your Windows firewall.
Then others should be able to connect on ":8080"
@@BookStackApp thanks!!!!
How to you Copy the .env.example file to .env and fill with your own database and mail details. That is the part were I get stuck at and I wasn't able to generate a key
I show the exact process at 18:05 in the video.
Hello there, any tips on setting up https for bookstack? We have a windows pki in our domain, but bookstack is my first webserver thing… so I cannot get it to work. Thanks!
I have no idea about Windows PKI, but otherwise all HTTPS configuration would be done in the virtual host file for apache as per normal apache config/processes (Many guides out there, I'd recommend the mozilla TLS configurator to help with this). Only thing that need to be done for BookStack itself is updating the `APP_URL` in the `.env` and run the "Update System URL" command if you have existing content: www.bookstackapp.com/docs/admin/commands/#update-system-url
5:12
Why exactly is this the standard? For cross-platform projects, it is the recommended setting on Unix, not on Windows. And the installation video shows us a Windows installation of Git.
I didn't meant to say that is "the standard", I just meant it as that it would keep line ending the same/standard as per the source. As I said, probably no issue using the other options but I had not checked on any implications of converting line endings across the code-base so I chose the option I did just to be safe to not add another variable.
22:12:24 [Apache] Port 80 in use by "Unable to open process" with PID 7176!
This indicates that either something else is already serving web content on your machine, or you didn't change the port number as I did at about 28:35
love it.
Got an error message "An unknown error occurred" when I log in for the first time. Help? Windows 11.
Worth checking your error log, or enabling debug view:
www.bookstackapp.com/docs/admin/debugging/#error-log-file
@@BookStackApp [previous exception] [object] (Illuminate\\View\\ViewException(code: 0): SQLSTATE[HY000] [1044] Access denied for user 'bookstack'@'localhost' to database 'bookstack' (SQL: select * from `users` where `system_name` = public limit 1) (View: C:\\xampp\\htdocs\\bookstack\
esources\\views\\layouts\\base.blade.php) at C:\\xampp\\htdocs\\bookstack\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php:760)
[stacktrace]
i feel like such a noob. I constantly get error: mysqli extension is missing, i have no idea i thats bad, and looking up online forums does not help. This was supposed to be an easy: i want to build my own home wiki, and now i just feel awful :/
Don't be too hard on yourself. This isn't really made to be easy for installing like this on Windows, it can be a lot to understand, learn & go through if unfamiliar with web servers and stuff. I'm only confident with this stuff since I've been doing it for over 10 years now. I took me a lot of time to understand this stuff in the early days too.
Not sure where you're seeing that error. You could make sure the `mysqli` and `pdo_mysql` extensions are not commented in the `php.ini` file (Which I go to at about 15:13 in this video).
29:00 you can actually run vhosts on port 80 if you have a domain
Apache is already running on port 80 & 443 by default.
I use an alternative port here specifically to avoid any interference with any of the default apache vhosts (Like phpMyAdmin or the default xampp splash page).
@@BookStackApp As long as you have the trailing slash / for /phpmyadmin/ it will load even with mod_rewrite enabled because phpmyadmin is symlinked to an outside directory
why dont i see css
Most often due to an incorrect "APP_URL" value in your ".env" relative to how you're accessing in browser.
Help me sir I cannot rename .env 18:32, it shows pop up warning message “you must type a filename.”
💕🌷
This is insane.
Why isn't there just an exe download like Notion???
Because this is built completely differently as a server-side-focused application.
It might be possible to wrap the requirements to an exe but it's not really worth the initial and continued time & maintenance investment to make that work, especially when usage in local windows environments is really more of an edge case for platform usage.
You could also say:
This is insane. Why can't I use all of Notion's features for free & entirely within my control?
why can't there just be an exe installer...
Because it's not built to be a local desktop/windows application, and I don't want to dedicate a lot of time to specifically target that platform, I'd rather keep the project fairly platform abstract.
didn't work
okay