{"id":17599545,"url":"https://github.com/genaker/magento-linux-installation","last_synced_at":"2025-04-10T01:09:56.930Z","repository":{"id":47101138,"uuid":"283879525","full_name":"Genaker/Magento-Linux-Installation","owner":"Genaker","description":"Adobe Magento Commerce Cloud to AWS Cloud Migration toolkit","archived":false,"fork":false,"pushed_at":"2025-04-08T03:50:02.000Z","size":499,"stargazers_count":53,"open_issues_count":1,"forks_count":21,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T01:09:49.139Z","etag":null,"topics":["aws","docker","linux","magento","mariadb","nginx","php-fpm"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Genaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-30T21:24:46.000Z","updated_at":"2025-04-08T03:50:06.000Z","dependencies_parsed_at":"2024-10-18T23:35:55.632Z","dependency_job_id":"4c4f8625-7cb1-4c58-bc2a-286805ea5330","html_url":"https://github.com/Genaker/Magento-Linux-Installation","commit_stats":null,"previous_names":["genaker/magento-linux-installation"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FMagento-Linux-Installation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FMagento-Linux-Installation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FMagento-Linux-Installation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genaker%2FMagento-Linux-Installation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Genaker","download_url":"https://codeload.github.com/Genaker/Magento-Linux-Installation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","docker","linux","magento","mariadb","nginx","php-fpm"],"created_at":"2024-10-22T10:26:05.954Z","updated_at":"2025-04-10T01:09:56.900Z","avatar_url":"https://github.com/Genaker.png","language":"Shell","readme":"# Magento Commerce Cloud to Ubuntu Server / AWS Linux 2 (Centos 7) / Azure Centos 8.2/ Oracle Linux 8Installation migration tool with ARM Graviton2/Ampere instances support  \n\nFast Run (AWS Linux 2, Centos 8, Oracle Linux 8):\n```\nwget https://github.com/Genaker/Magento-AWS-Linux-2-Installation/archive/refs/heads/master.zip \u0026\u0026 unzip master.zip \u0026\u0026 cd ./Magento-AWS-Linux-2-Installation-master/ \u0026\u0026 sudo bash ./install-all.sh\n\n#Some Linuxes require wget and unzip \nsudo yum install wget unzip -y\n# or \nsudo yum install wget unzip -y \u0026\u0026 wget https://github.com/Genaker/Magento-AWS-Linux-2-Installation/archive/refs/heads/master.zip \u0026\u0026 unzip master.zip \u0026\u0026 cd ./Magento-AWS-Linux-2-Installation-master/ \u0026\u0026 sudo bash ./install-all.sh\n\n```\nor short form using **install script**:\n```\nwget https://raw.githubusercontent.com/Genaker/Magento-AWS-Linux-2-Installation/master/install-script.sh\nsudo bash ./install-script.sh\n```\n# Magento 2 Ubuntu Server 24 ARM installation \n\nScript: https://github.com/Genaker/Magento-Linux-Installation/blob/master/magento2-ubuntu24-arm-installation.sh\n\n# To Change Domain \nPoint DNS to IP or Load Blancer and:\n\n```\nmysql -h 127.0.0.0 -u {user} -p{password} magento -e'UPDATE core_config_data set value = \"http://{{magento.url}}/\" where path like \"web/%/base_url\"'\nbin/magento c:c\n\n# or \nbin/magento config:set web/unsecure/base_url \"http(s)://18.222.***.***/\"\nbin/magento config:set web/secure/use_in_frontend  1(0)\nbin/magento config:set web/secure/use_in_adminhtml  1(0)\n\n```\n\nIf you have any questions or issues feel free to send me an email – yegorshytikov@gmail.com\n\nEvery merchant wants to have a faster website and pay less for hosting. Magento Commerce Cloud works only for small projects without traffic. If you are having 2+ requests per second you will safer with Magento cloud, because it was designed not for Magento. It is the Platform.SH hosting for Drupal. And really it is not a real cloud it just uses Amazon Web Services to buy instances. The best way to improve performance and price it is to buy services directly from AWS without any gasket. Also, Magento Cloud also supports only Commerce/Enterprise clients, not the Open Source free version. \nThis Open Source project simplifies the creation, maintenance, validation, sharing, and deployment of the Magento 2 and LEMP stack installation.\nLEMP (Linux, NGINX, MySQL (MariaDB), PHP) is a very common example of a web service stack, named as an acronym of the names of its original four open-source components: the Linux operating system, the NGINX HTTP Server, the MySQL relational database management system (RDBMS), and the PHP programming language. The LEMP components are largely interchangeable and not limited to the original selection. As a solution stack, LEMP is suitable for building dynamic web sites and web applications.\n\nSince its creation, the LEMP model has been adapted to other componentry, though typically consisting of free and open-source software. \n\n \"LEMP\" now refers to a generic software stack model. The modularity of a LEMP stack may vary, but this particular software combination has become popular because it is sufficient to host a wide variety of website frameworks, such as Magento 2, Shopware 6, Sylius,  WordPress, and Drupal. The components of the LAMP stack are present in the software repositories of most Linux distributions.\nCurtain repository wors for EC2 AWS LINUX2 / Centos 7 / RedHat 7\n\nThe LAMP bundle can be combined with many other free and open-source software packages, Magento uses Redis 6.0 and Elastic Search additionally.\n\n# Why not Magento Docker Compose?\n\n**Update: docker support added!\nTo build Docker Run**\n```\ndocker build . -t my-docker-image --no-cache\ndocker run --privileged --name magento2-container -dit  -v /sys/fs/cgroup:/sys/fs/cgroup:ro  -p 80:80 -p 443:443 -p 3306:3306  my-docker-image:latest \ndocker exec -it magento2-container bash\n\n#copy code to the container\n\ndocker cp ./README.md magento2-container:/var/www/html/magento/\n\n#install magento - insert your values \n\nphp -d memory_limit=5028M /var/www/html/magento/bin/magento setup:install --base-url=http://$IP --base-url-secure=http://$IP --use-secure=0 --use-rewrites=1 --use-secure-admin=1 --backend-frontname=admin --db-host=127.0.0.1 --db-name=magento --db-user=root --db-password=root --use-secure=0 --base-url-secure=0 --use-secure-admin=0 --admin-firstname=Admin --admin-lastname=Adminovich --admin-email=admin@admin.ua --admin-user=admin --backend-frontname=admin --use-rewrites=1 --admin-password=admin123\n\n# crete database and dump \n\nmysql -h 127.0.0.1 -u root magento2 \u003c ./magento-dump.sql.gz\n\n# or adjust env.php file\n```\n\nThere are also times when Docker isn’t the best solution:\n\n1. Your Magento app is complicated and you are not/do not have a sysadmin. For large or complicated Magento applications, using a pre-made Dockerfile or pulling an existing image will not be sufficient. The building, editing, and managing communication between multiple containers on multiple servers is a time-consuming task.\n\n2. Performance is critical to eCommerce applications. Docker shines compared to virtual machines when it comes to performance because containers share the host kernel and do not emulate a full operating system. However, Docker does impose performance costs. Processes running within a container will not be quite as fast as those run on the native OS. If you need to get the best possible performance of Magento out of your server, you may want to avoid Docker.\n\n3. You don’t want to upgrade hassles. Docker is a new technology that is still under development. To get new features you will likely have to update versions frequently, and backward compatibility with previous versions is not guaranteed.\n\n4. Docker’s containerization approach raises its own security challenges, especially for more complicated applications. These issues are solvable, but require attention from an experienced security engineer. (See the More Info section for links to discussions of these issues).\n\n5. Clusters. This repo is for high load Magento cluster and you will use native cloud services instead of docker containers \n\nYou can also use this script/recipe to build Docker using amazonlinux:latest as a base image.\n\n\n# Structure of the project:\n\n## Components\n\nThe whale installation process is separated into Components\n\nA component script defines the sequence of steps required to install the instance with the application. Components are executed on the instance via ssh or during EC2 creation using User Data. \nstart recipe has all components in the right order.\n\n## Image recipe\n\nAn image recipe is the main document that defines the source image and the components to be applied to the instance to produce the desired configuration.\n\n# How to RUN: \n\n## Run the main Recipe\n```\nsudo bash install-all.sh\n```\nYou probably need some customization. Also, you can create your own configuration. For example, You wanna use AWS services MYSQL RDS, ElastiCahe Redis, Elastic Search you can remove those components. If you have any issues create the ticket and I help you. \n\n# Support and Questions \n\nSend email to: yegorshytikov@gmail.com or create ticke/issue. \n\n# General Configuation:\n\n## Nginx \n\n/etc/nginx\n\n/etc/nginx/conf.d/magento.conf  - magento related config \n\n## Redis \n\nnano /etc/redis/redis.conf\n\n## PHP \n\n/etc/php-fpm.d/www.conf\n/etc/php.ini\n\n## Magento \n\n/var/www/html/magento - root dirrectory\n\n## Configure Nginx with Magento \n\nFinally, configure Nginx site configuration file for Magento. This file will control how users access Magento content. Run the commands below to create a new configuration file called example.com.\n\nsudo nano /etc/nginx/sites-available/example.com\n\nThen copy and paste the content below into the file and save it. Replace the highlighted line with your own domain name and directory root location…\n\nAlso make sure to reference the certificate files created above during Cloudflare setup..\n```\nupstream fastcgi_backend {\n  server   fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;\n}\n\nserver {\n    listen 80;\n    listen [::]:80;\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n\n    server_name  example.com www.example.com;\n    index  index.php;\n\n    ssl_certificate /etc/ssl/certs/cloudflare_example.com.pem;\n    ssl_certificate_key /etc/ssl/private/cloudflare_example.com.pem;\n    ssl_client_certificate /etc/ssl/certs/origin-pull-ca.pem;\n    ssl_verify_client on;\n\n    set $MAGE_ROOT /var/www/html/example.com;\n    set $MAGE_MODE production;\n\n    access_log /var/log/nginx/example.com-access.log;\n    error_log /var/log/nginx/example.com-error.log;\n\n    include /var/www/html/example.com/nginx.conf.sample;\n}\n```\nSave the file and exit.\n\n## Set Magento file permissions\nYou must set read-write permissions for the web server group before you install the Magento software. This is necessary so that the command line can write files to the Magento file system.\n\n```\ncd /var/www/html/\u003cmagento install directory\u003e\nfind var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +\nfind var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +\nchown -R :www-data . # Ubuntu\nchmod u+x bin/magento\n```\n\n# Install Magento\nYou must use the command line to install Magento.\n\nThis example assumes that the Magento install directory is named magento2ee, the db-host is on the same machine (localhost), and that the db-name, db-user, and db-password are all magento:\n\n```\nbin/magento setup:install \\\n--base-url=http://localhost/magento2ee \\\n--db-host=localhost \\\n--db-name=magento \\\n--db-user=magento \\\n--db-password=magento \\\n--admin-firstname=admin \\\n--admin-lastname=admin \\\n--admin-email=admin@admin.com \\\n--admin-user=admin \\\n--admin-password=admin123 \\\n--language=en_US \\\n--currency=USD \\\n--timezone=America/Chicago \\\n--use-rewrites=1\n```\n\n# Logs\n\n **PHP-FPM:** tail -f /var/log/php-fpm/www-error.log\n **NGINX:** tail -f /var/log/nginx/error.log || tail -f /var/log/nginx/access.log\n **Magento** tail -f /var/www/html/magento/var/log\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenaker%2Fmagento-linux-installation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenaker%2Fmagento-linux-installation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenaker%2Fmagento-linux-installation/lists"}