Cómo instalar BookStack en Ubuntu 18.04 LTS

BookStack es una plataforma de gestión del conocimiento gratuita y de código abierto que puede utilizarse para crear contenido de documentación y wikis para tus usuarios. BookStack está escrito en lenguaje PHP y utiliza el framework web Laravel. BookStack te permite configurar BookStack según tus necesidades como, por ejemplo, cambiar el nombre, el logotipo y las opciones de registro. BookStack proporciona un montón de características tales como, soporte multi-idioma, editor Markdown, personalizable, con capacidad de búsqueda, interfaz WYSIWYG, gestión de roles y permisos, autenticación integrada y muchos más.

En este tutorial, aprenderemos a instalar Bookstack con Apache en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Un usuario no root con privilegios sudo.

Cómo empezar

Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

sudo apt-get update -y
sudo apt-get upgrade -y

Una vez actualizado tu sistema, reinicia el sistema para aplicar los cambios.

Instalar el servidor LAMP

En primer lugar, tendrás que instalar el servidor web Apache, el servidor MariaDB, PHP y otros módulos PHP en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-tidy php7.2-zip unzip wget git -y

Una vez instalados todos los paquetes, abre el archivo php.ini y realiza algunos cambios:

sudo nano /etc/php/7.2/apache2/php.ini

Haz los siguientes cambios:

memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/Kolakata

Guarda y cierra el archivo.

Configurar MariaDB

Por defecto, MariaDB no está protegida. Así que primero tendrás que asegurarlo. Puedes asegurarlo ejecutando el siguiente comando:

sudo mysql_secure_installation

Contesta a todas las preguntas que aparecen a continuación:

    Enter current password for root (enter for none): ENTER
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Una vez que MariaDB esté asegurada, entra en el shell de MariaDB:

mysql -u root -p

Proporciona tu contraseña de root. A continuación, crea una base de datos y un usuario para Bookstack:

MariaDB [(none)]> CREATE DATABASE bookstackdb;
MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';

Sustituye la palabra «contraseña» en el comando anterior por una contraseña segura y anótala para su uso posterior. A continuación, concede todos los privilegios a Bookstack con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Sustituye aquí de nuevo la palabra «contraseña» por la misma contraseña que utilizaste anteriormente. A continuación, vacía los privilegios y sal del shell de MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Instalar Bookstack

En primer lugar, tendrás que instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP. Puedes instalar Composer con el siguiente comando:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

A continuación, cambia el directorio a /var/www/html y descarga la última versión de Bookstack del repositorio Git con el siguiente comando:

cd /var/www/html/
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

A continuación, cambia el directorio a Bookstack e instala todas las dependencias requeridas por PHP con el siguiente comando:

cd Bookstack
sudo composer install

Una vez instaladas todas las dependencias, copia el archivo de configuración del entorno de ejemplo con el siguiente comando:

sudo cp .env.example .env

A continuación, actualiza la configuración de la base de datos en el archivo .env:

sudo nano .env

Realiza los siguientes cambios:

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
DB_PASSWORD=password

Guarda y cierra el archivo. A continuación, crea la clave de la aplicación y migra la base de datos con el siguiente comando

sudo php artisan key:generate

Salida:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:KTcNpGD5CacIz20eiKpusk02YaHm14OQTZTERizEDBw=] set successfully.

A continuación, deberás migrar la base de datos. Puedes migrar la base de datos con el siguiente comando:

sudo php artisan migrate

Deberías ver la siguiente salida:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

A continuación, da los permisos adecuados al directorio de Bookstack con el siguiente comando:

sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/

Configurar Apache para Bookstack

A continuación, tendrás que crear un archivo de host virtual de Apache para Bookstack. Puedes crearlo con el siguiente comando:

sudo nano /etc/apache2/sites-available/bookstack.conf

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/Bookstack
     ServerName example.com
     ServerAlias www.example.com

    <Directory /var/www/html/Bookstack/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Sustituye «ejemplo.com» y «www.example.com» en el archivo anterior por tu propio nombre de dominio. A continuación, guarda y cierra el archivo y habilita el archivo de host virtual de Apache y el módulo de reescritura con los siguientes comandos:

sudo a2ensite bookstack.conf
sudo a2enmod rewrite

Por último, reinicia el servicio web de Apache para aplicar todos los cambios:

sudo systemctl restart apache2

Accede a Bookstack

Abre tu navegador web y escribe la URL, en mi caso es http://example.com, serás redirigido a la siguiente página:

Página de acceso a Bookstack

Ahora, proporciona el nombre de usuario por defecto como [email protected] y la contraseña como password, luego haz clic en el botón LOG IN. Serás redirigido al panel de control de Bookstack en la siguiente página:

Entra con el nombre de usuario y la contraseña por defecto

El siguiente paso debe ser cambiar la contraseña por defecto para asegurar el inicio de sesión en BookStack.

Conclusión

Enhorabuena! has instalado con éxito Bookstack en el servidor Ubuntu 18.04 LTS. Ahora puedes crear fácilmente tu propio sitio wiki utilizando Bookstack. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...