]> BookStack Code Mirror - website/commitdiff
Merge pull request #121 from blogmotion/master
authorDan Brown <redacted>
Tue, 24 May 2022 12:41:51 +0000 (13:41 +0100)
committerGitHub <redacted>
Tue, 24 May 2022 12:41:51 +0000 (13:41 +0100)
French guide upgraded to RHEL based

1  2 
content/docs/admin/installation.md

index ef32301429a0412cb9b92ffc712b45e6f7d3b32c,1ba7398cb94c969e6eae9bd63f4769d16c9b9b3f..4e252c755931fdb4c98616e744f2047ef535f468
@@@ -11,12 -11,10 +11,12 @@@ Below you can find details on how to in
  * [Shared Hosting](#shared)
  * [Manual](#manual)
  * [Docker](#docker)
 +* [Ubuntu 22.04 Script](#ubuntu-2204)
  * [Ubuntu 20.04 Script](#ubuntu-2004)
  * [Ubuntu 18.04 Script](#ubuntu-1804)
 -* [Ubuntu 16.04 Script](#ubuntu-1604)
  * [Community Guides](#community)
 +* [Other Hosting Options](#other)
 +* [High Availability](#ha)
  
  ---
  
  
  BookStack has the following requirements:
  
 -* **PHP** >= 7.2
 -    * For installation and maintenence, you'll need to be able to run `php` from the command line.
 -    * Required Extensions: *OpenSSL, PDO, MBstring, Tokenizer, GD, MySQL, Tidy, SimpleXML & DOM*
 -* **MySQL** >= 5.6
 -    *  Single Database *(All permissions advised since application manages schema)*
 +* **PHP** >= 7.4
 +    * For installation and maintenance, you'll need to be able to run `php` from the command line.
 +    * Required Extensions: *OpenSSL, PDO, MBstring, Tokenizer, GD, MySQL, SimpleXML & DOM*
 +* **MySQL** >= 5.7 or **MariaDB** >= 10.2
 +    * For the storage of BookStack content and data.
 +    * Single Database *(All permissions advised since application manages schema)*
  * **Git Version Control**
 -    * (Not strictly required but helps manage updates)
 -* **[Composer](https://getcomposer.org/)**
 +    * For application of updates when following our standard process.
 +* **[Composer](https://getcomposer.org/)** >= v2.0
 +    * For installation and management of our PHP dependencies.
 +* **A PHP Compatible Webserver**
 +    * For usage with PHP and for serving static files.
  
  ---
  
@@@ -70,10 -64,24 +70,10 @@@ git clone https://github.com/BookStackA
  8. Run `php artisan migrate` to update the database.
  9. Done! You can now login using the default admin details `admin@admin.com` with a password of `password`. You should change these details immediately after logging in for the first time.
  
 -#### URL Rewrite rules
 +#### Webserver Configuration
  
 -**Apache**
 -```apache
 -Options +FollowSymLinks
 -RewriteEngine On
 -
 -RewriteCond %{REQUEST_FILENAME} !-d
 -RewriteCond %{REQUEST_FILENAME} !-f
 -RewriteRule ^ index.php [L]
 -```
 -
 -**Nginx**
 -```nginx
 -location / {
 -    try_files $uri $uri/ /index.php?$query_string;
 -}
 -```
 +- [Example Apache VirtualHost configuration](https://github.com/BookStackApp/devops/blob/main/config/apache/bookstack.conf)
 +- [Example Nginx Server block](https://github.com/BookStackApp/devops/blob/main/config/nginx)
  
  ---
  
@@@ -86,7 -94,7 +86,7 @@@ Community docker setups are available f
  #### LinuxServer.io
  
  * [GitHub Repository](https://github.com/linuxserver/docker-bookstack)
 -* [Docker Hub page](https://hub.docker.com/r/linuxserver/bookstack)
 +* [GitHub container package](https://github.com/linuxserver/docker-bookstack/pkgs/container/bookstack)
  
  #### solidnerd
  
  
  ---
  
 -<a name="ubuntu-2004"></a>
 +<a name="ubuntu-2204"></a>
  
 -## Ubuntu 20.04 Installation Script
 +## Ubuntu 22.04 Installation Script
  
 -A script to install BookStack on a fresh instance of Ubuntu 20.04 is available. This script is ONLY FOR A FRESH OS, It will install Apache, MySQL 8.0 & PHP-7.4 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
 +A script to install BookStack on a fresh instance of Ubuntu 22.04 is available. This script is ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP-8.1 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
  
 -[Link to installation script](https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-20.04.sh)
 +[Link to installation script](https://github.com/BookStackApp/devops/blob/main/scripts/installation-ubuntu-22.04.sh)
  
  #### Running the Script
  
  # Ensure you have read the above information about what this script does before executing these commands.
  
  # Download the script
 -wget https://raw.githubusercontent.com/BookStackApp/devops/master/scripts/installation-ubuntu-20.04.sh
 +wget https://raw.githubusercontent.com/BookStackApp/devops/main/scripts/installation-ubuntu-22.04.sh
  
  # Make it executable
 -chmod a+x installation-ubuntu-20.04.sh
 +chmod a+x installation-ubuntu-22.04.sh
  
  # Run the script with admin permissions
 -sudo ./installation-ubuntu-20.04.sh
 +sudo ./installation-ubuntu-22.04.sh
  ```
  
 +The script will output a log file for debugging within your current working directory when running the script.
 +Permissions for the BookStack installation files & folders will be set based upon the user used to run the script.
  
  ---
  
 -<a name="ubuntu-1804"></a>
 +<a name="ubuntu-2004"></a>
  
 -## Ubuntu 18.04 Installation Script
 +## Ubuntu 20.04 Installation Script
  
 -A script to install BookStack on a fresh instance of Ubuntu 18.04 is available. This script is ONLY FOR A FRESH OS, It will install Apache, MySQL 5.7 & PHP-7.2 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
 +A script to install BookStack on a fresh instance of Ubuntu 20.04 is available. This script is ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP-7.4 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
  
 -[Link to installation script](https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-18.04.sh)
 +[Link to installation script](https://github.com/BookStackApp/devops/blob/main/scripts/installation-ubuntu-20.04.sh)
  
  #### Running the Script
  
  # Ensure you have read the above information about what this script does before executing these commands.
  
  # Download the script
 -wget https://raw.githubusercontent.com/BookStackApp/devops/master/scripts/installation-ubuntu-18.04.sh
 +wget https://raw.githubusercontent.com/BookStackApp/devops/main/scripts/installation-ubuntu-20.04.sh
  
  # Make it executable
 -chmod a+x installation-ubuntu-18.04.sh
 +chmod a+x installation-ubuntu-20.04.sh
  
  # Run the script with admin permissions
 -sudo ./installation-ubuntu-18.04.sh
 +sudo ./installation-ubuntu-20.04.sh
  ```
  
 +
  ---
  
 -<a name="ubuntu-1604"></a>
 +<a name="ubuntu-1804"></a>
  
 -## Ubuntu 16.04 Installation Script
 +## Ubuntu 18.04 Installation Script
  
 -A script to install BookStack on a fresh instance of Ubuntu 16.04 is available. This script is ONLY FOR A FRESH OS, It will install Nginx, MySQL 5.7 & PHP7 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
 +A script to install BookStack on a fresh instance of Ubuntu 18.04 is available. This script is ONLY FOR A FRESH OS, it will install Apache, MySQL 5.7 & PHP-7.4 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
  
 -[Link to installation script](https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-16.04.sh)
 +[Link to installation script](https://github.com/BookStackApp/devops/blob/main/scripts/installation-ubuntu-18.04.sh)
  
  #### Running the Script
  
  # Ensure you have read the above information about what this script does before executing these commands.
  
  # Download the script
 -wget https://raw.githubusercontent.com/BookStackApp/devops/master/scripts/installation-ubuntu-16.04.sh
 +wget https://raw.githubusercontent.com/BookStackApp/devops/main/scripts/installation-ubuntu-18.04.sh
  
  # Make it executable
 -chmod a+x installation-ubuntu-16.04.sh
 +chmod a+x installation-ubuntu-18.04.sh
  
  # Run the script with admin permissions
 -sudo ./installation-ubuntu-16.04.sh
 +sudo ./installation-ubuntu-18.04.sh
  ```
  
  ---
  
  This is a collection of guides created by awesome members of the BookStack community:
  
- * [CentOS 8 Install by Xhark](https://github.com/blogmotion/bm-bookstack-install/blob/master/bookstack-install-centos8.sh) - [french guide](http://blogmotion.fr/internet/bookstack-script-installation-centos-8-18255)
+ * [RHEL 8 Install (Oracle/Alma Linux) by @xhark](https://github.com/blogmotion/bm-bookstack-install/) - [french guide](https://blogmotion.fr/internet/bookstack-script-installation-centos-8-18255)
  * [CentOS 7 Install by Deviant Engineer](https://deviant.engineer/2017/02/bookstack-centos7/)
  * [Fedora 27 Install by Jared Busch](https://mangolassi.it/topic/16471/install-bookstack-on-fedora-27/)
 +* [Debian 11 Install by Othman Alikhan](https://gist.github.com/OthmanEmpire/322f83a77c15dfd1c91a2afe0b6a6fc2)
 +
 +---
 +
 +<a name="other"></a>
 +
 +## Other Hosting Options
 +
 +Below are some alternative platforms and services that can be used to host BookStack. <br>
 +_**Note: These are not tested, vetted nor supported by the official BookStack project in any manner**_.
 +
 +- [Cloudron](https://www.cloudron.io/store/com.bookstackapp.cloudronapp.html) - A solution for running apps on your own server.
 +- [Uberspace](https://lab.uberspace.de/guide_bookstack.html) - A European based hosting provider.
 +- [Home Assistant Community Add-on](https://github.com/hassio-addons/addon-bookstack) - For [Home Assistant](https://www.home-assistant.io/) users.
 +- [Stellar Hosted](https://www.stellarhosted.com/bookstack/) - A European based managed hosting provider.
 +- [alwaysdata](https://www.alwaysdata.com/en/marketplace/bookstack/) - A European based managed hosting provider.
 +- [PikaPods](https://www.pikapods.com/pods?run=bookstack) - Managed open source hosting, EU and US regions available.
 +- [YunoHost](https://install-app.yunohost.org/?app=bookstack)) - A Debian-based distribution that automates personal web server installation.
 +
 +---
 +
 +<a name="ha"></a>
 +
 +## High Availability
 +
 +Some enterprise environments may need to configure a "High Availability" setup of BookStack to include some operational redundancy.
 +**This type of setup is not needed for the vast majority of BookStack instances.**
 +For a "High Availability" BookStack setup you'll likely need to consider the following:
 +
 +- High availability is not something we assure to support. There may be scenarios that will not allow availability.
 +  - For example: The BookStack upgrade process does not assure availability when ran.
 +- Sessions and Cache use the local filesystem by default. 
 +  - The database/memcached/redis options allow sharing across instances.
 +  - [Cache and session options are documented here](/docs/admin/cache-session-config/).
 +- Uploaded files use the local filesystem by default.
 +  - You could instead use S3 or an S3 like storage system for these files.
 +  - Alternatively you could mount/link the used directories to shared locations.
 +  - [Directory locations and storage options are documented here](/docs/admin/upload-config/).
 +- The [theme system](/docs/admin/hacking-bookstack/#theme-system) and [error log](/docs/admin/debugging/) also use the local filesystem.
 +- A simplistic health-check endpoint can be found at the `/status` URI.
 +  - This performs basic checks on subsystems.
 +  - This should return a HTTP error status code (>=400) on any failure otherwise a 200 status code.