Magento 2 – System Requirments (REF)

Standard

System Requirements

For the most up-to-date information, see System Requirements in the developer documentation.

SYSTEM REQUIREMENTS

ENVIRONMENT

Operating System

Linux x86-64

Composer

Composer is required for developers who want to contribute to code base, or develop extensions.

Web Server

Apache 2.2 or 2.4

The apache mod_rewrite module must be enabled. To learn more, see: Apache.

Nginx 1.8.x

(or latest mainline version)

PHP

Supported

Not Supported

7.0.2

7.0.0

7.0.4

7.0.1

7.0.6 – 7.0.x

7.0.3

7.1.x

7.0.5

Required PHP Extensions:

bc-math (Magento Commerce only)

curl

gdImageMagick 6.3.7 (or later) or both

intl

mbstring

mcrypt

mhash

openssl

PDO_MySQL

SimpleXML

soap

xml

xsl

zip

Optional, but recommended

opcache

This extension is bundled in many PHP distributions. To verify, see: CentOS or Ubuntu.

php_xdebug2.2.0or later

Recommended for development environments only.

Additional configuration:

safe_mode off

memory_limit minimum 512 MB

Database

MySQL 5.7or 5.6.x

Compatible with MariaDB and Percona

Magento Enterprise Edition 2.x can use three master databases to provide scalability for the different functional areas of checkout, orders, and product data.

SSL

A valid security certificate is required for HTTPS.

Self-signed certificates are not supported.

Transport Layer Security (TLS) Requirements:

TSL 1.1 or later

PayPal and repo.magento.com require TSL 1.1 or later.

Mail Server

Mail Transfer Agent (MTA) or SMTP server

 

 

Supported Applications

NAME

DESCRIPTION

Reverse Proxy / Web Accelerator

Varnish 3.5

Varnish 4.x (or latest stable version.)

Cache Storage

Redis 3.x

Memcache 1.4.x

Session Storage

memcached latest stable version for session storage with either memcache or memcached PHP extensions (latest stable version)

Search

Elasticsearch

Versions 1.7 and 2.x (recommended)

2.x supported from Linux repository.

2.0 branch supported from PHP repository.

Apache Solr

(Enterprise Edition only)

Messaging

RabbitMQ (Enterprise Edition only)

 

Supported Browsers

BROWSER

VERSION

OS

STOREFRONT/ADMIN

Firefox

Latest, latest -1*

Any

Chrome

Latest, latest -1

Any

Safari

Latest, latest -1

Mac OS

Microsoft Edge

Version 11 or later

Windows

STOREFRONT ONLY

Internet Explorer

Version 9 or later

Windows

DESKTOP STOREFRONT

Safari Mobile

iPad 2

iPad Mini

iPad with Retina Display

OS 7 or later

MOBILE STOREFRONT

Safari Mobile

iPhone 4 or later

IOS 7 or later

Chrome for Mobile

Latest, latest -1

Android 4 or later

Ref: http://docs.magento.com/m2/ce/user_guide/magento/system-requirements.html

Advertisements

Install multiple PHP versions in Ubuntu

Standard

PHP (recursive acronym for PHP: Hypertext Preprocessor) is

  • an open source, popular general-purpose scripting language that is widely-used
  • best suited for developing websites and web-based applications
  • server-side scripting language that can be embedded in HTML

Currently, there are 3 PHP version ie PHP 5.67.0 and 7.1 are supported versions of PHP.

PHP 5.35.4 and 5.5 are no longer supported with security updates.

Step 1

1.1. Add PPA called Ondřej Surý PPA which will let you install different versions of PHP – PHP 5.6PHP 7.0, PHP 7.1 and PHP 7.2 on Ubuntu.

$ sudo apt install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php

NOTE: If you have already added this PPA, you can jump up to step 2. To check if Ondřej Surý PPA is added or not, here is a command you can try:

$ ls /etc/apt/sources.list.d/ | grep ondrej

1.2. Next, update the system as follows.

$ sudo apt-get update

Step 2

2.1. To install different supported versions of PHP as follows.

------------------- For Apache Web Server -------------------
$ sudo apt install php5.6   [PHP 5.6]
$ sudo apt install php7.0   [PHP 7.0]
$ sudo apt install php7.1   [PHP 7.1]
------------------- For Nginx Web Server -------------------
$ sudo apt install php5.6-fpm   [PHP 5.6]
$ sudo apt install php7.0-fpm   [PHP 7.0]
$ sudo apt install php7.1-fpm   [PHP 7.1]

 

2.2. To install any PHP modules, simply specify the PHP version and use the auto-completion functionality to view all modules as follows.

------------ press [Tab] key for auto-completion ------------ 
$ sudo apt install php5.6 
$ sudo apt install php7.0 
$ sudo apt install php7.1

2.3. You can install most required PHP modules from the list.

------------ Install PHP Modules ------------
$ sudo apt install php5.6-cli php5.6-xml php5.6-mysql 
$ sudo apt install php7.0-cli php7.0-xml php7.0-mysql 
$ sudo apt install php7.1-cli php7.1-xml php7.1-mysql

Step 3: Set Default PHP Version in Ubuntu

3.1. Finally, verify your default PHP version used on your system like this.

$ php -v

yogal@yogalshrestha:~$ php -v
PHP 7.1.13-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jan 5 2018 13:26:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.13-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

3.2. To set the default PHP version to be used on the system with the update-alternatives command.

------------ Set Default PHP Version 5.6 ------------
$ sudo update-alternatives --set php /usr/bin/php5.6

yogal@yogalshrestha:~$ sudo update-alternatives –set php /usr/bin/php5.6
update-alternatives: using /usr/bin/php5.6 to provide /usr/bin/php (php) in manual mode
yogal@yogalshrestha:~$ php -v
PHP 5.6.32-1+ubuntu16.04.1+deb.sury.org+2 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

------------ Set Default PHP Version 7.1 ------------
$ sudo update-alternatives --set php /usr/bin/php7.1

yogal@yogalshrestha:~$ sudo update-alternatives –set php /usr/bin/php7.1
update-alternatives: using /usr/bin/php7.1 to provide /usr/bin/php (php) in manual mode
yogal@yogalshrestha:~$ php -v
PHP 7.1.13-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jan 5 2018 13:26:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.13-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

3.3. To set the PHP version in Apache web server.

  • Firstly, disable the current version with the a2dismod command
  • Then enable the one you want with the a2enmod command.
$ sudo a2dismod php7.1
$ sudo a2enmod php4.6
$ sudo systemctl restart apache2

3.4. After switching from one version to another, you can find your PHP configuration file, by running the command below.

------------ For PHP 5.6 ------------
$ sudo update-alternatives --set php /usr/bin/php5.6
$ php -i | grep "Loaded Configuration File"
------------ For PHP 7.0 ------------
$ sudo update-alternatives --set php /usr/bin/php7.0
$ php -i | grep "Loaded Configuration File"
------------ For PHP 7,1 ------------
$ sudo update-alternatives --set php /usr/bin/php7.1
$ php -i | grep "Loaded Configuration File"

yogal@yogalshrestha:~$ php -i | grep “Loaded Configuration File”
Loaded Configuration File => /etc/php/7.1/cli/php.ini

 

 

How To Install Linux, nginx, MySQL, PHP 5.6 (LEMP) stack on Ubuntu 16.04

Standard

Step 1: Install the Nginx Web Server

$ sudo apt-get update

$sudo apt-get install nginx

Enable UFW (Ubuntu Firewall)

$ sudo ufw enable

$ sudo ufw status

$ sudo ufw allow ‘Nginx HTTP’

Step 2: Install MySQL

$ sudo apt-get install mysql-server

Step 3: Install PHP 5.6

Use the following set of command to add PPA for PHP 5.6 in your Ubuntu system and install PHP 5.6.

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6

Check Installed PHP Version:

$ php -v 

PHP 5.6.29-1+deb.sury.org~xenial+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

You can install php5.6 modules too for example

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Step 4: Install PHP5.6-FPM

To install PHP-FPM, open terminal and type in these commands. We will configure the details of nginx and php details in the next step:

$ sudo apt-get install php5.6-fpm

We need to make another small change in the php5-fpm configuration.Open up http://www.conf:

 sudo nano /etc/php/5.6/fpm/pool.d/www.conf

Find the line, listen = 127.0.0.1:9000, and change the 127.0.0.1:9000 to /run/php/php5.6-fpm.sock
.

listen = /run/php/php5.6-fpm.sock

Save and Exit.

Restart php-fpm:

/etc/init.d/php5.6-fpm restart

Step 5: Configure Nginx to Use the PHP Processor

sudo nano /etc/nginx/conf.d/default.conf

Currently, with the comments removed, the Nginx default server block file looks like this:

/etc/nginx/conf.d/default.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
           try_files $uri =404;
           fastcgi_pass unix:/run/php/php5.6-fpm.sock;
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include fastcgi_params;
                
     }
}

Difference between SOAP and REST ??

Standard

Web services that are used to communicate in-between applications that are being developed in many programming-languages and running on different platforms. Like a Java application running on linux platform can communicate with a PHP application running on windows platform. There are two types of web services, SOAP and REST. Let us discuss some main differences between them.

SOAP vs REST – Difference between SOAP and REST Web Services

S.No SOAP REST
1. SOAP stands for Simple Object Access Protocol. REST stands for Representational State Transfer.
2. SOAP is a protocol. It defines some standards that should be followed strictly. REST is an architectural style. It doesn’t define so many standards like SOAP.
3. SOAP is highly secure as it defines its own security. REST inherits security measures from the underlying transport.
4. SOAP message request is processed slower as compared to REST. REST message request is processed faster as compared to SOAP.
5. SOAP supports only XML data format. REST supports data formats like plain text, XML, HTML, JSON, etc.
6. SOAP is not very easy to implement so it is preferred less. REST is easier to implement so it is preferred more.
7. SOAP requires more bandwidth and resources. REST requires less bandwidth and resources.
8. In java SOAP web services are implemented using JAX-WS API. In java RESTful web services are implemented using JAX-RS API.
9. It does not use web caching mechanism. It uses web caching mechanism.
10. SOAP is commonly used in payment gateways, financial and telecommunication services. REST is commonly used in social media, web chat and mobile services.

 

SOAP or REST?

If the security is a major concern and the resources are not limited then we should use SOAP web services. Like if we are creating a web service for banking related work then we should go with SOAP as here high security is needed.

On the other hand if security is not a major concern and we have limited resources. Or we want to create an API that will be easily used by other developers publicly then we should go with REST web services.

soap-vs-rest

source: https://codingsec.net/2016/06/difference-soap-rest/

How I can fix “AppStream cache update completed, but some metadata was ignored due to errors.”

Standard

I executed apt update as root, but I received this error message: AppStream cache update completed, but some metadata was ignored due to errors.

 

Answer:

The bug has been fixed in appstream package version 0.10.1, but the version that gets installed in Ubuntu 16.04 is 0.9.4 by default. Ubuntu 16.10 automatically receives the update as it’s provided in its standard repositories.

The updated package version with the bugfix for Ubuntu 16.04 however is only provided through the xenial-backports repository, which has a lower priority than the others. This means it won’t upgrade to this version unless you manually specify it.

To enable the xenial-backports repository in first place, follow How do I enable the “backports” repository? (but only enable the repository, you don’t need to modify the repo priority).

After that, upgrade to the version from xenial-backports by typing:

sudo apt install appstream/xenial-backports

Now your appstream package should be upgraded to version 0.10.1.

$ appstreamcli --version
AppStream CLI tool version: 0.10.1

Now force refreshing the cache data, you should no longer see any warning:

$ sudo appstreamcli refresh --force
AppStream cache update completed successfully.

Source link: http://askubuntu.com/questions/854168/how-i-can-fix-appstream-cache-update-completed-but-some-metadata-was-ignored-d

SAAS, PAAS and IAAS : Three ways to Cloud Computing

Standard

There typically three ways to cloud computing. People often hear about these three (PAAS, SAAS, IAAS) terms in cloud computing. Lets discuss about these three terms here. Lets know what they are, what are their pros and cons.

Firstly, abbreviations

  1. SAAS : Software as-a service
  2. PAAS : Platform as-a service
  3. IAAS : Infrastructure as-a service

IaaS vs. PaaS vs. SaaS

Continue reading