Showing posts with label magento. Show all posts
Showing posts with label magento. Show all posts

Tuesday, June 9, 2020

Magento 2


Magento Layered Architecture






Unit tests are designed to test individual class methods in isolation, asserting all possible combinations and taking care of the smallest testable part of an application.


Integration tests test the interaction between individual components, layers, and an environment.


Static tests do not really run the code; they analyze it. They are used to verify that the code conforms to certain coding standards

Integrity tests check how an application is linked. They check for things such as merged configuration validation. Basically, they tell us if your application should be able to run.

Functional tests mimic the user interaction with our application. They literally mean testing in the form of browser interaction, which involves clicking on the page, adding products to the cart, and so on.



Books


https://learning.oreilly.com/library/view/magento-2-development/9781789343441/














Monday, May 22, 2017

Dream come True on Magento



was able to run Magento on few commands , thanks to docker.


https://github.com/alexcheng1982/docker-magento

add a  host file entry

127.0.0.1 local.magento


docker-compose up -d






https://github.com/andreaskoch/dockerized-magento


https://hub.docker.com/r/alexcheng/magento/


Wednesday, August 3, 2016

Magento Cloud





Reference


  1. install 2 vm ubuntu 14 LTS (https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-magento-on-ubuntu-14-04)
    1. web open port 80 & 22
    2. db : open port 22 & 3306
  2. web :  (reference https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04)
    1. sudo apt-get update
    2. sudo apt-get install apache2 (apache/2.4.7)
    3. sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
    4. sudo nano /etc/apache2/mods-enabled/dir.conf
    5. sudo service apache2 restart
    6. sudo apt-get install php5-cli
    7. sudo nano /etc/apache2/sites-available/magento.conf
    8. sudo a2ensite magento.conf
    9. sudo a2dissite 000-default.conf
    10. sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt
    11. sudo a2enmod rewrite
    12. sudo php5enmod mcrypt
    13. cd ~ && wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz
    14. tar xzvf magento-1.9.0.1.tar.gz
    15. sudo rsync -avP ~/magento/. /var/www/html/
    16. sudo chown -R www-data:www-data /var/www/html/
    17. sudo apt-get install mysql-client
    18. apt-get install php5-mysql


  1. db :
    1. sudo apt-get update
    2. sudo apt-get install mysql-server
    3. sudo mysql_install_db
    4. mysql -u root -p
      1. CREATE DATABASE magento;
      2. CREATE USER 'mangento2'@'localhost' IDENTIFIED BY 'password';
      3. GRANT ALL PRIVILEGES ON *.* TO 'mangento2'@'localhost' WITH GRANT OPTION;
      4. CREATE USER 'mangento2'@'%' IDENTIFIED BY 'password';
      5. GRANT ALL PRIVILEGES ON *.* TO 'mangento2'@'%' WITH GRANT OPTION;
      6. FLUSH PRIVILEGES;
      7. exit;
    5. sudo nano /etc/mysql/my.cnf (Bind address 0.0.0.0)
    6. mysqld --help --verbose




  1. Install ubuntu 14.04 LTS
  2. Install apache2
  3. install php
  4. seed the mysql DB :
  5. unzip the shopping in web root
  6. Change the config file





Chef :


CloudFormation Template:





  1. install aws command line tools
    1. $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
      $ unzip awscli-bundle.zip
      $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    2. aws cloudformation create-stack --stack-name myteststack2 --template-body file://///Projects/cc/cf/shop.json
    3. aws cloudformation delete-stack --stack-name myteststack2





Chef + cloudformation






Setting up chef




Vagrant:





Mac Setup

$ brew tap caskroom/cask
$ brew install brew-cask
$ brew cask install google-chrome
$ brew update && brew upgrade brew-cask && brew cleanup

  1. brew cask install virtualbox
  2. brew cask install vagrant
  3. brew cask install vagrant-manager
  4. vagrant box add precise64 http://files.vagrantup.com/precise64.box
  5. vagrant init precise64
  6. vagrant up
  7. vagrant ssh
    1. vagrant halt

  1. mkdir -p ~/chef/cookbooks/helloworld/recipes
    $ echo '
    file "/tmp/helloworld.txt" do
     owner "ubuntu"
     group "ubuntu"
     mode 00544
     action :create
     content "Hello, Implementor!"
    end' > ~/chef/cookbooks/helloworld/recipes/default.rb
  2. echo '
    {
     "run_list": [ "recipe[helloworld]" ]
    }' > ~/chef/node.json
  3. echo '
     file_cache_path "/home/vagrant/chef"
     cookbook_path "/home/vagrant/chef/cookbooks"
     json_attribs "/home/vagrant/chef/node.json"
    ' > ~/chef/solo.rb






RUBY




//setting up chefdk for Ruby



  1. brew install chruby
  2. brew install ruby-install
  3. ruby-install ruby 2.2


Chef DK

install chef & Ruby


  • brew cask install virtualbox
  • brew cask install vagrant
  • brew cask install vagrant-manager
  • brew cask install chefdk
  • vagrant plugin install vagrant-berkshelf
  • vagrant plugin install vagrant-omnibus
  • vagrant plugin install vagrant-chef-zero
  • vagrant plugin install vagrant-vbguest



Good one

VBoxManage dhcpserver remove --netname HostInterfaceNetworking-vboxnet0

brew cask install sublime-text







Test app:














good one

















Performance & Scalability:








Tools





  1. FastCGI



Screen Shot 2015-05-11 at 12.25.31 PM.png



 Screen Shot 2015-05-09 at 7.47.54 AM.png


Screen Shot 2015-05-17 at 6.24.20 PM.png



VPC:
AWS re:Invent 2014 | (SDD422) Amazon VPC Deep Dive



Screen Shot 2015-06-20 at 3.18.21 AM.png






Screen Shot 2015-06-21 at 5.10.27 AM.png




VPC Security


Network ACL : Stateless lives on network level, outbound and inbound rules need to be specified
Security Group : Stateful default outbound rules are allowed

3 Security Groups

DB security groups,
VPC security groups, and
EC2 security groups



cd /etc/apache2/site-enabled



NAT Instance


DB Subnet Groups

RDS Essentials












Magento Install


sudo apt-get install -y ssh
sudo apt-get install -y apache2
sudo apt-get install -y php5 libapache2-mod-php5
sudo apt-get install -y php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imap php5-mcrypt php5-ming
sudo apt-get install -y php5-ps php5-pspell php5-snmp php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-soap






VPC:


Building A Non-Default VPC






Database:


Load test on DB



Screen Shot 2015-05-21 at 6.07.54 AM.png


Screen Shot 2015-05-21 at 6.08.46 AM.png




Best Practice

  1. Have a subnet block that does not overlap with local network
  2. VPC for Dev,Stage,Prod (VPC peering)
  3. Security
    1. Firewall Virtual appliance
    2. VM encryption






DNS





Deployment


BOTO



Reference: