DEV Community

Bobby Iliev
Bobby Iliev

Posted on • Updated on

How to install Microweber - the Open Source Drag and Drop Website Builder that is Disrupting the Industry

Introduction

Microweber is a Drag and Drop website builder and a powerful next generation CMS. It's based on the PHP Laravel Framework. 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.

In this tutorial, we will install Microweber on an Ubuntu 18.04 server. I will use DigitalOcean Droplet 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.

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
Enter fullscreen mode Exit fullscreen mode
  • Then to get an updated version of the Ubuntu packages and their dependencies run:
sudo apt update -y
Enter fullscreen mode Exit fullscreen mode
  • 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
Enter fullscreen mode Exit fullscreen mode

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

sudo a2enmod rewrite
Enter fullscreen mode Exit fullscreen mode

Finally restart Apache:

sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Installing Composer

Composer 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

php artisan key:generate
Enter fullscreen mode Exit fullscreen mode

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/
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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!

Discussion (14)

Collapse
andreidascalu profile image
Andrei Dascalu

Hm, would be interesting if the need for programming weren't replaced by sysadmun skills.
Nowadays most frameworks and platforms offer a Dockerized quickstart.
Instead of installing (and presumably later maintaining) php/apache/mysql, just provide pre-built containers and simply install docker(and maybe git).

Collapse
bobbyiliev profile image
Bobby Iliev Author

That is a really great idea for a contribution! I might try to build a Dockerfile and submit a PR.

But in the mean time you could also get it preinstalled on a Droplet here:

marketplace.digitalocean.com/apps/...

Collapse
marcbeaujean profile image
Marc Philippe Beaujean • Edited

This is cool! In my opinion I could only see a serious business using tools like this if they are actually open source - really excited about stuff like this empowering more startups and faster development!

Collapse
nksky profile image
nksky

Hi, I have followed your write-up, very well written. I am deploying this on my own server. After following all the steps, I try to access my site xxxxx.com I get a note in the corner "No input file specified."
Is there something I have missed or left out. Server running Ubuntu 20.04, PHP 7.4 tried both Composer V1 and V2.

Thanks

Collapse
cantnopwontnop profile image
NOP

I built a custom backend in Laravell just last October. I have never been excited for my hard work to be replaced!

Thank you for sharing! I will definitely contribute where I can!

Collapse
jimbolino profile image
Jimbolino • Edited

There is no need to install mcrypt.
Mcrypt has been deprecated and removed from php for some time now.

Also composer create project, runs the artisan command, so no need for that too...

Collapse
bobbyiliev profile image
Bobby Iliev Author

You do actually need mcrypt it is part of Microweber’s dependencies

Collapse
jimbolino profile image
Jimbolino

github.com/microweber/microweber/i...
Not anymore, they just forgot to update the docs

Thread Thread
bobbyiliev profile image
Bobby Iliev Author

Ah yea you are right! I've tested that and it works! I've updated the article now!

Thanks for pointing this out!

Collapse
boberlong profile image
Boberlong

Any update for the new Microweber 1.2 version just launched?

Thanks!!

Collapse
sandbird profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Sandbird

I freaking hate clickbaits...why dont you just say this is a DigitalOcean ad and not an article.

Collapse
bobbyiliev profile image
Bobby Iliev Author

What do you mean? Microweber is not a DigitalOcean product, you can checkout their repository here:

github.com/microweber/microweber

Collapse
sandbird profile image
Sandbird • Edited

This whole article is meant to promote DigitalOcean not Microweber...as if there aren't other php servers like wamp,xamp etc or linux distros.

Edit: oh i see u also promote them with the docker link...nice

Thread Thread
bobbyiliev profile image
Bobby Iliev Author

Literally DigitalOcean is mentioned 2 times throughout the whole post. It is up to you where you run your Ubuntu server at. The guide will work anyway.

But besides that, yea DigitalOcean is always my could provider of choice :)