Configuración de virtual host
Apache
Cree un fichero de virtualhost con comando nano /etc/apache2/sites-available/docs-bookstack.conf
e introduzca el siguiente contenido.
<VirtualHost *:80>
ServerAdmin correo.admin@dominio.mail@mail.com
DocumentRoot /var/www/vhosts/bookstack/public
ServerName documentacion.dominio.com
ServerAlias documentacion documentacion.dominio.com
<Directory /var/www/vhosts/bookstack/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/docs_error.log
CustomLog ${APACHE_LOG_DIR}/docs_access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =documentacion.dominio.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin mail@mail.com
DocumentRoot /var/www/vhosts/bookstack/public
ServerName documentacion.dominio.com
<Directory /var/www/vhosts/bookstack/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/docs_error.log
CustomLog ${APACHE_LOG_DIR}/docs_access.log combined
SSLCertificateFile /etc/letsencrypt/live/documentacion.dominio.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/documentacion.dominio.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Active el site, active el modulo rewrite y reinicie el servicio apache2.
a2ensite docs-bookstack.conf
a2enmod rewrite
systemctl restart apache2
Confirme que el registro esta creado en el DNS y pruebe con un navegador web accediendo a la url que ha configurado en el virtual host y en el fichero .env de la configuración de bookstack.
Nginx
Cree el fichero de configuracion
touch /etc/nginx/sites-available/docs-bookstack.conf
editelo y añada el siguiente contenido, cambiando el dominio, rutas y certificados acorde a su instalación
server {
listen 443 ssl;
server_name documentacion.dominio.com;
ssl_certificate /etc/nginx/certs/certficado.pem;
ssl_certificate_key /etc/nginx/certs/certificado.key;
root /var/www/vhosts/bookstack/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
server {
if ($host = documentacion.dominio.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name documentacion.dominio.com;
return 404;
}
Prepare el site para ser activado
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/docs-bookstack.conf .
Compruebe que la configuración es correcta con
nginx -t
Si no ha salido ningun error, entonces recargue nginx para que tenga en cuenta los cambios
systemctl reload nginx