Step-by-Step Guide to Installing Microweber Website Builder on Debian 10

Microweber is a cutting-edge content management system (CMS) and a user-friendly drag-and-drop website builder. Built on the robust PHP Laravel Framework, Microweber is designed to help you effortlessly create any type of website, online store, or blog. Its intuitive drag-and-drop interface allows for easy website construction, even without technical expertise.

Microweber’s fundamental concept is to empower you to craft your own online presence, whether it be a website, an online shop, or a blog. As you embark on this exciting journey, you’ll be supported by various modules, customizations, and features tailored for e-commerce enthusiasts and bloggers alike.

The integration of Microweber’s latest drag-and-drop technology with its innovative Real-Time Text Writing and Editing feature enhances user experience by offering quick and easy content management in a flexible and visually appealing environment.

This tutorial will guide you through installing Microweber on a fresh Debian 10 (Buster) system, using Nginx as the web server and MariaDB as the database engine.

Requirements

To successfully install and run Microweber, your system must meet the following requirements:

  • PHP version 5.4 or higher with extensions: gd2, mcrypt, xml, dom, json
  • A web server like Nginx or Apache.
  • MySQL version 5.0 or higher, or MariaDB equivalent.
  • Composer.

Prerequisites

  • Debian 10 (Buster) operating system.
  • A non-root user account with sudo privileges.

Initial Steps

Verify your Debian version:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Set the system timezone:

sudo dpkg-reconfigure tzdata

Perform a system package update to ensure you have the latest software and security patches:

sudo apt update && sudo apt upgrade -y

Install essential packages required for the Debian system administration:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Step 1 – Install PHP and Necessary PHP Extensions

Microweber requires PHP version 5.4 or later. Use the apt package manager to install PHP and the necessary extensions:

sudo apt install -y php php-cli php-fpm php-common php-gd php-mbstring php-xml php-mysql php-pgsql php-sqlite3 php-zip php-soap php-xmlrpc

List PHP compiled modules:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Check the PHP version:

php --version
# PHP 7.3.9-1 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

PHP-FPM service is automatically started and enabled on startup in Debian 10, so you can proceed to the next step.

Step 2 – Install Acme.sh and Obtain a Let’s Encrypt Certificate (Optional)

Although optional, securing your site with HTTPS is recommended. The acme.sh client will be used to obtain a TLS certificate from Let’s Encrypt:

sudo su - root
git clone https://github.com/acmesh-official/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail your_email@example.com
source ~/.bashrc
cd ~

Verify the acme.sh version:

acme.sh --version
# v2.8.2

Obtain RSA and ECC/ECDSA certificates for your domain:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

For testing with fake certificates, add the --staging flag.

Generated certificates and keys will be stored in:

  • RSA: /home/username/example.com
  • ECC/ECDSA: /home/username/example.com_ecc

List issued certificates:

acme.sh --list

Create directories to store your certificates:

mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Install/copy certificates to the /etc/letsencrypt directory:

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Certificates will automatically renew every 60 days. Exit the root user after obtaining keys:

exit

Step 3 – Install MariaDB and Create a Database

Install MariaDB:

sudo apt install -y mariadb-server

Verify MariaDB version:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Run the mysql_secure_installation script for MariaDB security enhancements:

sudo mysql_secure_installation

Answer the following prompts:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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

Access MariaDB as the root user:

sudo mysql -u root -p
# Enter password

Create a new MariaDB database and user for Microweber:

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'mypassword';
mariadb> FLUSH PRIVILEGES;

Replace dbname, username, and mypassword accordingly. Exit MariaDB:

mariadb> exit

Step 4 – Install and Configure NGINX

Install NGINX from the Debian repository:

sudo apt install -y nginx

Verify the NGINX version:

sudo nginx -v
# nginx version: nginx/1.14.2

Create or edit the NGINX server block file for your site:

sudo vim /etc/nginx/sites-available/microweber.conf

Add the following configuration:

server {
  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;
  server_name example.com;
  root /var/www/microweber;
  index index.php;
  client_max_body_size 100M;
  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECC
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }
  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

Enable the configuration by linking it to the sites-enabled directory:

sudo ln -s /etc/nginx/sites-available/microweber.conf /etc/nginx/sites-enabled/

Test NGINX for any syntax errors:

sudo nginx -t

Reload NGINX to apply the changes:

sudo systemctl reload nginx.service

Step 5 – Install Microweber

Create the directory to host Microweber:

sudo mkdir -p /var/www/microweber

Navigate to the document root directory:

cd /var/www/microweber

Download and extract the latest Microweber CMS package:

sudo wget https://download.microweberapi.com/ready/core/microweber-latest.zip
sudo unzip microweber-latest.zip
sudo rm microweber-latest.zip

Set ownership of the /var/www/microweber directory to www-data:

sudo chown -R www-data:www-data /var/www/microweber

Open your browser and access your website at http://example.com/ to begin the installation. Upon completion, your admin panel will be accessible at http://example.com/admin.

Step 6 – Complete the Microweber Installation

Visit http://example.com in your browser, and you’ll be guided to set up your database. Select your preferred database engine. Below are examples of setup pages:

Database details

Select MySQL server

Or PostgreSQL

Once configured, complete the Microweber installation to access the admin panel at /admin on your website.

Microweber Login

Microweber dashboard

Links

FAQ

What are the system requirements for Microweber?

Microweber requires a PHP version 5.4 or higher, a web server like Nginx or Apache, and a MySQL or MariaDB database. Composer is also necessary for installation.

Can I use Microweber without technical knowledge?

Yes, Microweber’s drag-and-drop functionality allows users to build websites without needing technical expertise.

Why should I use a Let’s Encrypt SSL certificate?

Using a Let’s Encrypt SSL certificate secures your site with HTTPS, enhancing privacy and security for your users.

How do I access the Microweber admin panel?

You can access the admin panel by navigating to /admin on your website once installation is complete.