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 se puede utilizar para crear documentación y contenido de wikis para sus usuarios. BookStack está escrito en lenguaje PHP y utiliza el marco web Laravel. BookStack le permite configurar BookStack según sus necesidades, como cambiar el nombre, el logotipo y las opciones de registro. BookStack ofrece muchas funciones, como compatibilidad con varios idiomas, editor de Markdown, personalizable, con capacidad de búsqueda, interfaz WYSIWYG, gestión de roles y permisos, autenticación integrada y muchas más.
En este tutorial, aprenderemos cómo instalar Bookstack con Apache en el servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Un usuario no root con privilegios sudo.
Empezando
Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacer esto ejecutando el siguiente comando:
sudo apt-get update -y sudo apt-get upgrade -y
Una vez que su sistema esté actualizado, reinicie el sistema para aplicar los cambios.
Instalar servidor LAMP
Primero, deberá instalar el servidor web Apache, el servidor MariaDB, PHP y otros módulos PHP en su sistema. Puede 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 que todos los paquetes estén instalados, abra el archivo php.ini y realice algunos cambios:
sudo nano /etc/php/7.2/apache2/php.ini
Realice los siguientes cambios:
memory_limit = 256M upload_max_filesize = 150M max_execution_time = 360 date.timezone = Asia/Kolakata
Guarde y cierre el archivo.
Configurar MariaDB
De forma predeterminada, MariaDB no está protegido. Por lo tanto, deberá asegurarlo primero. Puede asegurarlo ejecutando el siguiente comando:
sudo mysql_secure_installation
Responda todas las preguntas de la siguiente manera:
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é protegida, inicie sesión en el shell de MariaDB:
mysql -u root -p
Proporcione su contraseña raíz. Luego, crea una base de datos y un usuario para Bookstack:
MariaDB [(none)]> CREATE DATABASE bookstackdb; MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';
Reemplace la palabra ‘contraseña’ en el comando anterior con una contraseña segura y no la baje para su uso posterior. A continuación, otorgue todos los privilegios a Bookstack con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Reemplace la palabra ‘contraseña’ nuevamente aquí con la misma contraseña que usó anteriormente. A continuación, elimine los privilegios y salga del shell de MariaDB:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Instalar la pila de libros
Primero, deberá instalar Composer en su sistema. Composer es un administrador de dependencias para PHP. Puede instalar Composer con el siguiente comando:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
A continuación, cambie el directorio a /var/www/html y descargue la última versión de Bookstack desde el repositorio de 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, cambie el directorio a Bookstack e instale todas las dependencias requeridas por PHP con el siguiente comando:
cd Bookstack sudo composer install
Una vez que todas las dependencias estén instaladas, copie el archivo de configuración del entorno de muestra con el siguiente comando:
sudo cp .env.example .env
A continuación, actualice la configuración de la base de datos en el archivo .env:
sudo nano .env
Realice los siguientes cambios:
# Database details DB_HOST=localhost DB_DATABASE=bookstackdb DB_USERNAME=bookstack DB_PASSWORD=password
Guarde y cierre el archivo. Luego, cree la clave de la aplicación y migre la base de datos con el siguiente comando:
sudo php artisan key:generate
Producción:
************************************** * 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á migrar la base de datos. Puede migrar la base de datos con el siguiente comando:
sudo php artisan migrate
Debería ver el siguiente resultado:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migration table created successfully.
A continuación, otorgue los permisos adecuados al directorio 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, deberá crear un archivo de host virtual de Apache para Bookstack. Puedes crearlo con el siguiente comando:
sudo nano /etc/apache2/sites-available/bookstack.conf
Agregue 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>
Reemplace ‘example.com’ y ‘www.example.com’ en el archivo anterior con su propio nombre de dominio. Luego guarde y cierre el archivo y habilite el archivo de host virtual de Apache y reescriba el módulo con los siguientes comandos:
sudo a2ensite bookstack.conf sudo a2enmod rewrite
Finalmente, reinicie el servicio web de Apache para aplicar todos los cambios:
sudo systemctl restart apache2
Acceder a la pila de libros
Abra su navegador web y escriba la URL, en mi caso es http://example.com, será redirigido a la siguiente página:
Ahora, proporcione el nombre de usuario predeterminado como [email protected] y clave como contraseña, luego haga clic en el INICIAR SESIÓN botón. Se le redirigirá al panel de control de Bookstack en la siguiente página:
El siguiente paso debe ser cambiar la contraseña predeterminada para asegurar el inicio de sesión de BookStack.
Conclusión
¡Felicidades! ha instalado exitosamente Bookstack en el servidor Ubuntu 18.04 LTS. Ahora puede crear fácilmente su propio sitio wiki usando Bookstack. No dude en preguntarme si tiene alguna pregunta.