Follow Digital Startup | All things eCommerce on Feedspot

Continue with Google
Continue with Facebook


From time-to-time, you’ll need to update your modules, backup your store or even upgrade Magento. And if you’re online store is already live, then you’ll be required to briefly go into Maintenance Mode. Whilst in this mode, any visitors who try to visit your store will see this landing page. At a glance, it’s quite likely that your visitors will think that your website is broken and end up shopping somewhere else.

Chapter 1: Custom Maintenance Mode Introduction

As you can see, I have split my screen into 4 sections. We’ve got my web browser of choice (in this case Google Chrome), my SSH Client of choice (which is Putty for Windows – Available at Putty.org), a breakdown of Chapters to help you quickly navigate through the video. And finally any notes that I may find useful.

If you’re unfamiliar with Maintenance Mode, it can be activated to stop any unwanted visitors or admins from accessing the Frontend or Backend of your Magento 2 installation – Whilst allowing you to perform tasks like upgrading Magento, updating modules or backing up your store.

Right now, my sandbox store is in Maintenance Mode – And as you can see, it’s not a very pretty or professional looking notification. But by the end of the video, we’ll have turned it from this to this. It’s much more welcoming to the public and encourages your visitors to come back later – Rather than give up and shop somewhere else.

Chapter 2: Creating the new theme files

So, the first thing we need to do is make a copy or our default error templates and give the new folder a name. There’s a couple of ways you can do this, and I’ll show you both methods.

Method 1: FTP

The first method is over FTP. I’ve now got Filezilla opened in my main window. And I’m sitting in my Magento root folder. Now, I’ll navigate go into /pub/errors/. There we’ll see a folder called “default”. We simply grab that folder and download it to our computer like so. Then we rename the folder to something we can easily identify. For the sake of this example, I’ll call it “fancyftp”. Now, I just to re-upload that new folder back onto the server where I downloaded the original default folder. And as you can see, we now have the default folder and our new folder sitting side-by-side.

Method 2: SSH

The second method would actually be my preferred method, because there are less steps involved. As you can see in my SSH window, I’m already logged into my server as the magento user. This is the user who has native permissions to modify these files.

I’m already sitting in my Magento root folder. So, just like before I’m going to navigate to the /pub/errors/ folder by using:

cd pub/errors/

To ensure I’m where I need to be, typing ls -la will display the contents of the folder. Because I just did this already with the FTP method, you’ll see that here too. So, in order to copy the folder and rename it we don’t have to download it – We can literally just copy and rename it with one command. I’ll call this theme “fancyssh”. The following command allows me to copy recursively the folder called “default” and paste it in this location as “fancyssh”. (If you’re unfamiliar with “recursively” it means the folder and it’s contents):

cp -R default fancyssh

It’s that easy. To to verify that, we can type ls -la to list the contents of this folder. Or, because I still have Filezilla open, I can refresh the directory – And there you have it.

Chapter 2: Customising the new theme


Now that the new theme files have been copied, it’s time to customise them to our liking. All of the theme files use HTML and CSS – So, if you’re capable of designing your own pages then now is your chance. However, this video isn’t about building web-pages 101. Instead, we want to replicate what I showed you at the beginning of this video. And there’s no easier way then simply downloading the files I already prepared for you…

So, I’ve gone ahead and downloaded the theme files from my article. Don’t forget, there’s a link to that article in the video description below. If I hit refresh in Filezilla, you will see a new directory called “fancy”. This directory is a copy of the default folder but with all of the modifications that make it look cool. Obviously, you can download these files and modify them however you see fit.

But out of respect for the creator where the original design was inspired – I’ve left a design credit as a hidden comment within the code.

As I don’t have any need to make any changes to these files, I’m simply going to drag the folder and upload it to my server. Easy.

Chapter 3: Enabling the new theme

Finally, we need to tell Magento which set of template files to use. To do this, we need a file called “local.xml”. Luckily, there is already a sample file in the error folder that we can use. Rather than rename it, I prefer to make a copy.

Method 1: FTP

We can do that the same way we created a copy of the default folder. Just drag and download the “local.xml.sample” file and rename it to “local.xml”. Then we just need to edit the file using your text editor of choice. Personally, I love to use something called Notepad++. With the file now open, I simply delete “default” and replace it with “fancy”. And whilst I’m at it, I like to change “print” to “email” for security. This feature is to ensure that if a visitor triggers an error, there is no chance that they will see the cause of the error – Which could be deemed a security risk. Instead, an email alert is sent to whichever email address you put in. So, I’d put in craig@digitalstartup.co.uk. Which the changes now made, just save and upload the file.

To ensure the changes are now active, just go back to your Maintenance Mode page in your browser and hit refresh.

Method 2: SSH

Again, you can do this quickly using SSH instead of FTP. I’ll delete the file we just created and refresh the Maintenance Mode page so I can show you how.

The first thing you’ll need to do is create a copy of the “local.xml.sample” whilst renaming it to “local.xml” at the same time. Remember, we’re still in the errors directory on the server so just type:

cp local.xml.sample local.xml

Remember, we don’t need the “-R” this tim because we’re copying a file and not a folder. If I type ls -la now, you’ll see the new file we just created. So next, we can edit the file using the nano text editor. To do this we type:

nano local.xml

Now I just use a combination of the arrow keys on the keyboard to navigate my cursor and make the same amendments I did in the first method…

Once finished, press Ctrl+X to exit, and press Y and Enter to save your changes.

Now, if I go back to the Maintenance Mode page and hit refresh, we can see our changes.

Chapter 4: Conclusion

Don’t forget that all of the code that I used in this video can also be found in the article, so you can just go straight ahead and download it. Obviously, the page makes a great starting point for you to make your own. Just think carefully about the information that customers might need in a pinch, such as your contact details and opening times. Also, be sure to update your favicon and page title to keep with your current branding.

I hope you learned something new today and gained the confidence to try this yourself. And it you did then please hit the like button and subscribe if you haven’t already for more Magento tutorials.

The post Customise Maintenance Mode Page in Magento 2 appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

It recently came to light that many of you have been finding warning messages in phpMyAdmin after upgrading to PHP 7.2. Especially, those of you who followed my video last year on how to install Magento 2.3.

Well, in this tutorial I’ll be covering how to update your version of phpMyAdmin to the latest version that is fully compatible with PHP 7.2 – Therefore allowing you to say goodbye to those annoying warnings.


For whatever reason when you install phpMyAdmin using the traditional “apt-get” command, it only installs an older version. And this version happens to have some incompatibilities with the latest version of PHP 7.2. This was never an issue before, because it’s only very recently that Magento 2 has supported this version of PHP.

The default version of phpMyAdmin that get installed on my server is version 4.5. Indicated on the homepage of the application. When running this version of phpMyAdmin with PHP 7.2 you will likely see warning messages like this.

Because we can’t currently update phpMyAdmin via my usual method of “apt-get”, it means I’ll have to do it manually. After doing a little research into this method, I ended up streamlining the installation process down to just 11 very simple steps.

Before starting the first step, I should point out that I’m already logged into my web server as a superuser. Just to recap, a superuser is a user that is capable of running commands beginning with “sudo”.

It’s also worth noting, that I’m literally copying and pasting these commands directly from this article.

Remember to always backup your server before following any instructions.

Steps to update phpMyAdmin Step 1

Ok, in step 1 I want to navigate to the User/Share folder. This is where I will be running most of my command from. This is simply done by entering the following command:

cd /usr/share/

Step 2

In the second step, I want to create a backup of my original installation of phpMyAdmin. This is just for peace of mind. To do that, I’ll run a command that allow me to move a folder and rename it at the same time. In this case, I’ll be renaming the phpmyadmin folder to phpmyadminbk. I tend to put the letters “bk” at the end of any temporary backups folders. So, I’ll be doing this by running the following command:

sudo mv phpmyadmin phpmyadminbk

Step 3

In the third step, it’s time to download the latest copy of phpMyAdmin from their website directly onto our server. The easiest way to do this is by using the “wget” command. At the time of this video, the latest version is 4.8.5. So, the command I’ll need to enter is:

sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip

Step 4

In step 4, I’ll want to unzip the zip file that I just downloaded from the phpMyAdmin website. To do this, I simply need to enter:

sudo unzip phpMyAdmin-4.8.5-all-languages.zip

Step 5

Now that I’ve unzipped the folder that I downloaded, I’ll need to rename it to phpmyadmin. This folder will take the place of the original folder that I renamed back in step 2

sudo mv phpMyAdmin-4.8.5-all-languages phpmyadmin

Step 6

Now that all of the files have been downloaded, unzipped and renamed, it’s time to correctly set the ownership of the files. To do that, I’ll be running the “chown” command to set the ownership from “root” to “www-data”. “www-data” is what Apache requires it to be in order to read and write the files successfully. So, I’ll need to enter the following:

sudo chown -R www-data:www-data /usr/share/phpmyadmin

Step 7

Next, I need to setup the configuration file for phpMyAdmin to run correctly. Luckily, the download comes with a sample file that I can copy and rename appropriately. The file that I’ll need to change is in the phpmyadmin directory. And I’ll need to rename the copy so that it doesn’t include the word “sample”. To do that, I just enter:

sudo cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php

Step 8

In step 8, I’ll need to edit the new file that I just created so that I can create a security key. Security keys are required to help with encryption. So, to open up the config file in the nano text editor I’ll just type:

sudo nano phpmyadmin/config.inc.php

Step 9

At this point, I’m not in the nano text editor viewing the contents of the config file. Luckily, there is already a comment next to the line I need to edit with some instructions. So, all I need to do is type a random set of numbers and letters in the space provided. I’m literally going hit random keys until I have around 40-60 characters.

Add a random string of numbers and text like the example below:

Step 10

Now that I’m going entering in a random set of numbers and characters to generate my security key, I just need to save and exit. To do that I just need to press “Ctrl+X” to exit, then press “Y” and Enter to save. This will take me back to the original screen that I was on before.

Step 11

The final step is just a bit of housekeeping. The following command will delete the original file that I downloaded in Step 3 that I no longer need anymore

sudo rm phpMyAdmin-4.8.5-all-languages.zip

Final Words

If I’ve followed all of steps correctly, then that should mean when I log into phpMyAdmin it will show the latest version of phpMyAdmin. This is indicated here… And when I go into my database and click on any tables, the warning messages have now disappeared.

The post How to fix PARAMETER MUST BE AN ARRAY error in phpMyAdmin appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

How to install Magento 2.3 – What you will learn

During this video, I’ll be showing you How to install Magento 2.3 and setup a web server. The video will be split into several chapters:

  • Chapter 1: Build a basic server
    • Create a Ubuntu Server (v16.04)
    • Create a new user
    • Disable root user
    • Enable the servers Firewall
  • Chapter 2: Convert to a web server for Magento 2.3
    • Install Apache and configure it specifically for Magento 2.3
    • Install PHP and any extensions specifically for Magento 2.3 (v7.2)
    • Install MySQL and secure the installation
    • Install phpMyAdmin and secure the installation
  • Chapter 3: Download Magento 2.3 with Composer
    • Create a Magento user
    • Folder permissions
    • Obtain your Magento Access Keys
    • Install Composer
    • Download Magento 2.3 via Composer
    • Set pre-installation permissions
  • Chapter 4: Create a database for installing Magento 2.3
    • Set up a user & database
  • Chapter 5: Install Magento 2.3 via the Setup Wizard
    • Run Setup Wizard
    • Update memory_limit
    • Install cron tasks
  • Chapter 6: Bonus – Install Sample Data
    • Switch to Developer Mode
    • Download Sample Data via Composer

But before I start, I just want to acknowledge that this tutorial is not for everyone. The topics are aimed at nerds like myself who want to install Magento 2.3 from scratch. However, the tutorial has actually been designed for any skill level to follow.

If you’re interested in using Magento but would rather skip all of the nerdy stuff, then I would highly recommend the SIP-100 Package from Nexcess.net. They will build you a web server and install Magento 2.3 so you can just get straight on with setting up your store and adding your products. And if you ever run into any technical issues, you can always get in touch with their 24/7 support.

Note, that this video and article now replaces the previous article, called How to set up a web server for Magento 2.2.

About this article

This article will help you follow along with the video at your own pace. It will also contain any commands that I use so that you can easily copy and paste them. This means that you won’t have to keep squinting at your screen to see what I’m typing. To make it even easier, each of these steps will also contain a timestamp next to it so that you know exactly at what point in the video I’m using them.

Useful resources The video
Chapter 1: Build a basic server

As you can see, I have split my screen into 4 sections. We’ve got my web browser of choice (in this case Google Chrome), my SSH Client of choice (which is Putty for Windows – Available at Putty.org), a breakdown of Chapters to help you quickly navigate through the video if you need to skip through it. And finally my notes, such as usernames and password that I’ll need to remember during the setup and installation.

On a side note, if you’re working from an Apple or Linux Operating System then you already have a built in SSH Client called Terminal.

So, let’s start building our Web Server so that we can install Magento 2.3. Don’t forget that you can follow along with me at your own pace by referring to this article that I wrote containing all of the commands that you’re going to see me use.

Create a Ubuntu Server

First things first, we need a web server. Personally, I use Digital Ocean for all of my Development Servers. The costs are reasonable and their services are spot-on. You can literally create a server in minutes. At the time of recording this, I have 8 servers running with them. If you do decide to try them, please consider using the link (Digital Ocean) as it goes towards supporting the channel. Plus it will also entitle you to some free credit. To be clear, you don’t have to use Digital Ocean – But beware that results may vary with another provider and it’s much easier to troubleshoot problems if we’re all using the same setup.

Create a new user

Now that we’ve logged in with the credentials that we’ve been emailed, we’ll be prompted again to reenter the password followed by a new one. This will be one of many passwords that you’ll want to take a note of for future reference.

With the new password in place, it’s time to create a new superuser that we can use instead of the root user to carry out our administrative tasks. This is a very common thing to do when building a new server as it adds to the security by minimising any brute force attacks. Plus, as a superuser you can’t accidently run root tasks without first prefixing your commands with “sudo”.

Important Tip: Once you copy the commands from this article, you can then paste them directly into Putty by right-clicking anywhere in the window

Create yourself a user [11:42]

adduser craig

Give this user ‘superuser’ (aka root) privileges by adding it to the ‘sudo’ group [12:28]

usermod -aG sudo craig

Now it’s time to logout as the root user and reconnect with our new user. From this point forward, you’ll notice me prefix most of my commands with “sudo” – This tells the operating system that you want to exercise your supervisor permissions in order to run an administrative task.

Disable the root user (for security)

Access config file to disable root user login [14:11]

sudo nano /etc/ssh/sshd_config

Use your Arrow or Page Up/Down keys to work your way down the file and find “PermitRootLogin yes”. You’ll want to replace the “yes” with a “no”. To save your changes, press Ctrl+X. Then you’ll be asked if you want to save your changes. Simply Type “Y” and then Enter to do so.

Now simply reload the SSH Service for the changes to take effect [15:37]

sudo systemctl reload sshd

Enable a basic firewall

First, we must allow SSH connections to your web server. This is the connection we are currently using [16:10]

sudo ufw allow ssh

Then turn on the firewall [16:42]

sudo ufw enable

You’ll get a warning, to make sure we’ve allowed SSH connections. So just type “Y” and hit Enter

Fantastic. So, just to quickly recap… We’ve built a server and carried out some very simple security practices. If this was your first time using SSH, I hope it wasn’t too intimidating for you. In a moment, we’re about to convert our Server into a Web Server that will support our Magento 2 installation.

Chapter 2: Convert to a web server for Magento 2.3

Now is the time to take our basic server and convert it into a web server that is capable of installing Magento 2.3. There are many commands coming up in this chapter, so pay very close attention to each step.

Updating repositories

We’ll start first by updating our server repositories. This tells Ubuntu what is available to download when we ask it to install sometime. Kind of like enabling your phone to access the App Store.

Luckily, our server comes with many repositories built-in. So, we only need to add one. This will allow us to download PHP 7.2 later in the chapter [18:34]

sudo add-apt-repository ppa:ondrej/php

Now we need to tell Ubuntu to update it’s records from all of the connected repositories, including the one we just added [18:55]

sudo apt-get update

Install Apache and configure it specifically for Magento 2.3

Now we’re ready to install and configure Apache. Apache is the software that will ultimately convert our basic server into a web server.

Install Apache [19:38]

sudo apt-get install apache2 -y

Open Apache settings file to allow .htaccess file usage [20:15]

sudo nano /etc/apache2/sites-available/000-default.conf

Add the below to the file, then save and exit [20:34]

<Directory “/var/www/html”>
AllowOverride All

Open Apache settings file to set the Global ServerName [20:51]

sudo nano /etc/apache2/apache2.conf

Add this line at the end of the file, then save and exit [21:12]

ServerName <server_IP>

Check for any errors [21:53]

sudo apache2ctl configtest

Enable Apache rewrite [22:44]

sudo a2enmod rewrite

Restart Apache for any changes to take effect [23:05]

sudo systemctl restart apache2

Enable Apache through the firewall [23:26]

sudo ufw allow ‘Apache Full’

Test Apache

To test that Apache is working, we can run a super-quick test. Just put the IP address of your server in your browser. You should see a test page similar to this one.

Install PHP and any extensions specifically for Magento 2.3

Now, we need to install PHP. PHP is a scripting language which allows web applications like Magento to supercharge normal HTML pages. It’s a bit more complicated than that, but needless to say it’s a requirement for Magento.

Let’s start up installing PHP and all of the PHP extensions required in order for Magento 2.3 to run [25:01]

sudo apt-get install php libapache2-mod-php php-mysql php7.2-soap php7.2-bcmath php7.2-xml php7.2-mbstring php7.2-gd php-common php-cli php-curl php-intl php-zip -y

Tell the web server to prefer PHP files (move index.php to front of the list) [25:41]

sudo nano /etc/apache2/mods-enabled/dir.conf

Restart apache for changes to take effect [26:46]

sudo systemctl restart apache2

Install MySQL and secure the installation


Now, it’s time to install and configure MySQL. MySQL is a database management system that allows the web server to store information that can be accessed by Magento.

Install MySQL [27:34]

sudo apt-get install mysql-server -y

Run a MySQL security script that addresses some vulnerabilities [28:22]

sudo mysql_secure_installation

Install phpMyAdmin and secure the installation


At this point, we’ve got our web server to a point that is capable of running Magento 2.3. What we’re doing now though is installing phpMyAdmin. This is not required, but makes like so much easier when interacting with our MySQL Databases. It essentially allows us to log into a web page and make adjustments with your mouse and keyboard. As opposed to using the Command Line Interface.

Install phpMyAdmin [30:12]

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

Make sure that you select apache2 using your SPACE BAR before hitting ENTER to continue. Restart Apache for any changes to take effect [33:36]

sudo systemctl restart apache2

Test phpMyAdmin

To test that phpMyAdmin works, you can do a simple test. Just put your IP address into your browser followed by /phpmyadmin. For example, If you’ve successfully followed the steps then you’ll see this login page.

Awesome, that’s the most difficult part out of the way. It actually get easier from here on in. So it’s time to take a quick break and get yourself a coffee.

Chapter 3: Download Magento 2.3 with Composer

We’re now at the point where we can think about installing Magento 2.3. Just like the rest of this video so far, you will want to pay very close attention. It’s especially important that you run commands as the correct user as you’ll see issues further down the road that may not be obvious straight away.

Create a Magento user

So, let’s start by creating a Magento user. The reason for creating a new user is for added security. The main user that we created (e.g. “craig”) has the ability to run superuser commands if required, where the web user would never need such privileges. This user will also be who you log in as to upload and download your files via FTP.

Add the user (I’ve called my user “magento”) [35:47]

sudo adduser magento

Make the web server group the primary group for the new user [36:25]

sudo usermod -g www-data magento

Folder permissions

When we installed Apache in Chapter 2, it automatically created a web directory to store own web files. However, it will have created this under the default user known as www-data. So, we just need to update the folder permissions for the directory that we’ll be installing Magento. This will allow our new Magento user to operate correctly.

Update the root file ownership to coincide with our new web user [37:20]

sudo chown magento:www-data /var/www/html/

Obtain your Magento Access Keys

Before you do anything else, be sure to visit https://marketplace.magento.com and create an account. Then you can generate a set of access keys that will allow you to download from the Magento repository via Composer.

Install Composer

Now that we have our keys, we’re ready to install Composer. Composer is an application that allows us to access and download packaged files from various repositories. Not only can we access and download Magento, but many 3rd party developers will recommend installing their extensions this way – As opposed to traditionally downloading a zip file and uploading it via FTP.

Install Composer by downloading the file direct from their website [40:14]

sudo curl -sS https://getcomposer.org/installer | php

Move composer file to the required directory [41:04]

sudo mv composer.phar /usr/local/bin/composer

Download Magento 2.3 via Composer

Now, it’s time to use composer to download Magento 2.3.

We first need to navigate to the web directory of our web server [41:38]

cd /var/www/html

Now, we need to switch from out superuser to the magento user that we created a few moments ago [42:01]

su magento

In order for Composer to work, it needs to be ran from within an empty directory – Otherwise it’ll create an error. However, the web directory we’re now sitting in isn’t empty because when we installed apache, it created a test file in the web directory called index.hml. This is the same file that we saw in Chapter 2 when we tested that Apache was working.

We can verify this by listing all file and folder inside the directory [42:47]

ls -la

So let’s delete that test file [42:58]

rm index.html

So, let’s not tell composer to install the latest copy of Magento – Which happens to be 2.3 at the time of creating this video. Make sure you don’t miss the Period at the end of the command. This insignificant looking dot tells composer to install it in the same directory from where we are running the command from. Missing this dot will cause Magento to install somewhere else [43:42]

composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition .

During the setup, you will be asked for a Username and a Password. Just to be clear, Username = Public Key and Password = Private Key what we created on the Magento website. This process will take roughly 5 minutes to complete – So I will skip forward…

Set pre-installation permissions

You should now see a screen similar to this, where Putty is waiting for my next command. This is when we want to take a moment to set the necessary file permission in order for Magento to run correctly. It’s common to see an Error 500 message when trying to access Magento before doing this, so make sure not to miss this step.

This next command looks like a long one, but it is in fact 4 commands strung together – This will save us putting each command in one at a time [45:37]

find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :www-data . && chmod u+x bin/magento

Fantastic, we’re halfway there. You’ll probably be pleased to learn that we get to use the mouse a bit more during these next 2 chapters. If you’re new to the Digital Startup YouTube Channel, come and say hello in the Digital Startup Forum. You can share things you’ve learned, ask questions if you get stuck or simply help others who may need help. I’m very active over there, and it’s much easier to have a conversation on the forum that it is over the YouTube comments. I’ve dropped a link in the description if you’d like to say Hi.

Chapter 4: Create a database for installing Magento 2.3

This Chapter is super-easy and quick. We’ll just be logging into phpMyAdmin (that we installed in Chapter 2) and creating a Magento user and database.


Set up a user & database
  1. So visit HTTP://<your_server>/phpmyadmin
  2. Log in with your MySQL root credentials
  3. Once logged in, click User Accounts
  4. Then click Add user account
  5. Enter a username – I’ll call mine magento-master
  6. Change Host name to Local
  7. Generate a password and write it down safe
  8. Click the box below labelled “Create database with same name and grant all privileges.”, which will conveniently create a database for us at the same time as creating the user.
  9. Now hit Go at the bottom-right of the page

You’ve now successfully set up an isolated MySQL User than only has access to one specific database that it owns. A database that Magento will use to store all kinds of data such as settings, products details, customer details, sales and so on… I told you it would be a super-easy chapter.

Chapter 5: Install Magento 2.3 via the Setup Wizard

This is the point, where we get to load up Magento in our web browser for the first time. If for whatever reason you see an Error 500 message display when you try to load the web page, then go back and double check that you’ve completed the PHP sections and Folder permissions sections correctly.

Run Setup Wizard
  1. So, let’s load up Web Setup Wizard
  2. HTTP://<your_server>/setup
  3. Hit the orange button to proceed
  4. …continue to follow the prompts…

So, let’s make sure we can load our Frontend and Backend successfully. It’s normal for everything to run slow at first. The most regular issue you might come across is the pages not loading correctly. Anything from images and styling not loading on the frontend and the backend resulting in a 404. In almost all cases, this is down to Apache rewrites not being enabled. So revisit Install Apache and configure it specifically for Magento 2.3 section in Chapter 2.

Update memory_limit

Before you get too excited and start playing with Magento, we will want to increase our PHP memory_limit. By default, Magento will be using 756MB of your web servers available memory. This will commonly make Magento slow and result in some errors.

Open our .htaccess file [52:56]

nano .htaccess

Use your Arrow or Page Up/Down keys to work your way down the file and find a line containing memory_limit. You’ll actually find 2 instances in the file, one under PHP 5 and one under PHP 7. Just go ahead and change the instance under PHP 7. [54:01]

Replace 756MB with 2G

To save your changes, press Ctrl+X. Then you’ll be asked if you want to save your changes. Simply Type “Y” and then Enter to do so.

Install cron tasks

Next we need to set up our cron tasks. These are scheduled tasks that are required to run in the background. They assist with tasks like Indexing, Backups, Updates and so forth.

Luckily, this can now be setup by running one command [54:53]

bin/magento cron:install

Congratulations – You’ve just built a Web Server and installed Magento 2.3. If you ran into any problems along the way, feel free to reach out for help either:

  1. In the YouTube video comments
  2. In the article comments below
  3. On the Digital Startup Forum. You’ll probably get the best answers on the Forum, because we can hold a good conversation on there and share screen prints etc…

As we’ve come this far, I figured I’d throw in a bonus chapter to show you how to install Sample Data into Magento 2. This is useful if you’ve never used Magento before as it shows you what a standard setup looks like.

Chapter 6: Bonus – Install Sample Data Switch to Developer Mode

Now that you’ve backed up your work, it’s time to switch Magento to Developer Mode. Magento has 3 modes, all designed to use optimal settings based on your usage. In Developer Mode, you can access more tools..

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Why is Magento 2 so slow? The way in which Magento 2 is structured, is very clever as it improves the time and cost it takes to develop an eCommerce store. However, it also has the knock-on effect of slow performance and increased loading times if Magento isn’t setup correctly.

Well today, I’d like to share with you 12 very simple tips that you can change yourself in the backend of Magento, that can drastically improve your site-loading speeds in both the Frontend and Backend.

Before I start, you’ll find a link to an article I wrote that supports this video. You’ll find pictures, instructions and links that I’ll go over in a moment.

So, I wasn’t quite sure how to approach this video at first, because there are so many variables involved when it comes to improving the performance of Magento 2. So, I decided to focus on the really easy quick-wins that anyone with any skill level can follow. Some changes will be like “meh” and others will be like night and day.

I’ve also included 2 bonus tips at the end of this video, which can also result in a drastic performance increase. And although they’re a little bit more technical, I decided that they were too important not to mention.

I should also state, that if you’re currently still building your store, then think twice about using some of these tips. As they might hinder your development time.

Why is Magento 2 so slow? – Before and After

I’d first like to show you a side-by-side example of what I’d consider a worst case scenario (featured on the left) and a best case scenario (features on the right).

When the countdown hits zero, I’m going to start a race between the 2 examples. First I’ll navigate to an item of clothing, add it to my cart, and then head to the checkout.

As you can see (on the left), Magento takes a hot-minute to respond to my mouse-clicks and the pages take even longer to load.

On the right, Magento 2 feels super-responsive. As you can see, there’s a considerable difference between the 2 examples. And right now, the version on the right is still in Developer Mode. But more on Modes towards the end of this video.

So, let me repeat this experiment using the backend of Magento. I’m going to login to Magento, and create a new order.

Here, you’ll see similar results to the first. However, the keen-eyed amongst might notice that the backend is still a little bit slow on the optimised version. That’s because the tasks that you carry out on the backend of Magento are more sophisticated than what someone would do on the frontend. Meaning not as many things are able to be cached. But this is totally normal.

1. The Web Server

Now, bare in mind that I’m only running my copy of Magento on a Development Server that costs me less than $20 per month. I have many development servers with several different providers, and the optimised results I’m showing you here are all the same.

Web Hosts I use

But whilst on the subject of Web Servers, my first Tip would be to choose a server location that’s in your country. For example, when I build servers, the default setting to host the server is usually in the US. But both my customers and I are based in the UK.

Having a server so far away will result in increased delays on your store as information has to bounce backward and forwards oversees. If there isn’t a server available in your country, get one as close as you can or turn to a different provider.

2. Enable all Magento caches

My next tip has a very significant impact in performance. So, I’ll show you this now.

Head over to System > Cache Management. Make sure that all of your Cache Types are set to “Enabled”. If they aren’t then choose Select All from the Dropdown, then Enable and hit the Submit button.

Once everything is set to enabled, you will start to notice that pages you visit will be cached into the system. So, the second time you visit the page it will load much faster. This applies to both the Frontend and the Backend.

3. Enable Flat Categories and Products

Next, I’ll enable Flat Categories and Flat products.

Head over to Stores > Configuration > Catalog > Catalog and expand “Storefront”. Now set both “Use Flat Catalog Category” and “Use Flat Catalog Product” to “Yes”.

This is a form of database caching, which will result in faster loading of information on the frontend of your store. It gets much of your necessary attributes from various tables in your database, and merges them it into one easily accessible table.

You can choose which attributes get merged into your Flat Catalog by adjusting your Product attributes.

Simply go to Stores > Product. This will list all of your Product Attributes. Then chose your attribute (in my case I’ll select “color”).

Then under the “Storefront Properties” section, scroll down to “Used in Product Listing” and ensure this is set to “Yes”.

4. Merge and Minify CSS & JS Files

There is also another setting that will directly affect the viewing experience of anyone browsing your store. Both Merging and Minifying your Javascript and CSS files will compress the size of the files that are downloaded by the browser of your visitor. You won’t normally see huge gains in speed with these settings turned on, but it does make a difference.

You’ll find these settings in Stores > Configuration > Advanced > Developer. If you expand both the JavaScript and CSS sections, you will see the 4 settings relating to Merge and Minify. Just Change these from “No” to “Yes” and hit save.

I just want to note that I’ve had mixed results with “Merge JavaScript Files”. So, if you find that your frontend is misbehaving after changing these settings, then switch this one back to “No”.

5. Disable JS Bundling

Whilst we’re still on this settings page, I just want to take a moment to highlight the “Enable JavaScript Bundling” option under Javascript Settings. The purpose of this setting is to optimise Magento, by bundling groups of Javascript files together. This limits the number of requests a web browser has to make to the server.

On paper that sounds like a great idea. However, micromanaging what files are bundled can be quite difficult. This can result in a buggy experience on the frontend and the bundled JavaScript files can result in being larger than they need to be.

So this is something I tend to leave off as the benefits of having it off tend to outweigh having it on.

6. Magento Updates

This next one might sound a little obvious, and maybe it is, but I’m still going to mention it. It’s really important to ensure that your version of Magento is up-to-date. Things like old bugs and optimisation opportunities get address as more patches get released. It’s unlikely you’ll get a significant performance boost after an update, but every little helps.

You can check for updates by going to System > Web Setup Wizard and choosing System Upgrade. When the page finishes loading, it will tell you if there is an update available and walk your through the steps.

By-the-way, if you’ve made it this far during the video, I’d really appreciate it if you hit the like button on this video as it helps to support the channel. And don’t forget to subscribe for more weekly Magento videos.

7. 3rd party extension Update

So, on the subject of Magento updates, the same thing can be said for 3rd party extensions you might have installed. Just click on Extension Manager (You’ll need to wait a minute or two), but once loaded you’ll see a list of extensions you have installed with available updates. This is indicated by the blue icon. From the actions column on the right, you can choose to update the extension which will walk you through the steps.

8. Remove Third Party Extensions

One final note to mention whilst we’re in the Web Setup Wizard, is disabling unused extensions. Clicking on the Module Manager will display a list of all installed modules. Most if the items in this list are important Magento modules. But you’ll also be able to use the Actions column to disable unwanted modules that you may have installed in the past.

9. Scheduled Indexing

Next I want to talk about Indexing. I actually did a video on Indexing a few weeks ago that will explain what it is in more detail. I’ll add a link in the video description if you’d like to learn more.

Head over to System > Index Management. There’ll be a good chance that your Indexer Modes will all be set to “Update on save”. This is great if you have a few hundred products. But if you have a few thousand products, then you might find Magento a little sluggish after you make changes to your Categories or Products. Especially, if there are a few of you that edit records over the course of the day.

In cases like these, I’ve found it much more efficient to change the mode to “Update by schedule”. You can then schedule Indexing to take place over several intervals during the day, which helps reduce bottlenecking. The only downside is that your changes won’t be displayed on the frontend until the Index has taken place. In most cases I’ve found this not to be an issue.

By-the-way, if you do decide to change this to “Update by schedule”, then you can amend the schedule by going into Stores > Configuration > Advanced > System > Cron.

After expanding the Index Group, you’ll see a value for “Generate Schedules Every”. By default, this is set to 1 minute, but you could change this to whatever you feel is best. The value you set should take place from the time you save the configuration. So if it’s 12:15 and I save a value of “60” then the next scheduled Index would take place at 1:15. Unfortunately, it doesn’t appear you can set a specific time of day just yet.

10. Disable any debug logs

Sometimes you can find debug logs a heavy resource on your store. These type of logs tend to write large files to your system that aren’t necessary. Your results may vary between seeing no difference to seeing a little difference in store optimisation.

You’ll also find that debug logs are normally off by default, but it’s worth checking. To check your setup, head over to Stores > Configuration > Advanced > Developer > Debug and check that Log to File is set to “No”. If you’re in Production mode, this will be disabled by default. Again, I’ll get to Magento Modes later in this video.

You should also check that any 3rd party extensions you’ve installed are also not using debug logging. So make sure you check those settings, wherever they may be.

A quick note…

Now, these next two tips require you to be able to navigate your way around your web server via SSH. If this scares the living daylights out of you, or you have no idea what I’m talking about, that’s fine. In my article, I’ll add a message that you can copy & paste in a support ticket to your Web Host so that they can do this for you.

11. Enable Production Mode

So the first thing I want to mention are Magento Modes. There’s actually 3 Modes that Magento can switch between. They’re designed to be used during different stages of your websites development.

You’ve got Developer Mode, which is what my sites mode is in right now. It doesn’t use a great deal of caching because that just makes things harder to develop. Therefore, this mode is the slowest of them all.

Next you’ve got Production Mode. This mode is designed to cache as much as possible, and it even automatically disables some developer features that could drag down your stores performance. As you can imagine, it’s the fastest state that Magento can be in.

Lastly, you have Default Mode. This is a mixture between the first 2 modes. And as you can tell by the name, it’s also the mode that Magento comes in when you first install it.

If your store is currently live and ready for business, you’ll definitely want to switch to Production mode. However, this can only be done with the Command Line Interface, which you can only access via SSH.

To do this, first log into your server and navigate to the root directory of Magento. You’ll know that you’re there because when you type “ls -la”, you should see a list of files similar to this.

If we want to check which mode we are currently in, then simply type:

bin/magento deploy:mode:show (and hit Enter)

As you can see, I’m currently in Developer Mode.

To enable Production Mode, type:

bin/magento deploy:mode:set production (and hit enter)

After a few moments, you’ll see a bunch of text scroll down the screen followed by a confirmation message that you’ve switched modes. If you come across any errors, they can often be caused by a low PHP Memory Limit that I’ll move onto now.

Raising a ticket

Copy and paste the below message, if you would prefer to get your Web Host to do this for you:

Please, can you change the Mode of my Magento 2 store. I believe it is currently in DEFAULT MODE but would like to change this to PRODUCTION MODE. This can only be done via the Command Line Interface. Could you run the following command as the file owner: “bin/magento deploy:mode:set production”. Thanks

12. PHP Memory Limit

So my final tip of the video also requires access to your server via SSH or FTP. This instruction will only work for those using Apache with PHP. Checkout this post if you’re running Nginx.

The tip focuses on increasing your PHP Memory Limit. By default, Magento uses 756M. I’ve found that increasing this value to 2G can make a significant difference when running certain tasks.

So, assuming that you’re still in the root directory of Magento, you’ll want to edit your htaccess file using a text-editor called nano. So type:

nano .htaccess (and hit enter)

You’ll see a bunch of configuration text on the screen. Just use a combination of both Page Down and your Arrow Keys on your keyboard to navigate down to a line that says “php_value memory_limit 756M”.

You’re going to find to instances in the file. In my case, I’ve already changed the values. One for PHP5 and one for PHP7. If you’re not sure what version you’re using, just change both. Simply delete “756”M and replace with “2G”.

When typing numbers in the nano text-editor, be sure to use the number keys at the top of your keyboard rather then on the right – As they function slightly differently in the nano editor.

Once you’re happy with your changes, press Control+X to exit. Then type “Y” and Enter to save. These changes will now let Magento know what it can use more of the RAM on your web server.

Raising a ticket

Copy and paste the below message, if you would prefer to get your Web Host to do this for you:

Please, can you change the PHP Memory Limit of my Magento 2 store. I believe it is currently set to 756M, but I need it changing to 2G. The configuration options are in the .htaccess file of my Magento Root Directory. Thanks


Well, I hope you found these tips of some use. Don’t forget to backup your store before making any changes.

What you’ve seen here today focuses on super-simple settings that you can easily change in the backend of Magento 2 (with the exception of the last 2 that I just had to mention). At some point in the future, I’ll cover this topic again but discuss both Server Optimisations and 3rd Party Services to make Magento 2 faster.

The post Why is Magento 2 so slow? 12 EASY Tips to make Magento 2 faster appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

By the end of the year, we’re hoping to see the next significant release of Magento. This will see the next version changing from Magento 2.2.x to Magento 2.3. In this video, I’ll highlight 16 changes that we can expect from the update.

If you’re new to Magento 2, then checkout the Magento 2 Beginner Playlists on the Homepage of this Channel once you’ve finished watching this video. And don’t forget to subscribe for more weekly Magento videos.

So, aside from the change in version numbers what can we expect from the Magento 2.3 update, scheduled later this year? Note, that this list contains a mixture of changes aimed at either your role as an admin, a developer or maybe both.

<Video coming soon>

1. Bug Fixes

Well, I guess the very first thing we can expect is a tonne of bug fixes that have been reported and acknowledged during the release of Magento 2.2. On the flip-side, we can probably expect the introduction of a few more bugs as that tends to be the norm when releasing new software updates.

In terms of features, there’s plenty that have been announced. Although, some of these may be restricted to the Enterprise version, known as Magento Commerce. Anyway, this is what I’m aware of…

2. Progressive Web App (PWA)

If you’re unfamiliar with the terminology, a Progressive Web App is an Application that uses Web Building elements (much like a mobile browser) but can tap into the full functionality of your mobile device like a standard app. This could be something like access to the camera or push notifications, just to name a couple. Allegedly, they are also cheaper to build than traditional apps that you might find on your app store.

Anyway, Magento have acknowledged this progression in technology and will be releasing the PWA Studio that will help developers to quickly learn and build applications that can support your online store. It sounds really exciting and I can’t way to learn more later this year.

3. GraphQL

On the subject of Progressive Web Apps, Magento are also going to support GraphQL. This API technology will allow Progressive Web Apps to pull and push information from your Magento store but using much smaller packets of data. This ultimately means faster loading times than the traditional APIs that Magento 2 currently uses.

4. Asynchronous API

And whilst I’m talking about APIs, the upcoming update will allow multiple APIs to run at the same time. Right now, if an API request is made to Magento it is queued until the request before it is completed. So, if your online store relies heavily on APIs then you will see a significant improvement in the time it takes to handle data.

5. Declarative Database Schema

Right now, when a module is developed for Magento 2, it has to be structured in a complex way that can result in unwanted bugs. Well the upcoming update will allow developers to restructure parts of their modules so that it can be written much clearer. This will result in a reduction of potential bugs, easier development and performance improvements.

6. Multi-Source Inventory (MSI)

This is another pretty cool feature for store admins to take advantage of. Multi-source inventory will allow you to natively manage inventory from multiple sources. This is super-useful if you stock your items at multiple warehouses or brick-and-mortar stores.

Also, inventory will be reserved using a new table structure within the database. This is another change that will ensure that your store performance will not be degraded.

7. Page Builder

As an Magento Open Source user, this one might make you a little sad. An exclusive feature for Magento Commerce users will be the new Page Builder. This is powered by a company called Blue Foot CMS that Magento recently acquired.

It allows you to build pages using a drag-and-drop style interface. And it adds a very clean and intuitive user experience for any admins looking to build pages without any HTML or CSS experience. Hopefully, we might see a lite version of this for Magento Open Source users in the future.

8. 2FA

Two-Factor Authentication is an extra layer of security. First, a user will enter their username and a passphrase. Then, instead of immediately gaining access, they will be required to provide another piece of information that is provided by something like the Google Authenticator App.

I recently talked about this on the channel. As it was recently announced that you can now install this into Magento 2.2 early if you have access to your Command Line Interface and Composer support. But from what I understand, Magento 2.3 will come packaged with this module if you can wait.

9. Google reCAPTCHA

Google reCAPTCHA is used to help restrict access to your Magento site to only humans. The reCAPTCHA module provides enhanced security when compared to the Magento CAPTCHA module that’s already built-in. Its additional benefits include support for invisible reCAPTCHA.

It was recently announced that you can now install this into Magento 2.2 early if you have access to your Command Line Interface and Composer support. Again, I believe Magento 2.3 will come packaged with this module if you can wait.

10. Message Queue

This is another feature that is being introduced to the Open Source Edition, that the Commerce Edition already utilises. I’ll admit, that I struggled getting my head around this feature. But from what I understand, this allows Magento to queue tasks when the system is busy.

So, if I carry out a task by clicking on button, then rather than waiting for the web server to respond, I can carry on pressing other buttons and the task will be completed as soon as the system deals with the previous request. Thus improving performance and usability. Again, this is how I understand it but I could be wrong.

11. ElasticSearch

This is a 3rd party search engine that can be run on a dedicated server. It is extremely powerful and the purpose of this utility is to improve the speed and relevance of your in-store search results. It’s actually something that is already supported by Magento Commerce. But now it’ll be officially supported for all Magento Open Source users running the latest 2.3 version.

12. PHP 7.2

PHP is a fundamental requirement of Magento. And despite the release of PHP 7.2 last year (which promises increased performance and security), the requirements of Magento have restricted the compatibility to a maximum 7.1.

Well, in this next update we can expect to see full support for PHP 7.2. Also, any backward-incompatibility issues should be resolved, and all 3rd party libraries should support PHP 7.2. I also believe that all 7.0 compatibility will be dropped but that’s yet to be confirmed.

13. Libsodium

This one also relates to PHP. At the moment Magento 2 uses a PHP module called mcrypt. This is used for encryption. But because PHP 7.2 has phased this out, mcrypt will be replaced by the libsodium module. As an admin you probably wouldn’t be aware of this change. However, as a developer it’s an important change to note when building new sites or servers.

14. Import/Export Improvements

I don’t have any specific details, but I have read that the Import/Export features within Magento 2.3 will gain some significant improvements in speed and usability for admins. Hopefully, this will negate the need to rely on 3rd party extensions that currently attempt to cater for those needs.

15. Cache Management ACL

If you currently take advantage of the Role Permissions within the backend of Magento (which I highly recommend), then you can expect Cache Management to appear in the list of resources. This will restrict both actions and access to specific users or User Roles.

16. TinyMCE

So, there is one thing that I truly despise about Magento. And that’s the WYSIWYG Editor. I believe it uses TinyMCE 3 which is 10 years old! Well, apparently this is being replaced by a newer version that should bring in a few more features and be a little more pleasing to the eye.

Magento 2.3 update – Summary

These are some of the things that we can expect to see in the upcoming version of Magento 2.3. It’s entirely possible that not every change will come out with the initial release of 2.3 but could come out in a version such as 2.3.1. Either way, it’s pretty exciting.

So, is there anything I’ve listed that you’re happy to see? Or perhaps something you were hoping to see but didn’t get mentioned. Let me know in the comments.

The post Magento 2.3 update – 16 things to expect appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

One of the critical security issues that have followed Magento Open Source 2.2 all the way back from Magento Community 1 is the potential for brute force attacks on the Admin login page. There are a few tricks you can use to avoid this attack (as I mentioned in my 25 Ultimate Security Checks video I released last year). However, Two-Factor Authentication was never possible unless you went to a 3rd party developer.

But as of last week, Magento officially announced the support of Two-Factor Authentication in collaboration with one of their partners. At this time, Two-Factor Authentication can be installed only from the command line. However, in this video I’ll show you how to do just that.

As I mentioned a moment ago, Two-Factor Authentication can be installed only from the command line using Composer. This means it’s likely that you won’t be able to follow these instructions if you’re using Shared Hosting. But hopefully, we’ll see this module included in a future Magento update.

Anyway, let’s get started…

What is 2FA?

Two-Factor Authentication is an extra layer of security. First, a user will enter their username and a password. Then, instead of immediately gaining access, they will be required to provide another piece of information. With an App like Google Authenticator, it generates a random number associated with your linked account that is only valid for 60 seconds.

So if someone happens to crack both your username and your passphrase, they will still need immediate access to your phone in order to gain access to your account. Of course that also means that if you misplace your phone, you’re not going to be able to log in either.

Authenticator Apps

The new Magento feature supports a number of Authenticator Apps.This includes Google Authenticator, Authy, U2F Keys and Duo Security. Throughout the remainder of this video, I will only be referring to Google Authenticator as I’ve been using this for many years, plus I have no experience with the other 3 Apps. And just for reference, Google Authenticator is Free and can be found on both the Google and Apple stores.

2FA Installation

So to get started with the Command Line Interface, I’ll need to login to my web server via SSH. If you’re not sure on how to do that, then look out for a mini-series that I’ll be releasing soon, which will cover the basics of using a Command Line Interface. Alternatively, you can refer to your web hosts documentation.

Once connected, I need to navigate to my Magento root directory. The root directory of Magento will vary depending on your host or how you installed it. But you’ll know when you’re there, because using the command ‘ls -la’ will list a bunch of files in that directory that should closely resemble this. It’s also wise to note that before you execute any further commands, just make sure to switch to the user who has permissions to modify files if you’re not using shared hosting.

DB Backup

The first thing I want to show you, is how to backup your database using the Command Line Interface. I’d always recommend backing up your store before installing any new modules. This can be achieved using the Web Setup Wizard, but as I’m already logged in via SSH then I may as well do it here.

It’s a super simple command, and you do this by typing:

bin/magento setup:backup --db

and hitting enter. After a few moments, you’ll see a message to confirm the backup was completed successfully.

Install Module

Now I can move onto installing the 2FA module. To do this, I just need to type the following command:

composer require msp/twofactorauth:3.0.0

and hitting enter

You may see a bunch of modules being installed, which may take a few moments and then you’ll be ready for the next step.

Warning: I missed this step in the video

To enable the F2A module, type:

bin/magento module:enable MSP_TwoFactorAuth

and hit enter. A moment later, you will see a confirmation message that this new module is now enabled.

Finally, I just need to complete the installation by typing:

bin/magento setup:upgrade

and hitting enter.

You’ll see a string of text go by like this. And that completes all the necessary steps in the Command Line Interface.

Configure 2FA

For this next step, I just need to jump into the backend of Magento. Then go in into Stores > Configuration > Security > 2FA.

From here, I can Enable Two Factor Authentication by selecting Yes from the dropdown.

The Force Providers option forces every Admin User to require 2FA in order to login. However, leaving the default System Value (which highlights none of them) is possibly my preferred option. This allows me the flexibility to only enforce 2FA for selected users such as Admin or Manager accounts with high levels of access. This means users with lower-level access to Magento (such as Sales or Warehouse teams) won’t be forced to use it.

Otherwise, if you uncheck Use System Value and highlight a provider, then every single Admin user will be forced to setup and use 2FA.

Underneath that option, I can enable Google Authenticator. Setting Enable “trust this device” option to Yes means that the user does not have to enter their authenticator code for a number of days as long as they’re logging in from the same device.

After saving these settings, you may be prompted to clear the cache. So I’ll do that now.

Install the Mobile App

The next thing we need to do, is get a copy of Google Authenticator from the Google or Apple store and install it onto our mobile phone. The application is pretty intuitive, so I won’t be covering those steps here.

With the App now installed, we can come back to it in a few moments.

Enforcing Individual Users

This next step is only required if you’ve decided to enforce 2FA for selected users only. Again this is done by ensuring that Use System Value is checked next to the Force Providers setting.

To enable a user, go to System > Settings > All Users. From the list of users, select the person that you’d like to enable 2FA for. For this demonstration, I’ll select myself. On the left, you will see a new option named 2FA. Clicking on this menu item displays 3 sections.

The first section is used to force available 2FAs for the user. The second resets 2FA for the user. And the third displays a list of trusted devices that have been authenticated with a successful 2FA login.

So I’ll go ahead and check the box for Google Authenticator. Before I can save, I just need to click back on User Info and scroll to the bottom so I can enter my admin password and authorise the change. And then hit the Save User button.

Note, that because I’m updating myself as a user I’ll get kicked out and have to relog into the backend.

However, this time I’m prompted to setup and enter my Google Authenticator code. Scanning the QR Code with the App will only be required once to setup an entry in your phone. And then I’m able to simply enter the 6-digit number displayed in the App to enable a successful login.

Summary of the Two-Factor Authentication setup

So, I hope that you found this video of some use. If you did, please hit that like button to show your support. And subscribe if you haven’t already for more weekly Magento videos.

Until next time, take care.

The post How to enable Two-Factor Authentication (2FA) in Magento 2 appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

There’s a page on an eCommerce store that can often get visited frequently by your customers that you probably never think about. And that is the 404 Page Not Found page. It’s a page presented to a customer whenever they click on a link to a product or page that has moved or no longer exists. Well in this video, I’m going to show you how to build a fancy custom 404 page that acts more like a sales funnel rather than a dead-end.

You may or may not recognise this page, but it’s the default 404 Page Not Found design. As you can see, it’s a bit bland so no-one’s going to read it and there’s no real Call-to-Action.

Well by the end of this video, you’ll be able to turn your 404 Page Not Found design in this!

Page breakdown

It might not be clear just yet, but from a design point of view I’ve broken this page down into 3 sections.

Section 1 (404 Notification)

The first section is for the 404 Notification. As you can see, the page is a little bit more obvious to your customer with the large fancy 404 animation. And in order to add a bit of personality to your company’s brand I added: “It looks like our deals were so good, they broke something…”

Section 2 (Call-to-Action)

The second section is where I’ve added some Call-to-Actions. These act as useful sign-posts to help the customer quickly get back on track. I’ve chosen to go with some super-generic links here, but these could be anything you think is important to your own eCommerce store.

You should also note that the HTML I’ve used to create the phone number link is functional on a mobile device. So if I clicked on it on a mobile phone, it would ask if I wanted to ring the number. Thus saving the need to copy and paste the number.

Section 3 (Latest Offers)

The final section is a showcase to highlight latest offers. It actually uses a default widget within the backend of Magento 2. I simply discounted some products and added them to my Sale Category. Then generated a widget to display items from that category.

And just to add a cherry on the top of this cake, the new design is mobile responsive. So as the screen shrinks to fit the device, the design is dynamically optimised to fit the space.

Okay, so if this looks like something you’d love to have on your store then let’s get to it.

Building the 404 Page Not Found page Create a new page

First things first. Let’s log into the backend of Magento and select Catalog, Pages and then Add New Page.

Now I’ll start by adding a Page Title: “Sorry, this page no longer exists (404 Not Found)”.

Next, I’ll expand the Content section and hide the Editor. This step just makes it easier to copy and paste code. Plus, I find that the editor can sometimes break code that I paste when I try to re-edit it at a later date. You can actually turn this off completely by going into Stores > Configuration > General > Content Management and changing “Enable WYSIWYG Editor” to either “Disabled by Default” or “Disabled Completely”.

Next, I’m going to copy the code the I’ve pre-written and paste into into the Content Box. You can copy the exact code yourself from the article.

Optimised HTML/CSS

<style>@import url(https://fonts.googleapis.com/css?family=Montserrat:400,600,700);@import url(https://fonts.googleapis.com/css?family=Catamaran:400,800);.error-container>span.four:after,.error-container>span.four:before,.error-container>span.zero:after,.error-container>span.zero:before{content:'';display:block;position:absolute}.error-container{text-align:center;font-size:106px;font-family:Catamaran,sans-serif;font-weight:800;margin:20px 15px}.error-container>span{display:inline-block;position:relative}.error-container>span.four{width:136px;height:43px;border-radius:999px;background:linear-gradient(140deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.07) 43%,transparent 44%,transparent 100%),linear-gradient(105deg,transparent 0,transparent 40%,rgba(0,0,0,.06) 41%,rgba(0,0,0,.07) 76%,transparent 77%,transparent 100%),linear-gradient(to right,#d89ca4,#e27b7e)}.error-container>span.four:after,.error-container>span.four:before{border-radius:999px}.error-container>span.four:before{width:43px;height:156px;left:60px;bottom:-43px;background:linear-gradient(128deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.07) 40%,transparent 41%,transparent 100%),linear-gradient(116deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.07) 50%,transparent 51%,transparent 100%),linear-gradient(to top,#99749D,#B895AB,#CC9AA6,#D7969E,#E0787F)}.error-container>span.four:after{width:137px;height:43px;transform:rotate(-49.5deg);left:-18px;bottom:36px;background:linear-gradient(to right,#99749D,#B895AB,#CC9AA6,#D7969E,#E0787F)}.error-container>span.zero{vertical-align:text-top;width:156px;height:156px;border-radius:999px;background:linear-gradient(-45deg,transparent 0,rgba(0,0,0,.06) 50%,transparent 51%,transparent 100%),linear-gradient(to top right,#99749D,#99749D,#B895AB,#CC9AA6,#D7969E,#ED8687,#ED8687);overflow:hidden;animation:bgshadow 5s infinite}.error-container>span.zero:before{transform:rotate(45deg);width:90px;height:90px;background-color:transparent;left:0;bottom:0;background:linear-gradient(95deg,transparent 0,transparent 8%,rgba(0,0,0,.07) 9%,transparent 50%,transparent 100%),linear-gradient(85deg,transparent 0,transparent 19%,rgba(0,0,0,.05) 20%,rgba(0,0,0,.07) 91%,transparent 92%,transparent 100%)}.error-container>span.zero:after{border-radius:999px;width:70px;height:70px;left:43px;bottom:43px;background:#FDFAF5;box-shadow:-2px 2px 2px 0 rgba(0,0,0,.1)}.screen-reader-text{position:absolute;top:-9999em;left:-9999em}@keyframes bgshadow{0%{box-shadow:inset -160px 160px 0 5px rgba(0,0,0,.4)}45%,55%{box-shadow:inset 0 0 0 0 rgba(0,0,0,.1)}100%{box-shadow:inset 160px -160px 0 5px rgba(0,0,0,.4)}}button,html,input,select,textarea{font-family:Montserrat,Helvetica,sans-serif;color:#2f4f4f}.zoom-area{max-width:490px;margin:30px auto;font-size:19px;text-align:center}*{box-sizing:border-box}.column{float:left;width:50%;padding:10px}.row:after{content:"";display:table;clear:both}@media screen and (max-width:1150px){.column{width:100%}.error-container{display:none}}.list-404 li{list-style:circle}</style>
<div > <div > <p >It looks like our deals were <b>so good</b> they broke something...</p><section > <span ><span >4</span></span> <span ><span >0</span></span> <span ><span >4</span></span> </section> </div><div > <h2>Here's some useful links</h2> <ul > <li>Back to the <a href="/"><b>Homepage</b></a></li><li>Visit <a href="/customer/account/login/"><b>My Account</b></a></li><li>Try an <a href="/catalogsearch/advanced/"><b>Advanced Search</b><a/></li><li>Contact us on <a href="tel:+441234456789"><b>01234 456 789</b></a></li></ul> <p>You can also check out some of our latest offers below...</p></div></div><hr><h2>Latest Offers (Up to 20% off!)</h2>

Add the Catalog Products List widget

The next step is to add the Catalog Products List Widget. To do this, I’m going to create a new line under the code that I just pasted. Then I’m going to press the Insert Widget… Button.

From the dropdown box, I’ll select Catalog Products List. You can change these variables to whatever you think is best. But to copy the demo, I’m only going to change “Number of Products to Display” to “5”.

As I mentioned earlier, I already have a selection of items on Sale in my Sale Category. So under conditions I simply need to do the following:

  1. Click the green plus-icon
  2. Select Category from the Dropdown
  3. Click on the 3 dots
  4. Then click on the blue table-icon
  5. Now just click on the category I want to use
  6. And click the green tick-icon to confirm

The final step now is just to hit the Insert Widget button. As you can see, it’s pasted some new code at the bottom of the page – Wrapped in curly brackets. That’s the widget I just created.

Activate the page

By default, the page will use the “2 columns with right bar” layout. In the demo, I used a “1 column” layout. So to change this, just expand the Design section. And then change Layout to “1 column”.

Now it’s time to hit the “Save Page” button.

Setting the 404 Page

Now that the new 404 page has been created, it needs to be set as the default page within Magento.

This is simply done by going into Stores > Configuration > General > Web > Default Pages. To make a change, you first need to uncheck the box that says “Use system default”. This will enable you to edit the field. Then from the dropbox choose the new page, which is indicated by the title. I my case, I chose the page name of “Sorry, this page no longer exists (404 Not Found)”.

Finally, hit the “Save config” button.

Clear the cache

The final step is to clear the cache. So head over to System > Cache Management. You don’t need to clear the entire Magento Cache. Selecting Configuration, Layouts, Blocks HTML output and Page Cache should do the job. So once they’re selected just hit the submit button above the table.

Now, if I go to my website and type in a URL key that doesn’t exist, I should see the new page that I’ve created.

404 Page Not Found Summary

So I want to give a shoutout to Ricardo, who’s original 404 design inspired me to create this for you to enjoy. A link to his work can be found in the article.

Don’t forget that all of the code that I used in this video can also be found in the article, so you can just go straight ahead and copy and paste it. Obviously, the page makes a great starting point for you to mould into your own. Just think carefully about the links your customers might find important if they were to land on this page. Feel free to drop a comment below letting me know the changes you’re going to make.

The post How to customise the 404 Page Not Found in Magento 2 appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Sometimes using Magento 2 will call for the need to either enable or disable modules after you install it. Perhaps you’re trying to debug an issue or simply have no particular need for a certain module at this point in time. Well in this video, I’ll show you 2 methods for enabling and disabling Magento 2 modules. One will be using the backend and one will be using the Command Line Interface.

Three things I’d like to mention before I start. Firstly, don’t forget to like and subscribe if you find this video or any other videos on the channel useful.

Secondly, just a few words of wisdom. I wouldn’t recommend disabling any modules if you’re not sure what you’re doing. And always make sure you backup your website and test in a Development environment before doing anything on your live website.

Thirdly, you’ll find a link to an article on my site that may contain additional notes plus commands you can copy and paste. The article link is in the description below.

Enable and disable modules with Web Setup Wizard

So the first method to enable and disable modules is probably the easiest and most accessible because it can be done from the backend of Magento using the Web Setup Wizard. And it also holds your hand by walking you through the process over several steps. So let’s do that now.

As you can see, I’m logged into the backend of Magento as an Admin. I can access the Web Setup Wizard from the System Menu near the bottom left.

After selecting the option, you will be greeted by 4 options. Note, that whilst navigating the Wizard, you may be prompted to enter your Public Access Key and Private Access Key. This is used to sync your Magento installation with your Magento Marketplace account. If you’re not sure how to generate those Keys, it’s super simple. Checkout my ‘How to install composer and download Magento 2’ video, where I go over this. I’ll add a link to that video in the description below.

So the option I want to choose to enable and disable modules is the Module Manager. When the page loads, it will look similar to this. In the first column, the green icon represents an enabled module and the red represents a disabled one. The last column allows us to carry out our actions for the module. The columns in between help to identify the module and it’s version.

Today, I’ve decided to disable the Signifyd Module. It’s a 3rd party service that was introduced to Magento a couple of updates ago, but I have no need for it.

I should note that not all Magento modules can be disabled, as other modules may depend on them. I just happened to do my research before attempting this.

Now that I’ve identified the module, I’m going to click on the ‘Select’ link the the ‘Actions’ column and press ‘Disable’.

This will now take me though a wizard. It’ll start checking my Magento setup and Server to ensure that my actions can be executed without any conflicts. As you can see, I’m good to go and now allows me to proceed to the next stage.

The second stage insists that I backup parts of my Magento installation before continuing. I don’t have to do this, but I’d always recommend at least a Database backup. So let’s go ahead and do this now.

It’s taken a few moments for the backup to run. But I can now proceed to the final stage, where I’m are presented with a final button labelled “Disable”. Pressing this will display the status of my request. A few moments later the Signifyd module is now disabled.

I can verify this one of 2 ways. The first would be to revisit the Module Manager. And scrolling to the Signifyd module now displays a red icon. The second way is by visiting the Orders Page. The column that used to be there is now gone.

To re-enable the module, just repeat those steps again. Note that when you enable a module, the last process will take a few moments longer because Magento needs to runs an extra step in the background to install it.

Why I prefer the Command Line Interface

Now that you’ve experienced the Web Setup Wizard, you might be wondering why you’d want to go through the hassle of carrying out the same steps using a Command Line Interface. Well, there’s probably many reasons. But there’s only really 2 main reasons why I prefer this method.

Web Setup Wizard is inaccessible

If the backend of Magento is inaccessible because of a misbehaving module, or the Web Setup Wizard isn’t functioning properly then you’ll need a way to disable or enable a module that doesn’t rely on accessing the backend.

Coincidently, at the time of recording this video the Module Manager in the Web Setup Wizard has actually been broken since version 2.2.4 due to a bug that Magento introduced in the patch. However, we should hopefully see a fix by version 2.2.6.

The only reason I was able to access it for this video, was by deploying a workaround. I’ll leave a link to the workaround in the article.

Command Line Interface is faster

My second reason is that I just find the Command Line Interface faster to use. Once you’ve become confident in navigating your server via SSH, you’ll find it more efficient to use. I know it’s not for everyone and sometimes speed does result in mistakes, but I just prefer it. This method also allows me to enable or disable modules in bulk.

Enable and disable modules with Command Line Interface

So to get started with the Command Line Interface, I’ll need to login to my web server via SSH. If you’re not sure on how to do that, then look out for a mini-series I’ll be releasing soon that will cover the basics of using a Command Line Interface. Alternatively, you can refer to your web hosts documentation.

Once connected, I need to navigate to my Magento root directory. The root directory of Magento will vary depending on your host or how you installed it. But you’ll know when you’re there, because using the command ‘ls -la’ will list a bunch of files in that directory that should closely resemble this. It’s also wise to note that before you execute any further commands, just make sure to switch to the user who has permissions to modify files if you’re not using shared hosting.

Backing up

Right now I’m primed so start executing my commands. The first thing I want to show you though is how to backup your database. It’s a super simple command, and you do this by typing:

bin/magento setup:backup --db

After a few moments, you’ll see a message to confirm the backup was completed successfully.

List all modules

Now I can move onto my module actions. The following command allows me to see a list of currently enabled and disabled modules. Not only is it useful to see the status but it helps find the exact name we need to refer to when running the enabled and disable commands.

To run that command, type:

bin/magento module:status
Disabling modules

Sticking with the Signifyd module, I’m going to need to take a note of its name for the next command. Scrolling through the list, I can see that its name is ‘Magento_Signifyd’. Now I can add it to the end of my disable command. I do this by typing:

bin/magento module:disable Magento_Signifyd

A few moments after I hit enter, I’m prompted by a success message.

As I mentioned earlier, you can run this command in bulk. This is done simply by adding names to the end of the command. So, if I want to disable both of the WeltPixel modules I’d type:

bin/magento module:disable WeltPixel_Backend WeltPixel_OwlCarouselSlider
Enabling modules

Enabling a module is very similar but with one extra step. First to enable the module I’ll just carry out the same command from before but substitute the word ‘disable’ for ‘enable’:

bin/magento module:enable Magento_Signifyd

Once I see my success message, I need to run the upgrade command to finish the setup. This is done by typing:

bin/magento setup:upgrade

And it’s as simple as that… If you have any follow up questions, be sure to drop them in the comments section or via the new forum. A link to the forum can be found in the video description below.

If you find yourself intrigued by the Command Line Interface and would like to learn more, then subscribe now and watch out for an upcoming mini-series that will talk you through step-by-step how to become more confident with it.

The post Enable and disable modules in Magento 2 via CLI & Web Setup Wizard appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

I recently had the pleasure of going through an extension by Aheadworks called Refer-a-Friend. The extension allows you to build your own referral programs. This gives your existing customers (like Bob) the ability to invite their friends (such as Jane) to purchase products using referral links via social media whilst tracking their progress in the customer account dashboard of Magento.

  • An easy way to launch customer referral programs
    • Allowing Bob to refer Jane back to your website so he can easily earn rewards
  • Integration with AddThis and ShareThis
    • Allowing Bob to share his referral link via social networks, messengers or email
  • Provide Admins to set a detailed set of rules
    • Whilst still remaining easy to follow and understand by everyone
  • Show performance statistics
    • Allowing Bob to track his personal referrals and Admins to have a global overview
  • Support GDPR Compliance (Right to erasure)
    • Allowing all referral information to be removed along with the customer upon request
Value for money: 8/10
Ease of Use: 10/10
Features: 8/10

The post Aheadworks Refer-a-Friend Extension Review for Magento 2 appeared first on Digital Startup.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Learning new skills can be exciting and rewarding, but with its fair share of challenges. In my experience I’ve found that the quickest way to feel lost and isolated is by not knowing where to turn when you need help. Knowing how to find help is key.

In today’s video, I’d like to talk to you about how you can find help when you run into obstacles using Magento 2. Not only will I be talking about where to find help, but most importantly how to ask for it in a way that others can clearly understand your problem and provide you with the best possible answers.

<Video coming soon>

So whether you are new to Magento 2 or a seasoned veteran, there will always be a time when you need to reach out and find an answer to a problem. The most obvious differences between these two types of people, are knowing the best place to turn for help and how to ask for it.

One of the biggest assumptions a beginner may make when asking a question, is assuming that the person who answers knows their exact situation. A perfect example of this, if you go to something like Reddit or Stackexchange and ask a question about Magento 2, but not only refer to it as “Magento” and not “Magento 2”. The readers of your question may then provide you with an answer to inappropriate version, therefore will likely be of no use to you.

Another example, is if you ask a very vague question. Not providing all the relevant information within your question can often lead to a drawn out string of comments establishing your problem rather than actually giving you the information that you need in order to address it.

How to find help Magento Stack Exchange

If you’re after a reliable source of help for Magento 2 (in terms of how quickly you’ll get an answer), you should head over to Stack Exchange. Specifically, the Magento Stack Exchange.

It’s an incredible resource for finding answer to questions that may already have been answered. And I encourage you to look for an existing question with an answer to your problem before posting. This is because duplication of information is extremely frowned upon by the community – Who expect everyone who posts a question to have first done their research. I’ve seen countless questions being asked, where the Stack Exchange community simply answered the question by providing a link to an existing question of Google search link, followed by a sarcastic comment or downvote.

Another extremely important thing to do is form your question correctly and provide the information that you think might be needed in order for someone to answer that question effectively. But more on that later…

Just to set your expectations, a great reply might not give you the exact answer that you’re after – But instead could be a something that points you in the right direction to continue your investigation. For me, Magento Stack Exchange is always my starting point when I need to find a solution to a problem or at the very least some inspiration on where to look next.

Visit the Magento Stack Exchange

Digital Startup

So, for those of you who have been subscribed to the channel for a while may have noticed that most of my videos encourage you to leave a comment if you have any questions at the end.

If you’re new to the channel, you can find a collection of Playlists that I continue to work on and grow. I always try to answer any comments relating to the video, as soon as I can. It’s also worth noting that it might only be me who sees and responds to your comments because other YouTube viewers might not ever read your comment.

The same goes for the Digital Startup Blog. If you find an article that needs elaborating on, then you’re more than welcome to leave a comment on the blog and I’ll get back to you.

However, some questions that I receive can grow into a larger discussion. But I’ve found that YouTube isn’t a great place to have them. Well, I’m pleased to announce that for those scenarios I recently went ahead and created a Forum built for this Community, and you’re all welcome to join in the discussions.

It’s my hope that anyone like yourself will join the Forum to not only ask questions but also help answer them or simply join in the conversation. The answers you’re looking for might not be as technical as what you might find on Magento Stack Exchange but I really want to encourage a warmer community where you can have some banter and not feel judged by the questions you ask.

Visit the new forum

Official Magento Github

Sometimes I’ll run into an issue with Magento 2 that could be a legitimate issue with the core code. I’ll always look at the Magento 2 Github to check if others are experiencing the same problems. Sometimes you’ll find that the issue you have has already been acknowledged by the Magento team and might give you some idea as to when this will be fixed. If you’re lucky, someone else will pitch in and offer a temporary solution to the problem. I’ve personally submitted 2 bugs with the software that will be addressed in an upcoming version of Magento 2.3.

In order for your issue to be acknowledged, you must follow a strict structure when reporting your bug. This includes: Preconditions, Steps to Reproduce, Expected Result and Actual Result.

If the bug you have reported cannot be reproduced by the Magento team, then your report will be closed and dismissed. In these situations, you should consider that the issue is caused by an external factor like a 3rdy party extension. Remember, that this resource is for Magento core issues and nothing more.

Visit the Official Magento Github

Official Magento Forum

I’ve not used this source very often but you can always head over to the official Magento Forums. As an official Magento resource, you’ll find a very active community. I’d go as far as to say that this is where I go to next if I can’t find what I’m after on Magento Stack Exchange before leaving a post.

Visit the Official Magento Forum


Personally, I don’t really use Reddit. Neither for business or personal use. But I still figured it was worth a mention. You’ll will find a small but active Magento community within Reddit that may be able to answer your questions. As you can tell, posts aren’t made that frequently but most of them get several comments

Visit the Magento Reddit

How to ask for help

Now that I’ve listed some useful sources where you can find help, I’d like to talk about the best way in which you should ask for it. Because formatting the structure of your question plays a critical role in the type of response that you’ll receive.

I’ll start by showing you a couple of poorly written questions, and then I’ll go over how they can be improved.


In this example, the question reads “I just installed Magento 2 but it doesn’t load properly”. From the perspective of someone reading this, it doesn’t offer very much to go on. This means I might ignore the question or downvote it as there is no incentive for me to ask any follow up questions and keep revisiting the post for an update. Most people will want to look at a question, answer it, and move on.

A better way to format

So, the first thing we should think about are the Tags. This feature fills in a lot of gaps and can lower speculation without the need of going into great detail. As the composer of this question, I should be thinking about the environment and type of issue I’m experiencing. As you can see from the screenshot, it’s a problem with CSS and JS not loading on the Frontend and Backend of Magento 2.2.5. So the tags you could use might be: “css”, “js”, “frontend”, “backend” and “Magento2.2.5”. You can end up going over the top here but usually more information is better. At the very least, I’d definitely include “css”, “js” and “Magento2.2.5”.

Next, we need to come up with a refined title. Rather than just saying “I just installed Magento 2 but it doesn’t load properly”, let’s change this to give a better hint to the actual question. So let’s instead say “CSS/JS not loading on Frontend/Backend after clean install”. This is much more to the point and is far more likely to have others click on the question.

Finally, we need to construct our question. There is no right or wrong answer but I like to spend time formatting my questions to make them easier for readers to digest. As you can see, I’ve broken my question down into: Brief (what I planned) and Issue (what I’m experiencing). As a bonus, I’ve also included a screenshot. If I’m dealing with code, then I’ll include another section where I share the snippet of code that might be responsible for the issue.

Now, we’ll receive more appropriate answers than we originally would have with our first attempt.


When asking questions, you should always avoid using sensitive details. Because the information you share could lead to someone taking advantage of it. So always avoid writing legitimate usernames, IP addresses, serial keys and domain names. Normally, if I had to write an IP address I’d replace it with Also, if I have to write a domain name then I’d use something like example.com instead.

Remember, there isn’t one way of composing a question but always try look back at your question and check that you’re covering these main points:

  • Has my question already been asked and answered elsewhere
  • Would it be useful to reference another solution that I’ve tried but didn’t work
  • Have I clearly explained what I’m trying to achieve
  • Have I clearly explained the issue that I’m experiencing
  • Does the question contain all relevant information that someone might need in order to answer
  • and Have I included the output of any relevant error logs for like Magento, Apache, etc…

If you’re happy that you’ve ticked these boxes, then this will increase your chances of receiving an informative and quick response. If not, then you’ll probably not get any response or the answers may not be appropriate to your situation. Over time, you’ll find yourself posting well formatted questions without thinking twice.


To sum-it-up, there are plenty of online communities that you can turn to when you need to find help for Magento 2. Learning new skills for Magento doesn’t have to be daunting and you should never feel like you’re alone.

Magento 2 is still considered a very new platform, so it may be some time before we start seeing more sources of information or help until more people start to adopt the platform.

I’d be interested to know where you turn to when you need assistance for Magento 2. So, please share with us in the comments below.

I hope you were able to take something positive from this video and if you did be sure to hit that like button. Don’t forget to checkout the new Digital Startup Forum.

The post How to find help for Magento 2 when you run into problems appeared first on Digital Startup.

Read Full Article

Read for later

Articles marked as Favorite are saved for later viewing.
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview