Bludit is a web application for quickly creating your own website or blog. It is completely free and open source and complies with GDPR. Bludit uses JSON files to store content; there is no need to install or configure a database. It only needs a web server with PHP support.
Bludit is a flat-file CMS that supports Markdown and HTML code for content. It also includes SEO tools to improve rankings on most search engines and social networks.
Links
- Plugins
- Themes
- Documentation
- GitHub repository
- Forum and chat for support/help.
Prerequisites
An Ubuntu Server 20.04 LTS server with a root user or permissions to run sudo, and a DNS record to obtain a certificate with Certbot.
Installation
This article explains how to install Bludit, first installing and configuring NGINX with PHP and a Let's Encrypt certificate obtained with Certbot. The steps are as follows:
Update the repository and install updates:
# apt update && apt upgradeInstall the required packages:
# apt install nginx php-cli php-fpm php-common php-mbstring php-gd php-xml php-json certbot python3-certbot-nginxGo to the temporary directory and download Bludit from the official account's GitHub repository:
# cd /tmp && wget https://github.com/bludit/bludit/archive/refs/tags/3.13.1.zipExtract the downloaded file (we include the installation of unzip):
# apt install -y unzip && unzip 3.13.1.zipSynchronize the web directory with the extracted folder:
# rsync -rtv bludit-3.13.1/ /var/www/html/Edit the NGINX configuration file for the site:
# vi /etc/nginx/sites-available/defaultChange server_name in the file to the subdomain or domain record pointing to the server:
server_name bludit.ejemplo.com;Add index.php to the index line:
index index.php;Replace the try_files line with:
try_files $uri $uri/ /index.php?$args;Add the following lines to the same file to deny access to the directories:
location ^~ /bl-content/databases/ { deny all; }
location ^~ /bl-content/workspaces/ { deny all; }
location ^~ /bl-content/pages/ { deny all; }
location ^~ /bl-kernel/*.php { deny all; }
Also uncomment the lines to use PHP and deny access to .htaccess. The result should look like this:
# pass PHP scripts to FastCGI server
location ~ \.php$ {
# include snippets/fastcgi-php.conf;
include fastcgi.conf;
# fastcgi_index index.php;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS on;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
Change ownership of the entire directory recursively:
# chown -R www-data:www-data /var/www/html/Also set the directory permissions recursively:
# chmod -R 755 /var/www/html/Restart the web service to reload the changes:
# systemctl restart nginx.serviceFinally, if you want to use SSL, obtain a certificate with Certbot:
# certbot --nginx --redirect -d bludit.ejemplo.comOnce these actions are complete, you can start the installation from a web browser. Select the language:
Then set the password for the admin user:
Once this is done, the installation will be complete and you can access the administration panel:
We hope this article has helped you. If you still have questions about this or any other issue related to your servers on Clouding, email us at soporte@clouding.io. We're here to help! 😉