Wikipedia

Search results

Sunday, October 21, 2018

Segmentation fault during rollback in Magneto installation

Symptom

When you attempt to roll back using the command line, the following error displays:
Segmentation fault
As a result, the rollback does not complete.

Details

In some cases, a very long query string causes the user’s allocated memory space to run out of memory because of too many recursive calls. We’re aware of this issue and are working on a solution.

Workaround

Until a solution is available, we recommend setting the ulimit for the Magento file system user to a value of 65536 or more.
You can do this either on the command line or you can make it a permanent setting for the user by editing their shell script.
If you haven’t done so already, switch to the Magento file system owner.
Command:
ulimit -s 65536
You can change this to a larger value if needed.
The syntax for ulimit depends on the UNIX shell you use. The preceding setting should work with CentOS and Ubuntu with the Bash shell. However, for Mac OS, the correct setting is ulimit -S 65532. Consult a man page or operating system reference for more information.
To optionally set the value in the user’s Bash shell:
  1. If you haven’t done so already, switch to the Magento file system owner.
  2. Open /home/<username>/.bashrc in a text editor.
  3. Add the following line:
    ulimit -s 65536
    
  4. Save your changes to .bashrc and exit the text editor.

Error 'MySQL server has gone away' during installation in Magento

Details

During installation, the following message displays:
MySQL server has gone away

Solution:

Set the value of table_open_cache to a value of at least 250 as follows:
  1. As a user with root privileges, open the MySQL configuration file in a text editor.
    Ubuntu 16: /etc/mysql/mysql.conf.d/mysqld.cnf
    Ubuntu earlier than 16: /etc/mysql/my.cnf
    CentOS: /etc/my.cnf
  2. Search for an existing table_open_cache setting. If there is none, add one.
  3. Set the value to at least 250:
    table_open_cache=250
    
  4. Save your changes to my.cnf and exit the text editor.
  5. As a user with root privileges, restart the MySQL service:
    Ubuntu: service mysql restart
    CentOS: service mysqld restart

Fatal error: Maximum function nesting level of '100' reached, aborting! in Magneto eCommerce


Context :

If you use the optional PHP extension xdebug, you can encounter exceptions:
  • During installation
  • Accessing either the Magento Admin or storefront after a successful installation
Sample exception:

Fatal error: Maximum function nesting level of '100' reached, aborting!

Solution :

To resolve this issue, you can:
  • Disable the xdebug extension.
  • Set the value of xdebug.max_nesting_level to a value of 200 or more. For more information, see xdebug documentation.
After you change the configuration of or disable xdebug, restart Apache:
  • CentOS: sudo service httpd restart
  • Ubuntu: sudo service apache2 restart
Note :

xdebug.max_nesting_level
Type: integer, Default value: 256
Controls the protection mechanism for infinite recursion protection. The value of this setting is the maximum level of nested functions that are allowed before the script will be aborted.Before Xdebug 2.3, the default value was 100

Thursday, October 18, 2018

What is a docroot in different web server for different OS

Solution :


The web server document root (often referred to as the docroot) is where you put all the files your website needs to function.

The path to your web server’s default docroot varies depending on the following:
  • Operating system
  • Web server software
  • Hosting provider (if you use one)
You can use virtual hosts and server blocks to run more than one website on a single machine (e.g., company1.example.com and company2.example.com) or override the web server’s default docroot without changing it.

To find the docroot on your server:
  1. Open one of the following files in a text editor:
    • Ubuntu
      /etc/apache2/sites-available/000-default.conf (Apache)
      /etc/nginx/sites-available/default (nginx)
      
    • CentOS
      /etc/httpd/conf/httpd.conf (Apache)
      /etc/nginx/nginx.conf (nginx)
      
  2. Search the file for DocumentRoot or root.
    Typically, the default Apache docroot on Ubuntu and CentOS is /var/www/html whereas the default nginx docroot on CentOS is /usr/share/nginx/html. For example:
    • Apache + Ubuntu/CentOS
      DocumentRoot "/var/www/html"
      
    • nginx + CentOS
      root      /usr/share/nginx/html
      

Tuesday, October 16, 2018

What is the software that the Magento server needs to run?

Solution :

The full list of software is listed in System Requirements but here are the essentials:
  • Web server for providing access to web pages

  • Database management system for long-term data storage and retrieval
  • PHP - PHP is an open source scripting language suited for web development because it can be embedded in HTML (the language of the web).

What's the difference between a module and a component?

Solution :

module is a type of component
A component can be:
  • module (code that extends Magento behavior)
  • theme (changes the look and feel of your Magento Admin or storefront)
  • Language package (used to translate text and messages in the Magento application)

How do I log in to my Magento server using a terminal, command prompt, or SSH?

Solution:

Prerequisites: You must have:
  • A terminal application
    Windows and Mac OS typically use different terminal applications.
  • A username and password for the Magento server
To use a terminal application to remotely access the Magento server:
  1. Set up the terminal application according to its provided documentation.
  2. Start the terminal application.
  3. When prompted, enter your Magento server’s hostname or IP address.
  4. Log in to the server with the username or password you were provided.
Here’s what it looks like when you’re logged in to a server as the root user with Cygwin on Windows.
Logging in with Cygwin on Windows

command to check Operating system version for CentOS and Ubuntu

Solution :

If you already know you’re running Ubuntu or CentOS but don’t know the version.

CentOS

To find the CentOS version, enter the following command in Terminal:
cat /etc/*release*
The following sample output shows you’re running CentOS 6.5 (you can ignore most of the output):
CentOS release 6.5 (Final)
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
cat: /etc/lsb-release.d: Is a directory
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)

Ubuntu

To find the Ubuntu version, enter the following command in Terminal:
lsb_release -a
The following sample output shows you’re running Ubuntu 14:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty

How to verify is Magento software installed already

Solution :


  • To determine if the Magento software is installed already, you can access the Magento Admin (administration console) or storefront using a web browser.
  • Then open a web browser and go to the URL you were provided. Some examples follow:

http://www.example.com/magento2/admin
https://www.example.com/admin
http://www.example.com

  • If a 404 (Not Found) error displays, Magento probably isn’t installed. You should confirm that with your system administrator or hosting provider.

  • If Magento is installed, you should see something like the following after you log in:
    Magento Admin:
    Magento Admin which verifies a successful installation
    Magento storefront:
    Magento storefront which verifies a successful installation


Magento 2.2.x technology stack requirements

Solution:

Pre-requisite : for the magneto installation

Operating systems (Linux x86-64)

  • A Linux distribution such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and so on.

Memory requirement

  • Upgrading the Magento applications and extensions you obtain from Magento Marketplaces and other sources can require up to 2GB of RAM. 
  • If you are using a system with less than 2GB of RAM, we recommend you create a swap file; otherwise, your upgrade might fail.

Composer (latest stable version)

  • Composer is required for developers who wish to contribute to the Magento 2 codebase or anyone who wishes to develop Magento extensions.

Web servers

Database

  • MySQL 5.6, 5.7
  • Magento is also compatible with MySQL NDB Cluster 7.4.*, MariaDB 10.0, 10.1, 10.2, Percona 5.7, and other binary-compatible MySQL technologies.

PHP

7.0.0–7.0.127.0.13–7.0.x7.1.x
Not supportedSupported (2.1.2 and later)Supported (2.1.2 and later)
Required PHP extension

  • The CentOS and Ubuntu PHP installation instructions include a step for installing these extensions.
  • bc-math (Magento Commerce only for 2.2.0 - 2.2.3. Magento Commerce and Magento Open Source as of 2.2.4.)


PHP OPcache

  • strongly recommend to install PHP OPcache is enabled for performance reasons. 
  • The OPcache is enabled in many PHP distributions. To verify if it is installed, see our PHP documentation for CentOS or Ubuntu.
  • If you must install it separately, see the PHP OPcache documentation.

PHP settings

  • We recommend particular PHP configuration settings, such as memory_limit, that can avoid common problems when using Magento.
  • For more information, see Required PHP settings.

SSL

Mail server

  • Mail Transfer Agent (MTA) or an SMTP server

Magento can use the following technologies:

  • Redis version 3.2 (compatible with 2.4+ ) for page caching and session storage
  • Varnish version 4.x or 5.0
  • memcached latest stable version for session storage with either memcache or memcached PHP extensions (latest stable version)

Magento can use the following technologies:

  • Redis version 3.2 (compatible with 2.4+ ) for page caching and session storage
  • Varnish version 4.x or 5.0
  • memcached latest stable version for session storage with either memcache or memcached PHP extensions (latest stable version)

Magento Commerce only

  • Elasticsearch
    Magento Commerce version 2.2.x supports the following Elasticsearch versions:
    • Elasticsearch 5.x
    • Elasticsearch 2.x
    Magento 2.2.3 uses Elasticsearch PHP client version 5.1. Before version 2.2.3, Magento used PHP client version 2.0.
  • RabbitMQ 3.5.x (compatible with 2.0 and later)
    RabbitMQ can be used to publish messages to queue and to define the consumers that receive the messages asynchronously.
  • Three master databases
    These master databases provide scalability advantages for different functional areas of the Magento application, such as checkout, orders, and all remaining Magento2 application tables.
  • php_xdebug2.2.0> or later (development environments only; can have an adverse effect on performance)

Monday, October 15, 2018

Basic steps for the installation of Magneto eCommerce in Unix Server


Solution : Steps for the installation of Magneto eCommerce Software

1. Server setup and Prerequisite
2. Get the Magneto Software
3. Install the Magento software using either the Web Setup Wizard or command line.
4. Verify the installation by viewing your storefront and the Magento Admin.

High Level Magneto Installation Diagram:



How Magento installation works