Just a note on using the smallest 512MB RAM machine sizes, Modern Ubuntu and MySQL setups have trouble installing and starting on this amount of RAM. You can still make it work but you'd need to add SWAP space before running the install script: Guide: www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04
@@andrewenglish3810 IF you already have a cert you want to use, you'll need to follow the standard ssl cert process for your webserver. By default the script installs apache, so you can search for "Apache TLS configuration" or "Apache HTTPS certificate configuration" for further guidance on that.
@@BookStackApp Whats the best way for setting up email to work? We have 365 and all that is required for us is to point our servers to our local SMTP which sents email along to our 365 server.
@@andrewenglish3810 You can configure 365 SMTP details within the ".env" config file for BookStack. Microsoft does impose additional steps or workarounds for SMTP auth in some scenarios though, depending on settings and type of account used for mail.
Excellent tutorial! I have had many different ideas of possible use cases for bookstack. I will be looking forward to getting it set up so that I can see if any of my ideas bear fruit! Thanks again for a great FOSS project.
This is so cool, thanks for the info. I had installed bookstack with the script, but was unable to find any instructions to make the site https, until I came across your instructions. I would have never known about fixing the .env file. Thanks!!
You saved me a ton of work 😅 . Do you post regularly and have a channel related to this type of stuff. Haven't had time to look beyond the bookstack tutorial. I do a lot of selfhosting.
@@melp57 I generally cover all updates on this channel (www.youtube.com/@BookStackApp) and also have other videos like power-user tips & tricks, project updates, and other types of guides.
Awesome guide, thanks. Quick question before I start install process, this video for Ubuntu which is year old and scripted install is straight forward but then I also watched most recent video on Debian 12 install and the steps shown are not same as Ubuntu you went through quite a few changes just to get the software installed and get the site working, is that due to manual install process vs scripted? or is only meant for Debian?
We specifically build install scripts for Ubuntu server LTS releases, which makes things straightforward. I go through the manual process in the Debian process since we don't provide an official script there (it's also useful for me to have a video following the manual steps as they can be adapted for users of other operating systems easier). If using a Ubuntu 22.04 system, everything in this video should still be relevant.
@@BookStackApp I was reading documentation on update process which mentions required file system permission, do I need to make changes after install is done using the script as you have shown in Debian 12 video or install script take cares of that? or does this apply only if I am updating the BookStack as standard user?
@@nns353 The install script will set some permissions to get the app running, but updating may require different permissions to be set. It all depends on the system user you're using to update the instance. If it helps, there's a little more guidance on filesystem permissions here: www.bookstackapp.com/docs/admin/filesystem-permissions/
Thanks. In regards to performance, probably nothing too noticeable. Since docker adds an additional layer, it may have a slight performance penalty. The main performance issues I've seen with docker come down to configuration and networking. The extra layers involved can introduce bugs with slowing side-affects in certain scenarios, or make issues more possible by having extra networking involved.
@@BookStackApp I'm running proxmox and I'd be running one Ubuntu machines for Docker (nginx, vaultwarden) and probably one for Bookstack seperately. Guess it's a performance impact on the bare metal, but it should still run fine.
@@bootifulghost8624 Yeah, should be fine. Could always move things if needed. I have a setup on proxmox also, I have BookStack in its own Ubuntu LXC container, and them same for many other apps, then I have a dedicated LXC container to just run nginx to route all web traffic (coming in via port 80/443) to my network out to the various containers. I also have an LXC container that runs some docker containers for apps I prefer to run via docker. The same nginx instance is used to route to these also.
Yeah, but it'll probably be a more manual process to create that certificate and update apache with the required HTTPS configuration. Won't be as automated as how cerbot works in this video.
@@BookStackApp Thank you for the swift answer. I know it won't be as automated. My problem is that I have to setup the wiki in a local network without internet access. So I can't setup with Letsencrypt. So I am asking If you can tell me how to do it. I already have setup a local CA and the certificates ready.
I’m having trouble with installing and accessing the GUI of BookStack on both Ubuntu 20.04 and 22.04. I’m using a script for the installation, but the progress seems to get stuck, climbing from 5/9 to 9/9 without completing. I’ve tried reinstalling more than 5 times on a fresh VM for each version, but the issue persists. Could anyone provide support or suggestions on how to overcome this issue? Any help would be greatly appreciated!
So you don't see the other steps? (I'd avoid using 20.04 since it's now quite old and that script doesn't even show the steps in the same way. Focus on 22.04 or ideally 24.04). What kind of system are you installing onto?
If someone is using this manual to install BookStack on local network (or as a VM), don't forget to put DNS record of BookStack server on your client machine, otherwise the page won't load.
Are you sure there's an open route from the browser to the machine running BookStack, using the IP you would have entered at the start? Feel free to use the "help and support" channel of our discord server to share more info about your setup (and ideally the install log) to help debugging.
So...how is this done with self-signed certificates? I have an offline CA at home for my domain and created the CSR, signed everything and even have the key...so how do I enable SSL/HTTPS
In that case you'd have to manually setup your certificate with the Apache web server that would have been installed as part of running the script. Your apache bookstack config will be at /etc/apache2/sites-available/bookstack.conf I've found the mozilla configurator pretty helpful when needing to manually add certs before: ssl-config.mozilla.org/
I got to the end of the "installing bookstack" section of the video, but unfortunately the page that pulls up when I clicked on the URL was a blank white page. I only paid for the domain and droplet about 10 minutes before doing the following steps and also went with the $4 plan since I'm only testing. Should I just wait it out and it needs more time to register on the domain side?
It might need a little more time. Did you perform the steps to point the domain to the droplet IP address? If you go to this website (toolbox.googleapps.com/apps/dig/#A/) and type your domain into the "Name" input then press the "A" button, does it show the droplet IP address under "DATA"?
@@BookStackApp I did perform those steps and I do see that IP address under data. How odd, so perhaps it does need more time. I thought I read somewhere on google that while the TTL says 1 hour, it could really take between 3 - 24 hours perhaps. I hope that is the case. Is what the host name put in relevant? In the video it was put as "wiki" and for me I just put in "bookstack" instead.
@@claytonblack6074 >> Is what the host name put in relevant? Yes, it's very very relevant. The domain used needs to match that which you've pointed to the droplet IP address. For example, if you've entered "bookstack.example.com", and you purchased "example.com" as your domain, you'd need to setup an "A" DNS record for the subdomain "bookstack" pointing to your droplet IP address.
Everything worked just fine as your's through this process but my site never fixed itself like yours did when adding the https cert. If my url in my .env file stays https, the page wont load. But if I change it back to HTTP, it works fine. Any thoughts?
I'm not really sure what you're asking to be honest. Ideally, you'd want a fixed IP at some level, so you have a fixed address you can go to, or a fixed IP to point a domain to. There are some ways around this, but often at additional complexity.
Probably but likely not using this method, since I'd imagine Hestia would have its own kind of web server and there may be other existing conflicting software.
@@isuruliyanage3178 I'm not familiar with Hestia CP so can't really make reccomendations in that regard. It'd probably be a process of somewhat following the manual install steps but the specifics may vary depending on host Hestia works and what it provides, if possible or compatible at all.
Bookstack looks great and I really would like to install. But the installation unfortunately fails for me: Scripts runs through until the end, but in the logs there is a mysql-error: "[ERROR] [MY-010946] [Server] Failed to start mysqld daemon. Check mysqld error log." Checking the mysql error-log I find: 2022-08-10T15:11:14.132121Z 1 [ERROR] [MY-012962] [InnoDB] The redo log file ./#innodb_redo/#ib_redo5 size 2531328 is not a multiple of innodb_page_size. I used a pristine 22.04 in an LXC Container.... Any idea what I did wrong?
Is your LXC container running on ZFS? If so, there are issues with ZFS, LXC, Ubuntu 22.04 and a recent version of mysql. I documented a fix for this scenario on stackoverflow here: stackoverflow.com/a/73200473 I would advise though, if possible, to start from a fresh container using non-ZFS storage. I have seen multiple issues when it comes to ZFS and LXC.
@@BookStackApp Yep, ZFS was the root-cause. Change the disk of the container and now it works like a charm (and indeed it is a great solution). So thank you very much for the 'instant' help. Great Work!
Just a note on using the smallest 512MB RAM machine sizes, Modern Ubuntu and MySQL setups have trouble installing and starting on this amount of RAM.
You can still make it work but you'd need to add SWAP space before running the install script:
Guide: www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04
I have a question for you, what if I don't want to have our bookstack on the internet? How do I add the SSL cert to it if I have a wildcard cert?
@@andrewenglish3810 IF you already have a cert you want to use, you'll need to follow the standard ssl cert process for your webserver.
By default the script installs apache, so you can search for "Apache TLS configuration" or "Apache HTTPS certificate configuration" for further guidance on that.
@@BookStackApp Whats the best way for setting up email to work? We have 365 and all that is required for us is to point our servers to our local SMTP which sents email along to our 365 server.
@@andrewenglish3810 You can configure 365 SMTP details within the ".env" config file for BookStack. Microsoft does impose additional steps or workarounds for SMTP auth in some scenarios though, depending on settings and type of account used for mail.
Excellent tutorial! I have had many different ideas of possible use cases for bookstack. I will be looking forward to getting it set up so that I can see if any of my ideas bear fruit! Thanks again for a great FOSS project.
Thanks for your awesome work, Dan !
This is so cool, thanks for the info. I had installed bookstack with the script, but was unable to find any instructions to make the site https, until I came across your instructions. I would have never known about fixing the .env file. Thanks!!
Good to hear this guide helped!
You saved me a ton of work 😅 . Do you post regularly and have a channel related to this type of stuff. Haven't had time to look beyond the bookstack tutorial. I do a lot of selfhosting.
@@melp57 I generally cover all updates on this channel (www.youtube.com/@BookStackApp) and also have other videos like power-user tips & tricks, project updates, and other types of guides.
Really glad to use this Software thanks a lot man !
Thank you for this !! Awesome video !!
Awesome guide, thanks. Quick question before I start install process, this video for Ubuntu which is year old and scripted install is straight forward but then I also watched most recent video on Debian 12 install and the steps shown are not same as Ubuntu you went through quite a few changes just to get the software installed and get the site working, is that due to manual install process vs scripted? or is only meant for Debian?
We specifically build install scripts for Ubuntu server LTS releases, which makes things straightforward.
I go through the manual process in the Debian process since we don't provide an official script there (it's also useful for me to have a video following the manual steps as they can be adapted for users of other operating systems easier).
If using a Ubuntu 22.04 system, everything in this video should still be relevant.
@@BookStackApp Thank you for your prompt response, now I will go ahead and install it I was waiting on your feedback. Thank you!!
@@BookStackApp I was reading documentation on update process which mentions required file system permission, do I need to make changes after install is done using the script as you have shown in Debian 12 video or install script take cares of that? or does this apply only if I am updating the BookStack as standard user?
@@nns353 The install script will set some permissions to get the app running, but updating may require different permissions to be set. It all depends on the system user you're using to update the instance.
If it helps, there's a little more guidance on filesystem permissions here: www.bookstackapp.com/docs/admin/filesystem-permissions/
Great tutorial, just curious is there a performance difference btw. Docker and a normal Ubuntu install?
Thanks. In regards to performance, probably nothing too noticeable. Since docker adds an additional layer, it may have a slight performance penalty.
The main performance issues I've seen with docker come down to configuration and networking. The extra layers involved can introduce bugs with slowing side-affects in certain scenarios, or make issues more possible by having extra networking involved.
@@BookStackApp I'm running proxmox and I'd be running one Ubuntu machines for Docker (nginx, vaultwarden) and probably one for Bookstack seperately. Guess it's a performance impact on the bare metal, but it should still run fine.
@@bootifulghost8624 Yeah, should be fine. Could always move things if needed.
I have a setup on proxmox also, I have BookStack in its own Ubuntu LXC container, and them same for many other apps, then I have a dedicated LXC container to just run nginx to route all web traffic (coming in via port 80/443) to my network out to the various containers.
I also have an LXC container that runs some docker containers for apps I prefer to run via docker. The same nginx instance is used to route to these also.
Very nice work. Just a question. How can I enable HTTPS with certificates from local pfsense CA instead of Let's encrypt?
Yeah, but it'll probably be a more manual process to create that certificate and update apache with the required HTTPS configuration.
Won't be as automated as how cerbot works in this video.
@@BookStackApp Thank you for the swift answer. I know it won't be as automated. My problem is that I have to setup the wiki in a local network without internet access. So I can't setup with Letsencrypt. So I am asking If you can tell me how to do it. I already have setup a local CA and the certificates ready.
I’m having trouble with installing and accessing the GUI of BookStack on both Ubuntu 20.04 and 22.04. I’m using a script for the installation, but the progress seems to get stuck, climbing from 5/9 to 9/9 without completing. I’ve tried reinstalling more than 5 times on a fresh VM for each version, but the issue persists. Could anyone provide support or suggestions on how to overcome this issue? Any help would be greatly appreciated!
So you don't see the other steps?
(I'd avoid using 20.04 since it's now quite old and that script doesn't even show the steps in the same way. Focus on 22.04 or ideally 24.04).
What kind of system are you installing onto?
If someone is using this manual to install BookStack on local network (or as a VM), don't forget to put DNS record of BookStack server on your client machine, otherwise the page won't load.
How can I add my email for notifications?
I installed just as you did but using local IP, but when I use a browser to go there, "This page isn't working" :(
Are you sure there's an open route from the browser to the machine running BookStack, using the IP you would have entered at the start?
Feel free to use the "help and support" channel of our discord server to share more info about your setup (and ideally the install log) to help debugging.
So...how is this done with self-signed certificates? I have an offline CA at home for my domain and created the CSR, signed everything and even have the key...so how do I enable SSL/HTTPS
In that case you'd have to manually setup your certificate with the Apache web server that would have been installed as part of running the script.
Your apache bookstack config will be at /etc/apache2/sites-available/bookstack.conf
I've found the mozilla configurator pretty helpful when needing to manually add certs before: ssl-config.mozilla.org/
I got to the end of the "installing bookstack" section of the video, but unfortunately the page that pulls up when I clicked on the URL was a blank white page. I only paid for the domain and droplet about 10 minutes before doing the following steps and also went with the $4 plan since I'm only testing. Should I just wait it out and it needs more time to register on the domain side?
It might need a little more time. Did you perform the steps to point the domain to the droplet IP address?
If you go to this website (toolbox.googleapps.com/apps/dig/#A/) and type your domain into the "Name" input then press the "A" button, does it show the droplet IP address under "DATA"?
@@BookStackApp I did perform those steps and I do see that IP address under data. How odd, so perhaps it does need more time. I thought I read somewhere on google that while the TTL says 1 hour, it could really take between 3 - 24 hours perhaps. I hope that is the case. Is what the host name put in relevant? In the video it was put as "wiki" and for me I just put in "bookstack" instead.
@@claytonblack6074
>> Is what the host name put in relevant?
Yes, it's very very relevant. The domain used needs to match that which you've pointed to the droplet IP address.
For example, if you've entered "bookstack.example.com", and you purchased "example.com" as your domain, you'd need to setup an "A" DNS record for the subdomain "bookstack" pointing to your droplet IP address.
Everything worked just fine as your's through this process but my site never fixed itself like yours did when adding the https cert.
If my url in my .env file stays https, the page wont load. But if I change it back to HTTP, it works fine. Any thoughts?
Did it create a `/etc/apache2/sites-available/bookstack-le-ssl.conf` file? (Does that file exist?)
no need to have a fixe IP local on the server ?
I'm not really sure what you're asking to be honest.
Ideally, you'd want a fixed IP at some level, so you have a fixed address you can go to, or a fixed IP to point a domain to.
There are some ways around this, but often at additional complexity.
can I install bookstack when hestia cp installed in the server?
Probably but likely not using this method, since I'd imagine Hestia would have its own kind of web server and there may be other existing conflicting software.
@@BookStackApp what method do you suggest ?
@@isuruliyanage3178 I'm not familiar with Hestia CP so can't really make reccomendations in that regard. It'd probably be a process of somewhat following the manual install steps but the specifics may vary depending on host Hestia works and what it provides, if possible or compatible at all.
🌷💕
I got a WHITESCREEN from a fresh install of ubuntu22.04 and was updated.
Bookstack looks great and I really would like to install. But the installation unfortunately fails for me: Scripts runs through until the end, but in the logs there is a mysql-error: "[ERROR] [MY-010946] [Server] Failed to start mysqld daemon. Check mysqld error log."
Checking the mysql error-log I find: 2022-08-10T15:11:14.132121Z 1 [ERROR] [MY-012962] [InnoDB] The redo log file ./#innodb_redo/#ib_redo5 size 2531328 is not a multiple of innodb_page_size.
I used a pristine 22.04 in an LXC Container.... Any idea what I did wrong?
Is your LXC container running on ZFS? If so, there are issues with ZFS, LXC, Ubuntu 22.04 and a recent version of mysql.
I documented a fix for this scenario on stackoverflow here: stackoverflow.com/a/73200473
I would advise though, if possible, to start from a fresh container using non-ZFS storage. I have seen multiple issues when it comes to ZFS and LXC.
@@BookStackApp Yep, ZFS was the root-cause. Change the disk of the container and now it works like a charm (and indeed it is a great solution). So thank you very much for the 'instant' help. Great Work!