Ubuntu 20.04 Full Support #1685

Closed
opened 2026-02-05 01:36:48 +03:00 by OVERLORD · 14 comments
Owner

Originally created by @angelos-alexiou on GitHub (Apr 27, 2020).

Describe the bug
Empty Bookstack webpage on a fresh Ubuntu 20.04 Server Installation after importing (v0.29) database and files.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Create an Ubuntu Server with 20.04 LTS
  2. Download the installation script and make changes so that is uses php7.4 and mysql-server-8.0
  3. Restart the server.
  4. Export database and files from an existing v0.29 Ubuntu 18.04 installation and import them into the new system.
  5. Restart the server (just in case...)

Expected behavior
The login page expects the defaults ("admin@admin.com" & "password") in order to login. After that, there is no data, just an empty Bookstack.

Your Configuration:

  • Exact BookStack Version (Found in settings): v0.29
  • PHP Version: 8.0
  • Hosting Method (Nginx/Apache/Docker): Apache

Any ideas / workarounds?

Originally created by @angelos-alexiou on GitHub (Apr 27, 2020). **Describe the bug** Empty Bookstack webpage on a fresh Ubuntu 20.04 Server Installation after importing (v0.29) database and files. **Steps To Reproduce** Steps to reproduce the behavior: 1. Create an Ubuntu Server with 20.04 LTS 2. Download the installation script and make changes so that is uses php7.4 and mysql-server-8.0 3. Restart the server. 4. Export database and files from an existing v0.29 Ubuntu 18.04 installation and import them into the new system. 5. Restart the server (just in case...) **Expected behavior** The login page expects the defaults ("admin@admin.com" & "password") in order to login. After that, there is no data, just an empty Bookstack. **Your Configuration:** - Exact BookStack Version (Found in settings): v0.29 - PHP Version: 8.0 - Hosting Method (Nginx/Apache/Docker): Apache Any ideas / workarounds?
OVERLORD added the 🐕 Support label 2026-02-05 01:36:48 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Apr 28, 2020):

Hi @angelos-alexiou,
Sorry to hear you're having some trouble with this.

You mention downloading an install script and making changes. We do have a script for Ubuntu20.04 here: https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-20.04.sh

Does new new BookStack install work correctly, even though it has no content? What actions are you performing on step 4, to import the database into the new system?

@ssddanbrown commented on GitHub (Apr 28, 2020): Hi @angelos-alexiou, Sorry to hear you're having some trouble with this. You mention downloading an install script and making changes. We do have a script for Ubuntu20.04 here: https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-20.04.sh Does new new BookStack install work correctly, even though it has no content? What actions are you performing on step 4, to import the database into the new system?
Author
Owner

@angelos-alexiou commented on GitHub (Apr 28, 2020):

Thanks @ssddanbrown for your immediate reply.

So, I try the new script as you mention above in a new machine. Here are my results:

  1. Installation process = No issues
  2. Import the database and files into the new system = No issues
  3. Restart the machine and go to the webpage = Nothing appears on the webpage!

And to answer your question above, I'm not sure if I'm using a wrong method of importing database & files for the Ubuntu 20.04. According to the documentation I use the followings (which work flawless in another Ubuntu 18.04 backup machine):

Importing SQL:
mysql -u bookstack -p bookstack < bookstack.backup.user.sql
and then I enter my DB password

Importing Files:
sudo mv bookstack.files.backup.tar.gz /var/www/bookstack
cd /var/www/bookstack
sudo tar -xvzf bookstack.files.backup.tar.gz
sudo chown www-data:www-data -R bootstrap/cache public/uploads storage && sudo chmod -R 755 bootstrap/cache public/uploads storage

What am I doing wrong? Or is it that Ubuntu 20.04 (new php / mysql versions) needs an additional step(s)? Let me know what you think...

@angelos-alexiou commented on GitHub (Apr 28, 2020): Thanks @ssddanbrown for your immediate reply. So, I try the new script as you mention above in a new machine. Here are my results: 1. Installation process = No issues 2. Import the database and files into the new system = No issues 3. Restart the machine and go to the webpage = **Nothing appears on the webpage!** And to answer your question above, I'm not sure if I'm using a wrong method of importing database & files for the Ubuntu 20.04. According to the documentation I use the followings (which work flawless in another Ubuntu 18.04 backup machine): **Importing SQL:** `mysql -u bookstack -p bookstack < bookstack.backup.user.sql` _and then I enter my DB password_ **Importing Files:** `sudo mv bookstack.files.backup.tar.gz /var/www/bookstack` `cd /var/www/bookstack` `sudo tar -xvzf bookstack.files.backup.tar.gz` `sudo chown www-data:www-data -R bootstrap/cache public/uploads storage && sudo chmod -R 755 bootstrap/cache public/uploads storage` What am I doing wrong? Or is it that Ubuntu 20.04 (new php / mysql versions) needs an additional step(s)? Let me know what you think...
Author
Owner

@ssddanbrown commented on GitHub (Apr 29, 2020):

@angelos-alexiou Thanks for the extra info.

If the same process worked for Ubuntu 20.04 then this could be down to MySQL8 being troublesome. Are you creating a MySQL user yourself at any point? If so you need to specifcy the authentication type to work with BookStack I think like so:

CREATE USER 'bookstack'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'

otherwise it's hard to tell. What white screen appears? Completely blank or mostly white with a message on it?

Otherwise you should be able to check the following logs for any clues:

  • storage/logs/laravel.log
  • /var/log/apache2/error.log
@ssddanbrown commented on GitHub (Apr 29, 2020): @angelos-alexiou Thanks for the extra info. If the same process worked for Ubuntu 20.04 then this could be down to MySQL8 being troublesome. Are you creating a MySQL user yourself at any point? If so you need to specifcy the authentication type to work with BookStack I think like so: ``` CREATE USER 'bookstack'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>' ``` otherwise it's hard to tell. What white screen appears? Completely blank or mostly white with a message on it? Otherwise you should be able to check the following logs for any clues: * `storage/logs/laravel.log` * `/var/log/apache2/error.log`
Author
Owner

@Tzeenchist commented on GitHub (Apr 29, 2020):

@angelos-alexiou

  • PHP Version: 8.0

Most likely, your question already contains an answer. Before installing, I recommend trying to remove the РHP8.

I installed it a couple of days ago in manual mode, there were no problems (Ubuntu 20.04, Nginx, PHP7.4, MariaDB)

@Tzeenchist commented on GitHub (Apr 29, 2020): @angelos-alexiou > * PHP Version: 8.0 Most likely, your question already contains an answer. Before installing, I recommend trying to remove the **РHP8**. I installed it a couple of days ago in manual mode, there were no problems (Ubuntu 20.04, Nginx, PHP7.4, MariaDB)
Author
Owner

@angelos-alexiou commented on GitHub (Apr 29, 2020):

@ssddanbrown: Thanks for the tips!

@Tzeenchist: Interesting fact for PHP v8.0...!!! Do you use any script or just copy/paste from "your notes"?

@ssddanbrown & @Tzeenchist: It seems that I need to investigate deeper this issue...

@ALL: I wonder how this will affect the project in the long run!! What will happen (for example) next year if someone sets up a new VPS using Ubuntu 20.04 & PHP8 and migrate data from an old setup? I guess that's my point of the issue "Ubuntu 20.04 Full Support". Is it possible to "automate" that process? If the project is packaged as snap, could solve these kind of issues?

@angelos-alexiou commented on GitHub (Apr 29, 2020): @ssddanbrown: Thanks for the tips! @Tzeenchist: Interesting fact for PHP v8.0...!!! Do you use any script or just copy/paste from "your notes"? @ssddanbrown & @Tzeenchist: It seems that I need to investigate deeper this issue... @ALL: I wonder how this will affect the project in the long run!! What will happen (for example) next year if someone sets up a new VPS using Ubuntu 20.04 & PHP8 and migrate data from an old setup? I guess that's my point of the issue "Ubuntu 20.04 Full Support". Is it possible to "automate" that process? If the project is packaged as snap, could solve these kind of issues?
Author
Owner

@Tzeenchist commented on GitHub (Apr 30, 2020):

@angelos-alexiou

@ALL: I wonder how this will affect the project in the long run!! What will happen (for example) next year if someone sets up a new VPS using Ubuntu 20.04 & PHP8 and migrate data from an old setup? I guess that's my point of the issue "Ubuntu 20.04 Full Support". Is it possible to "automate" that process? If the project is packaged as snap, could solve these kind of issues?

  1. Currently Supported Versions PHP
  2. Not all VPS providers with Ubuntu come with integrated PHP. My provider supplies clear Ubuntu 20.04 LTS without php, nginx, apache... Thus, I am hinting that PHP8 is not a required package. So your problem is private.
  3. I hope you already guessed that the full support for Ubunt 20.04 is not the same, that the full support for PHP8. Please do not confuse these two concepts. Tnx.
@Tzeenchist commented on GitHub (Apr 30, 2020): @angelos-alexiou > @ALL: I wonder how this will affect the project in the long run!! What will happen (for example) next year if someone sets up a new VPS using Ubuntu 20.04 & PHP8 and migrate data from an old setup? I guess that's my point of the issue "Ubuntu 20.04 Full Support". Is it possible to "automate" that process? If the project is packaged as snap, could solve these kind of issues? 1. [Currently Supported Versions PHP](https://www.php.net/supported-versions.php) 2. Not all VPS providers with Ubuntu come with integrated PHP. My provider supplies clear Ubuntu 20.04 LTS without php, nginx, apache... Thus, I am hinting that PHP8 is not a required package. So your problem is private. 3. I hope you already guessed that the full support for Ubunt 20.04 is not the same, that the full support for PHP8. Please do not confuse these two concepts. Tnx.
Author
Owner

@angelos-alexiou commented on GitHub (Apr 30, 2020):

@Tzeenchist:

  1. Thanks for the link; quite useful!! However, this means that in every year a branch of PHP will be dropped and eventually we will end up in PHP8, where (at the moment) we have some issues!
  2. My provider also supplies me with the same "clear Ubuntu" as you've said. Not problem here!
  3. With the phrase "Ubuntu 20.04 Full Support" I mean that Bookstackapp will be functional, reliable and secured (at least) until April 2025, whatever happens to the underline technologies (PHP, Apache/Nginx, MySQL, etc).
  4. What do you think about snaps?
@angelos-alexiou commented on GitHub (Apr 30, 2020): @Tzeenchist: 1. Thanks for the link; quite useful!! However, this means that in every year a branch of PHP will be dropped and eventually we will end up in PHP8, where (at the moment) we have some issues! 2. My provider also supplies me with the same "clear Ubuntu" as you've said. Not problem here! 3. With the phrase "_Ubuntu 20.04 Full Support_" I mean that Bookstackapp will be functional, reliable and secured (at least) until April 2025, whatever happens to the underline technologies (PHP, Apache/Nginx, MySQL, etc). 4. What do you think about snaps?
Author
Owner

@ssddanbrown commented on GitHub (May 1, 2020):

@angelos-alexiou

Are you sure you're running PHP8? It's not even in alpha release until next month.

With the phrase "Ubuntu 20.04 Full Support" I mean that Bookstackapp will be functional, reliable and secured (at least) until April 2025, whatever happens to the underline technologies (PHP, Apache/Nginx, MySQL, etc).

We won't be supporting Ubuntu specifically for the lifetime of a release, Generally the required PHP version for BookStack will move quicker than the default PHP versions on the Ubuntu LTS releases. That said you'll often still get by using the PHP PPA from Ondřej Surý. For Ubuntu LTS releases within reasonable range (That we have install scripts for) we'll generally advise of breaking changes in the update docs. Databases & web-servers evolve at a slower pace so are not usually an issue.

At the end of the day, this project is mostly maintained by myself in my free time, with community support. I could die tonight and any official support would end pretty abruptly, unless someone forks the project and commits to maintaining the fork.

What do you think about snaps?

I've actually had a dig into this recently. I like the idea but it'd be a surprising amount of effort required to maintain it in a way that ensure's it's secure. Plus I still feel the overall community is split on snaps, with a generally dislike, and it's mainly focused on Ubuntu (Although I know some level of support is there for other distros). Stepping back, I felt like docker achieves pretty much the same goal for something like BookStack but with wider support, Although I understand a snap could be easier for those without docker experience.

@ssddanbrown commented on GitHub (May 1, 2020): @angelos-alexiou Are you sure you're running PHP8? [It's not even in alpha release until next month](https://wiki.php.net/todo/php80). > With the phrase "Ubuntu 20.04 Full Support" I mean that Bookstackapp will be functional, reliable and secured (at least) until April 2025, whatever happens to the underline technologies (PHP, Apache/Nginx, MySQL, etc). We won't be supporting Ubuntu specifically for the lifetime of a release, Generally the required PHP version for BookStack will move quicker than the default PHP versions on the Ubuntu LTS releases. That said you'll often still get by using the [PHP PPA from Ondřej Surý](https://launchpad.net/~ondrej/+archive/ubuntu/php). For Ubuntu LTS releases within reasonable range (That we have install scripts for) we'll generally advise of breaking changes in the update docs. Databases & web-servers evolve at a slower pace so are not usually an issue. At the end of the day, this project is mostly maintained by myself in my free time, with community support. I could die tonight and any official support would end pretty abruptly, unless someone forks the project and commits to maintaining the fork. > What do you think about snaps? I've actually had a dig into this recently. I like the idea but it'd be a surprising amount of effort required to maintain it in a way that ensure's it's secure. Plus I still feel the overall community is split on snaps, with a generally dislike, and it's mainly focused on Ubuntu (Although I know some level of support is there for other distros). Stepping back, I felt like docker achieves pretty much the same goal for something like BookStack but with wider support, Although I understand a snap could be easier for those without docker experience.
Author
Owner

@Tzeenchist commented on GitHub (May 2, 2020):

@ssddanbrown

At the end of the day, this project is mostly maintained by myself in my free time, with community support. I could die tonight and any official support would end pretty abruptly, unless someone forks the project and commits to maintaining the fork.

Such words scare more than the most terrible horror films. May your health be strong!

@Tzeenchist commented on GitHub (May 2, 2020): @ssddanbrown > At the end of the day, this project is mostly maintained by myself in my free time, with community support. I could die tonight and any official support would end pretty abruptly, unless someone forks the project and commits to maintaining the fork. Such words scare more than the most terrible horror films. May your health be strong!
Author
Owner

@angelos-alexiou commented on GitHub (May 3, 2020):

@ssddanbrown:

That said you'll often still get by using the PHP PPA from Ondřej Surý. For Ubuntu LTS releases within reasonable range (That we have install scripts for) we'll generally advise of breaking changes in the update docs. Databases & web-servers evolve at a slower pace so are not usually an issue. <

That's great!! 😃

As for your comments on Snaps, hey you are the leader (with all the help you get from the other contributors), so you (and others) will make necessary decisions for the project.

At the end of the day, this project is mostly maintained by myself in my free time, with community support.

Besides time, what else you will need to keep it running? I would really like to help but I think my (programming) skills are limited for this project. I can help (if needed) with the translation into Greek language and try different things (testings, etc).

@angelos-alexiou commented on GitHub (May 3, 2020): @ssddanbrown: > That said you'll often still get by using the PHP PPA from Ondřej Surý. For Ubuntu LTS releases within reasonable range (That we have install scripts for) we'll generally advise of breaking changes in the update docs. Databases & web-servers evolve at a slower pace so are not usually an issue. < That's great!! :smiley: As for your comments on Snaps, hey you are the leader (_with all the help you get from the other contributors_), so you (_and others_) will make necessary decisions for the project. > At the end of the day, this project is mostly maintained by myself in my free time, with community support. Besides time, what else you will need to keep it running? I would really like to help but I think my (programming) skills are limited for this project. I can help (if needed) with the translation into Greek language and try different things (testings, etc).
Author
Owner

@angelos-alexiou commented on GitHub (May 3, 2020):

@All: Back to the issue... I have some updates:

I've setup a new (test) server in order to re-check everything, taking into account all of the above comments.

So I:

  • Created an Ubuntu Server with 20.04 LTS
  • Updated and restart the server
  • Install Bookstack with the Ubuntu Server 20.04 script
  • Restart the server (just in case!)
  • Visit website to see that everything works according to the defaults (email, password, etc)
  • Export database and files from an another v0.29 Ubuntu Server 18.04 and import them into the new system
  • Restart the server (just in case!)
  • Re-visit the website to see that everything had being restored.
  • EVERYTHING WORKS! :)

My Configuration:

  • O/S: Ubuntu Server 20.04 LTS
  • Exact BookStack Version: v0.29.2
  • PHP Version: 7.4.3
  • Hosting Method (Nginx/Apache/Docker): Apache

I've said in the beginning that I've made some changes into the installation script (besides changing the default mechanism for creating a D/B password); that might be the root to my issue as described above.

Anyway, thanks for the comments and the support!!

@angelos-alexiou commented on GitHub (May 3, 2020): **@All**: Back to the issue... I have some updates: I've setup a new (test) server in order to re-check everything, taking into account all of the above comments. So I: - Created an Ubuntu Server with 20.04 LTS - Updated and restart the server - Install Bookstack with the Ubuntu Server 20.04 script - Restart the server (just in case!) - Visit website to see that everything works according to the defaults (email, password, etc) - Export database and files from an another v0.29 Ubuntu Server 18.04 and import them into the new system - Restart the server (just in case!) - Re-visit the website to see that everything had being restored. - **EVERYTHING WORKS!** :) **My Configuration:** - O/S: Ubuntu Server 20.04 LTS - Exact BookStack Version: v0.29.2 - PHP Version: 7.4.3 - Hosting Method (Nginx/Apache/Docker): Apache I've said in the beginning that I've made some changes into the installation script (besides changing the default mechanism for creating a D/B password); that might be the root to my issue as described above. Anyway, thanks for the comments and the support!!
Author
Owner

@ssddanbrown commented on GitHub (Jul 11, 2020):

Great to read that you got this working. Will therefore close this off.

@ssddanbrown commented on GitHub (Jul 11, 2020): Great to read that you got this working. Will therefore close this off.
Author
Owner

@jsreynolds commented on GitHub (Jul 29, 2020):

I wanted to add that I just went from 18.04 to 20.04 using an in-place upgrade. I am using Nginx instead of Apache. I had all the latest updates on 18.04.

My experience was that running the composer install and migrate commands off of the update page in documentation provided me with PHP extensions I needed to install. Unfortunately that didn't key me in to the remaining things I needed to install. I then reviewed the Ubuntu 20.04 install script provided, and picked out a few of the components I might be missing from the apt install line. After doing that, restarting php-fpm and nginx, things are working just fine again.

Great stuff - I really love the app, and getting another 5 or so years without having to futz about with stuff again is a godsend. All my upgrades of Bookstack have gone perfectly since day one. Thanks for all you do.

@jsreynolds commented on GitHub (Jul 29, 2020): I wanted to add that I just went from 18.04 to 20.04 using an in-place upgrade. I am using Nginx instead of Apache. I had all the latest updates on 18.04. My experience was that running the composer install and migrate commands off of the update page in documentation provided me with PHP extensions I needed to install. Unfortunately that didn't key me in to the remaining things I needed to install. I then reviewed the Ubuntu 20.04 install script provided, and picked out a few of the components I might be missing from the apt install line. After doing that, restarting php-fpm and nginx, things are working just fine again. Great stuff - I really love the app, and getting another 5 or so years without having to futz about with stuff again is a godsend. All my upgrades of Bookstack have gone perfectly since day one. Thanks for all you do.
Author
Owner

@ssddanbrown commented on GitHub (Jul 29, 2020):

@jsreynolds that's awesome to hear, thanks for the feedback. I spend a fair amount of effort to ensure a relatively smooth upgrade path so it's wonderful to hear the work pays off.

@ssddanbrown commented on GitHub (Jul 29, 2020): @jsreynolds that's awesome to hear, thanks for the feedback. I spend a fair amount of effort to ensure a relatively smooth upgrade path so it's wonderful to hear the work pays off.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#1685