Magento é uma plataforma robusta e poderosa para sites de comércio eletrônico. Ele é construído com um framework PHP. Ele vem com duas edições – Magento-2 Commerce (EE), anteriormente conhecido como Enterprise Edition) e Magento-2 Open Source (anteriormente conhecido como Community Edition). Magento-2 é uma interface totalmente personalizável e amigável, que pode configurar e controlar uma loja de e-commerce totalmente operacional em poucos minutos.
Resumindo, você pode usar o Magento-2 EE/Commerce, que é uma versão paga onde você pode obter todas as funcionalidades avançadas com uma assinatura anual. Você pode escolher uma placa com base em seu nível de negócios / estágio e Magento-2 CE/Opensource é oferecido uma versão gratuita onde qualquer pessoa pode fazer o download e usá-lo para construir seu próprio negócio, de preferência (pequenas empresas) onde eles podem fazer o teste em como construir um site de comércio eletrônico. O CE pode modificar com base em seus requisitos, ele também tem a vantagem de usar extensões do Magento para fortalecer a funcionalidade.
Este guia passo a passo o ajudará a instalar / configurar o Magento2 Community Edition (2.3) estável mais recente no CENTOS/RHEL 7.6. Os mesmos passos podem ser usados para todas as versões do CENTOS/RHEL/Fedora com algumas mudanças mínimas nos comandos.
Como instalar o Magento-2.2.3 no RHEL / CentOS 7.6

Magento é uma plataforma robusta e poderosa para sites de comércio eletrônico. Ele é construído com um framework PHP. Ele vem com duas edições – Magento-2 Commerce (EE), anteriormente conhecido como Enterprise Edition) e Magento-2 Open Source (anteriormente conhecido como Community Edition). Magento-2 é uma interface totalmente personalizável e amigável, que pode configurar e controlar uma loja de e-commerce totalmente operacional em poucos minutos.
Resumindo, você pode usar o Magento-2 EE / Commerce, que é uma versão paga onde você pode obter todas as funcionalidades avançadas com uma assinatura anual. Você pode escolher uma placa com base em seu nível de negócios / estágio e Magento-2 CE / Opensource é oferecido uma versão gratuita onde qualquer pessoa pode fazer o download e usá-lo para construir seu próprio negócio, de preferência (pequenas empresas) onde eles podem fazer o teste em como construir um site de comércio eletrônico. O CE pode modificar com base em seus requisitos, ele também tem a vantagem de usar extensões do Magento para fortalecer a funcionalidade.
Este guia passo a passo o ajudará a instalar / configurar o Magento2 Community Edition (2.3) estável mais recente no CENTOS / RHEL 7.6. Os mesmos passos podem ser usados para todas as versões do CENTOS / RHEL / Fedora com algumas mudanças mínimas nos comandos.
Pré-requisitos:
Magento é executado no servidor Web como Apache ou Nginx com um banco de dados de back-end (MySQL ou MariaDB)
Apache: Apache 2.4 ou posterior
PHP: 7.2 ou posterior
MYSQL: 5.6 ou posterior OU
MariaDB: MariaDB 10.1 ou posterior
Ram do servidor: mínimo 2 GB (de acordo com o Magento2 oficial)
Minha configuração de laboratório:
Servidor: CentOS-7.6
Apache: Apache/2.4.6
MariaDB: MariaDB 10.1 ou posterior
PHP: 7.2.25
Endereço IP: 192.168.3.103
Nome de domínio: magento-linuxteck.com
Para iniciar a configuração da instalação do Magento-2, precisamos configurar a pilha LAMP (Linux, Apache MariaDB e PHP) em nosso servidor Centos 7.6.
Etapa 1: instalar o stack LAMP
Para completar as etapas para instalar o stack LAMP no CentOS: – por favor, clique aqui:
Primeiro, vamos atualizar a versão atual mais recente do pacote.
# yum update -y
Instale o repositório EPEL usando o seguinte comando:
# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY *
# yum -y install epel-release
Instale o servidor Apache usando o seguinte comando:
# yum install httpd -y
Use o seguinte comando para iniciar o serviço httpd e habilitá-lo para iniciar automaticamente após cada reinicialização
# systemctl enable httpd
# systemctl start httpd
# systemctl status httpd
Agora, precisamos adicionar algumas configurações adicionais ao servidor Apache para instalar o aplicativo Magento.
(a) Certifique-se de que a versão do Apache:
# httpd -v
Versão do servidor: Apache / 2.4.6 (CentOS)
Servidor construído: 8 de agosto de 2019 11:41:18
(b) Magento será hospedado sob o DocumentRoot de / var / www / html no servidor Apache. (Você pode fornecer seu caminho)
# mkdir -p /var/www/html/magento2
(c) Se você tem qualquer usuário normal que precisa acessar / modificar os arquivos do Magento que não seja o usuário root, então você precisa mudar a propriedade do diretório Magento (/ var / www / html / magento). No meu caso, um usuário normal chamado “magento”
# chown -R magento:magento /var/www/html/magento2
Usando o seguinte comando, você pode verificar a propriedade do diretório
# ls -ld /var/www/html/magento2/
drwxr-xr-x 2 magento magento 6 Dec 23 17:51 /var/www/html/magento2/
(d) Precisamos definir permissões no diretório acima para garantir que todos os arquivos e pastas sejam acessíveis através do aplicativo Magento
# chmod -R 755 /var/www/html/
# ls -ld /var/www/html/
drwxr-xr-x 3 root root 22 Dez 31 14:48 /var/www/html/
(e) Agora crie um novo Host Virtual no Servidor Apache: Isso é usado principalmente para adicionar vários pedidos de domínio em um único servidor Apache. Para inicializar esta configuração, precisamos de um diretório para armazenar nosso host virtual (isso não é nada além de armazenar sites individuais em diretórios diferentes), bem como precisamos informar o caminho dos hosts virtuais para o arquivo de configuração do Apache para servir o sites para os visitantes.
(i) Aqui, criaremos dois diretórios no Servidor Apache “/ etc / httpd”. Um diretório salvará todos os arquivos de configuração do host virtual e o outro diretório servirá como um link simbólico para o host virtual recém-criado.
Este diretório é para armazenar todos os arquivos de configuração para o host virtual
# mkdir /etc/httpd/ available-virtualhosts
# mkdir /etc/httpd/ enable-virtualhosts ## Isso será servido para os links simbólicos
(ii) Crie seu primeiro arquivo de host virtual
# vi /etc/httpd/available-virtualhosts/magento.conf ## O arquivo de host virtual deve terminar com “.conf”
<VirtualHost *: 80>
ServerName magento-linuxteck.com
ServerAlias magento-linuxteck.com
DocumentRoot /var/www/html/magento2
ErrorLog /var/log/magento/error.log
CustomLog /var/log/magento/access.log combinado
</VirtualHost>
Salvar e sair.
(iii) Logs, você pode criar uma pasta “magento” em / var / log, para que não se misture com outros logs
# mkdir /var/log/magento
(iv) Ative o link simbólico para o arquivo de configuração de host virtual recém-criado
# ln -s /etc/httpd/available-virtualhosts/magento.conf /etc/httpd/enable-virtualhosts/magento.conf
(v) Adicione a seguinte entrada (incluindo um diretório opcional) ao final do arquivo de configuração do Apache. Este é um dos métodos mais fáceis de ativar e desativar os hosts virtuais no Apache. Este conceito foi desenvolvido pelos simpatizantes de Debain.
# vi /etc/httpd/conf/httpd.conf
IncludeOptional enable-virtualhosts /*.Conf
Salvar e sair.
(vi) Crie uma página fictícia para o host virtual recém-adicionado
# vi /var/www/html/magento2/index.html
Esta é uma página de teste para magento-linuxteck.com
Salvar e sair.
(vii) Use o seguinte comando para abrir os serviços HTTP (80) e HTTPS (443) das portas do Firewall OU simplesmente desabilite o Firewall.
# firewall-cmd –permanent –add-port=80/tcp
# firewall-cmd –permanent –add-port=443/tcp
# firewall-cmd –reload
OU
# systemctl disable firewalld.service
# systemctl stop firewalld.service
(ix) Desabilite o SELinux ou clique aqui para configurar o SELinux para apache.
(x) Agora, é hora de reiniciar o servidor Apache.
# systemctl restart httpd.service
Instale e configure o PHP 7.2
No Centos-7, o repositório padrão construído com a versão PHP 5.4 não é compatível com magento2 a versão mais recente. Requer PHP 7.2 ou versões superiores. Veja as etapas a seguir para instalar e configurar o PHP 7.2.
(a) Ative os repositórios EPEL e Remi “yum”
Esta seção discute como instalar e configurar o MySQL 5.6. Os repositórios CentOS 6.x têm MySQL 5.1; para instalar uma versão diferente do MySQL, consulte a documentação do MySQL. # yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
(b) Use o seguinte comando para instalar o PHP 7.2 e é uma dependência do seu servidor CentOS-7
# yum –enablerepo = remi-php72 instalar php php-bcmath php-dom php-gd php-intl php-mbstring php-pdo_mysql php-soap php-zip
# yum install -y php72-php-xmlrpc.x86_64
(c) o PHP 7.2 está instalado, verifique o seguinte comando para encontrar a versão do PHP
# php -v
PHP 7.2.26 (cli) (construído em: 17 de dezembro de 2019 14:06:22) (NTS)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
(d) Ajustando o arquivo de configuração padrão do PHP, que é “php.ini”. Com base em nossos requisitos, precisamos alterar as configurações do PHP. Essas mudanças estão relacionadas ao tamanho máximo de upload, erros de log de exibição, limites de recursos, configuração do fuso horário, configuração do tempo máximo de execução do php, etc.
Modifique as seguintes alterações em seu arquivo php.ini. Para a data, você pode alterá-la com base em sua zona
# vi /etc/php.ini
max_input_time = 30
memory_limit = 2G
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR| E_CORE_ERROR
error_log = /var/log/php/error.log
date.timezone = Asia/Calcutta
cgi.fix_pathinfo = 1
Salvar e sair.
Nota: Após cada alteração no arquivo php.ini, não se esqueça de reiniciar seu servidor web.
(e) No CentOS-7 o mod_rewrite será habilitado por padrão, caso não esteja habilitado, siga os passos para habilitar o “mod_rewrite” manualmente
Abra este arquivo e adicione a seguinte entrada no final do arquivo
# vi /etc/httpd/conf.modules.d/00-base.conf
LoadModule rewrite_module modules /mod_rewrite.so
Salvar e sair.
Nota: Reinicie seu servidor Apache!
(f) ESTE É UM OPCIONAL, SE O. HTACESS NÃO ESTÁ FUNCIONANDO, ENTÃO PRECISAMOS TWEAKE ESTA ENTRADA NO ARQUIVO HTTP.CONF.
Encontre a seção <directory /var/www> e altere AllowOverride None para AllowOverride All
<Directory /var/www>
AllowOverride All
</Directory>
Salvar e sair.
Nota: Finalmente, reinicie seu servidor Apache!
(g) Crie um arquivo info.php em / var / www / html / magento2 para verificar todas as configurações PHP atuais do seu navegador da Web
# echo “<? php phpinfo ();?>”> /var/www/html/magento2/info.php
Nota: Abra seu navegador e clique em: http://magento-linuxteck.com/info.php. Assim que estiver confirmado, exclua o arquivo info.php
Instalar e configurar Maria DB (substituição do MySQL)
Esta seção mostrará como instalar e configurar o Database Management System (DBMS) para Magento2. Como todos sabemos, o lançamento do RHEL / CENTOS-7 RedHat mudou seu sistema de gerenciamento de banco de dados padrão de MySQL para MariaDB e a versão padrão do MariaDB é 5.5, que não é compatível com Magento2. Conforme mencionado acima, a versão compatível é 10.1 ou posterior. Ele pode ser atualizado através do repositório yum MariaDB. Siga estas etapas para instalar e configurar MariaDB 10.1 do repositório yum:
(a) Crie um arquivo de configuração de repositório para MariaDB 10.1
# cat> /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
ativado = 1
EOF
(b) Importar chave pública GPG
# rpm –import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
(c) Habilite o cache do yum para o repo adicionado recentemente
# yum makecache fast
(d) Instale a versão 10.1 do MariaDB
# yum install -y mariadb-server
(e) Use o seguinte comando para iniciar o serviço MariaDB e habilitá-lo para iniciar automaticamente após cada reinicialização
# systemctl enable mariadb.service
# systemctl start mariadb.service
(f) Configurar Maria DB
# mysql_secure_installation
(g) Conecte-se à instância do banco de dados MariaDB usando credenciais de raiz.
# mysql -u root -pXXXXXX (XXXXX é sua senha raiz do banco de dados)
Bem-vindo ao monitor MariaDB.
Sua versão do servidor MariaDB: 10.1.43-MariaDB Servidor MariaDB
MariaDB [(none)]>
(h) Crie um novo usuário mysql e banco de dados para aplicativos Magento.
MariaDB [(none)]> criar banco de dados magento2;
Consulta OK, 1 linha afetada (0,00 s)MariaDB [(none)]> criar o usuário magento2 @localhost identificado por ‘ Magento1 @ 123 ‘;
Consulta OK, 0 linhas afetadas (0,01 seg)MariaDB [(none)]> concede todos os privilégios em magento2. * Para magento2 @localhost identificado por ‘ Magento1 @ 123 ‘;
Consulta OK, 0 linhas afetadas (0,00 s)MariaDB [(none)]> privilégios de liberação;
Consulta OK, 0 linhas afetadas (0,00 s)MariaDB [(nenhum)]>quit
Tchau
Etapa 2: Instale o Composer
(a) Use o seguinte comando yum para instalar o PHP Composer
# yum –enablerepo=remi-php72 install php composer
(b) Após a instalação, verifique a versão do compositor
# composer -V
Composer versão 1.9.1 2019-11-01 17:20:17
Etapa 3: Instale o Magento CE
(a) Baixe magento2-2.3 Community Edition do site oficial do Magento. Clique aqui para fazer download: http://www.magentocommerce.com/download
(b) Depois de baixar, extraia o arquivo tar do Magento2 em sua raiz do documento (/ var / www / html / magento2)
# tar -xvf magento2-2.3.2.tar.gz -C/var/www/html/magento2/
Nota: Certifique-se de que, após a extração, todos os arquivos de núcleos do Magento2 sejam colocados em / var / www / html / magento2 e remova qualquer arquivo fictício criado anteriormente “index.html e info.php” da mesma pasta.
# pwd
/var/www/html/magento2
#ls
Saída:
app composer.json gerou fornecedor de pub
auth.json.sample composer.lock grunt-config.json.sample lib nginx.conf.sample README.md
bin COPYING.txt Gruntfile.js.sample LICENSE_AFL.txt package.json.sample setup
CHANGELOG .md dev index.php LICENSE.txt phpserver var
(c) Para instalar o aplicativo Magento2 através do navegador, precisamos mudar a propriedade de / var / www / html / magento2 para o usuário e grupo apache. Siga o comando abaixo para fazer o mesmo.
# chown -R apache:apache /var/www/html/magento2/
# ls -ld /var/www/html/magento2/
Saída:
drwxr-xr-x 13 apache apache 4096 2 de janeiro 13:55 /var/www/html/magento2/
(d) Agora use o seguinte comando para baixar todos os pacotes e suas dependências do Maento2 usando o composer do Terminal.
# composer install
Nota: Isso irá baixar todos os componentes do Magento e suas dependências. Depois de instalar com sucesso o magento2 usando o composer, você verá uma linha terminando com “Gerando Arquivos de Carregamento Automático”.
Acessar o assistente de instalação do Magento Web
(a) Agora abra seu navegador e clique em “http://magento-linuxteck.com” e você obterá a configuração do assistente WEB. Siga estas capturas de tela para outras etapas:
A primeira página irá redirecioná-lo para a Página de Acordo de Licença do Magento2.
(i) Clique em Agree and Setup Magento
(ii) Clique em Iniciar verificação de prontidão
(iii) Se houver alguma falha encontrada durante a Verificação de Preparação, você precisará retificá-la antes de clicar em Avançar. Em nosso caso, não há falhas, então clique em Avançar
(iv) Agora preencha os detalhes do banco de dados que você criou acima e clique em Avançar
(v) Faça as alterações na configuração da Web com base em suas necessidades e clique em Avançar
(vi) Personalize sua loja e clique em Avançar
(vii) Crie uma conta de administrador e clique em Avançar
(viii) Clique em Instalar Agora
(ix) Instalação do Magento2 no servidor CentOS 7 em andamento
(x) A instalação do Magento2 foi concluída.
Imagem:LinuxTeck
(b) Devido às medidas de segurança do aplicativo Magento2, precisamos revogar a permissão dos seguintes diretórios:
‘/ var / www / html / magento2 / app / etc’. O seguinte comando irá remover a permissão de escrita
# chmod -w/var/www/html/magento2/app/etc
Saída:
chmod: /var/www/html/magento2/app/etc: as novas permissões são r-xrwxr-x, não r-xr-xr-x
(c) Agora clique em Launch Magento Admin
(d) Depois de fazer login como um usuário administrador (linuxteck), você verá o painel do Magento2, que aparecerá mais ou menos assim:
Conclusão
Parabéns, você instalou com sucesso o Magento2 Community Edition no RHEL / CentOS 7.6. Durante a instalação de sua configuração do Magento, se você enfrentar alguma dificuldade, basta nos informar através da caixa de comentários.
Espero que este artigo o ajude a configurar um aplicativo ‘magento2 no RHEL/CentOS-7. Deixe-me seu feedback/comentários.
Obrigado!