How to install Microweber - the Open Source Drag and Drop Website Builder that is Disrupting the Industry
Tags: opensource, laravel, ubuntu, javascript
Published: 2020-01-10 23:55:25

### Introduction

[Microweber](https://microweber.com) is a Drag and Drop website builder and a powerful next generation CMS. It's based on the [PHP Laravel Framework](https://laravel.com). You can use Microweber to make any kind of website, online store, and blog. The Drag and Drop technology allows you to build your website without any technical knowledge.

Microweber is built on existing technologies and gives the developers and the users a single tool that makes the website creation process easier than before.

It empowers regular users and programmers to make websites with ease.

Some key features include:

* No programing needed!	
* True WYSIWYG	
* Drag and drop editing	
* Out-of-the box eCommerce features

On the technical side, it is fully documented, it has multiple PHP template engines, it has a Powerful API and a lot more!

You can find the official Microweber Github repository [here](https://github.com/microweber/microweber).

In this tutorial, we will install Microweber on an Ubuntu 18.04 server. I will use [DigitalOcean Droplet](https://m.do.co/c/2a9bba940f39) to deploy an Ubuntu 18.04 Droplet.

For anyone who is not interested in the manual installation process, you could install Microweber with just a click of a button via the [DigitalOcean Marketplace](https://marketplace.digitalocean.com/apps/microweber).

## Prerequisites

Before you begin, make sure that you have:

* Ubuntu 18.04 server with at least 2GB of RAM
* SSH access to the server

## Installing LAMP

As Microweber is based on Laravel, we will go ahead and install Apache2, PHP 7 and MySQL.

* First SSH to your server:

```
ssh root@your_server_ip
```

* Then to get an updated version of the Ubuntu packages and their dependencies run:

```
sudo apt update -y
```

* Once that is done, run the following to install Apache2, PHP 7 and all required modules along with MySQL:

```
sudo apt install apache2 apache2-utils curl mysql-server mysql-client php libapache2-mod-php php-mysql php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-mysql php-cli php-gd php-zip php-xml php-dev php-pear php-curl -y
```

One more thing that's required by Microweber is the Apache `mod_rewrite`, to enable that run:

```
sudo a2enmod rewrite
```

Finally restart Apache:

```
sudo systemctl restart apache2
```

## Installing Composer

[Composer](https://getcomposer.org/) is a dependency manager for PHP. It allows you to install and update libraries and packages for your PHP projects. In our, we will use Composer to install Microweber.

To keep things simple we will just go ahead and use `apt` to install Composer:

```
sudo apt install composer
```

That's it! Now we are ready to install Microweber via Composer!

## Installing Microweber

For the sake of simplicity, we would not go ahead and create Apache virtual hosts, but we would use the default one. So first we would need to clear the content of the `/var/www/html` directory by deleting the default Apache `index.html` file:

```
sudo rm /var/www/html/index.html
```

Then we can go ahead and create the new Microweber project in the `/var/www/html` directory:

```
composer create-project microweber/microweber /var/www/html dev-master 
```

This might take a while, but once the process completes, we might have to generate a new Laravel application key.

First go to the directory that we've just installed Microweber at:

```
cd /var/www/html
```

And then run the following `artisan` command to generate the key:

```
php artisan key:generate
```

Last but not least, make sure that Apache has read and write access to the `/var/www/html` directory:

```
sudo chown -R www-data:www-data /var/www/html/
```

Then we will go ahead and create a database as this would be required during the Microweber setup.

## Configure MySQL

Let's start with securing our MySQL server:

```
mysql_secure_installation
```

Follow the process and set a MySQL root password. Then to access MySQL run:

```
mysql -u root -p
```

Enter the password that you've just setup during the MySQL secure installation process.

Next, we need to create a new database and user, to do that just execute the following queries:

```
CREATE DATABASE microweber_db;
GRANT ALL PRIVILEGES ON microweber_db.* TO 'microweber_user'@'%' IDENTIFIED BY 'SuperSecurePa55!';
FLUSH PRIVILEGES;
EXIT;
```

Make sure to use a strong password for your database user! Note down your database, password, and user and proceed to the next step where you will finalize the installation

## Finalizing the Microweber Installation

Microweber comes with a nice installer. All you need to do is to open your website in a browser (i.e. http://example.com/). You would see a screen that allows you to initially set up your Microweber.

Follow the steps and complete the installation! Pick up a template and start exploring the powerful and intuitive features that this open source website builder provides!

## Conclusion 

Microweber is an amazing open source project and I am really amazed by their drag and drop functionality and the big variety of features that the builder comes with.

Let me know what you think!