Ubuntu 18.04에 Magento 2 설치 방법

Ubuntu 18.04에 Magento 2 설치 방법

2022-06-01 last update

24 minutes reading ecommerce magento nginx composer mysql php
Magento
개원 기술을 바탕으로 구축된 선두 기업급 전자상거래 플랫폼으로 강력한 기능, 유연성과 사용자 친선의 인터페이스를 결합시킨다.매혹적인 쇼핑 체험, 유연한 모듈식 체계 구조, 기업급의 확장성과 성능을 바탕으로 Magento는 대부분의 온라인 상인들이 가장 선호하는 플랫폼이다.이 강좌에서는 Ubuntu 18.04 기기에 Magento 2.3을 설치하는 방법을 보여 드리겠습니다.우리는 Nginx를 웹 서버로 사용하고 최신 PHP 7.2와 MySQL/MariadB를 데이터베이스 서버로 사용할 것이다.

선결 조건

본 강좌를 계속하기 전에 다음 선행 조건을 충족해야 합니다.
  • 도메인 이름은 공용 서버 IP를 가리킵니다.우리는 사용할 것이다 example.com.
  • Nginx는 다음과 같은 방식으로 Ubuntu 서버에 설치됩니다these instructions
    .
  • 사용자 정보를 암호화하기 위해 도메인에 설치된 SSL 인증서.다음 방법으로 무료 Let's Encrypt SSL 인증서를 설치할 수 있습니다these instructions
    .
  • Magento 2 코드 저장소에 액세스하려면 인증 키를 생성해야 합니다.Magento Marketplace 계정이 없으면 계정을 만들 수 있습니다here
    . 계정을 만든 후 확인these instructions
    새 인증 키를 만드는 방법에 대해시스템 패키지를 최신 버전으로 업데이트하고 설치unzip utility
    :
    sudo apt update && sudo apt upgradesudo apt install unzip

    MySQL 데이터베이스 만들기

    있는 경우 MySQL
    또는 MariaDB
    서버에 설치하려면 이 단계를 건너뛸 수 있습니다. 만약 그렇지 않다면, 다음을 입력하십시오.
    sudo apt install mysql-server mysql-client
    Ubuntu의 기본 저장소에서 MySQL 5.7 패키지를 설치하십시오. 새로운 MySQL 설치에 대해서는 mysql_secure_installation 명령을 실행하여 MySQL 서버의 안전성을 높이는 것을 권장합니다.다음 명령을 사용하여 MySQL 셸에 로그인합니다.
    sudo mysql
    MySQL 셸에서 create a new database
    이름magento:
    CREATE DATABASE magento;
    다음으로 magentogrant the necessary permissions to the user라는 MySQL 사용자 계정을 만듭니다.
    다음 명령을 실행하십시오.
    GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
    강력한 암호 변경을 사용하십시오 change-with-strong-password.완료 후 입력:
    EXIT;

    시스템 사용자 생성 중

    Create a new user MySQL 콘솔 종료
    및 그룹, 이 그룹은 Magento 파일 시스템 소유자입니다. 간단하게 말하자면, 사용자 이름magento: www-data 사용자를 magento 그룹에 추가하고 /opt/magento 디렉터리 permissions 를 변경합니다.
    Nginx가 Magento 설치에 액세스할 수 있도록 지원:
    sudo useradd -m -U -r -d /opt/magento magento

    PHP 설치 및 구성

    PHP 7.2
    이것은 Ubuntu 18.04의 기본 PHP 버전입니다. Magento 2.3은 이 버전을 완전히 지원하고 권장합니다.Nginx를 웹 서버로 사용하기 때문에 PHP-FPM 패키지도 설치합니다.다음 명령을 실행하여 PHP 및 모든 필수 PHP 모듈을 설치합니다.
    sudo usermod -a -G magento www-datasudo chmod 750 /opt/magento
    설치 프로세스가 완료되면 PHP-FPM 서비스가 자동으로 시작되며 인쇄 서비스 상태를 통해 확인할 수 있습니다.
    sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
    출력은 FPM 서비스가 활성 상태이고 실행 중임을 나타냅니다.
    sudo systemctl status php7.2-fpm
    편집php.ini 파일을 사용하여 필요한 PHP 옵션을 설정하고 권장합니다.
    :
    ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
       Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago
         Docs: man:php-fpm7.2(8)
     Main PID: 16814 (php-fpm7.2)
       Status: "Ready to handle connections"
        Tasks: 3 (limit: 505)
       CGroup: /system.slice/php7.2-fpm.service
    
    다음으로 sed 사용자를 위한 FPM 풀을 만들어야 합니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});열기 magento
    다음 파일을 만듭니다.
    sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
    /etc/php/7.2/fpm/pool.d/magento.conf
    sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
    변경 사항을 적용하기 위해 PHP-FPM 서비스를 다시 시작합니다.
    [magento]
    user = magento
    group = www-data
    listen.owner = magento
    listen.group = www-data
    listen = /var/run/php/php7.2-fpm-magento.sock
    pm = ondemand
    pm.max_children =  50
    pm.process_idle_timeout = 10s
    pm.max_requests = 500
    chdir = /
    
    다음 명령을 실행하여 text editor PHP 소켓이 성공적으로 생성되었는지 확인합니다.
    :
    systemctl restart php7.2-fpm
    출력은 다음과 같이 해야 합니다.
    ls -al /var/run/php/php7.2-fpm-magento.sock

    Composer 설치

    Composer는 PHP의 의존 관계 관리자입니다. 우리는 그것을 사용하여 Magento core를 다운로드하고 필요한 모든 Magento 구성 요소를 설치할 것입니다.까지 ls command
    전 세계적으로 Composer 설치 프로그램 다운로드 install composer
    파일을 /usr/local/bin 디렉터리로 이동합니다.
    srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=
    
    composer 버전을 인쇄하여 설치를 검증합니다.
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    출력은 다음과 같습니다.
    composer --version

    마젠토 설치

    Magento2를 설치하는 데는 여러 가지 방법이 있습니다.Github 저장소에서 Magento를 설치하지 마십시오. 이 버전은 프로덕션 설치가 아니라 개발에 사용되기 때문입니다.본문을 작성할 때 마젠토의 최신 안정판은 버전2.3.0이다.이 강좌에서, 우리는composer를 사용하여 저장소에서Magento를 설치할 것입니다.curl magento 입력:
    Composer version 1.8.0 2018-12-03 10:31:16
    
    magento 파일을/opt/magento/public\uhtml 디렉터리에 다운로드하여 설치를 시작합니다.
    sudo su - magento
    
    시스템은 액세스 키를 입력하라는 메시지를 표시합니다. 마gento marketplace 계정에서 키를 복사하여 auth.json 파일에 저장합니다. 나중에 업데이트할 때 같은 키를 다시 추가할 필요가 없습니다.
    composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
    위의 명령은 필요한 모든 PHP 패키지를 가져옵니다.이 과정은 몇 분 걸릴 수 있습니다. 성공하면 출력의 끝은 다음과 같습니다.
        Authentication required (repo.magento.com):
          Username: e758ec1745d190320ca246e4e832e12c
          Password: 
    Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y
    
    프로젝트를 만든 후에 마젠토를 설치할 수 있습니다.명령줄이나 웹 설치 마법사를 사용하여 Magento를 설치할 수 있습니다.이 강좌에서는 명령행을 사용하여 Magento를 설치합니다.다음 옵션을 사용하여 Magento 스토리지를 설치합니다.
  • 기본 및 기본 보안 URL을 https://example.com 로 설정하려면 도메인에 따라 변경하십시오.
  • Magento 관리자:
  • John Doe 이름과 성으로.
  • [email protected]을 이메일로 보냅니다.
  • john는 사용자 이름으로, j0hnP4ssvv0rD는 비밀번호로 사용됩니다.
  • 데이터베이스 이름magento, 사용자 이름magento, 비밀번호change-with-strong-password, 데이터베이스 서버와 웹 서버는 같은 호스트에 있습니다.
  • en_US, 기본 언어는 미국 영어입니다.
  • USD달러를 기본 화폐로 합니다.
  • America/Chicago을 시간대로 한다.
  • 모든 설치 옵션을 찾을 수 있습니다Switch over to the user
    . here
    Magento~/public_html 디렉터리로:
    Writing lock file
    Generating autoload files
    
    다음 명령을 실행하여 설치를 시작합니다.
    cd ~/public_html
    암호 j0hnP4ssvv0rD 를 더 안전한 암호로 바꾸는 것을 잊지 마십시오.이 과정은 몇 분 정도 걸릴 수 있습니다. 완료되면 Magento 관리 대시보드의 URI를 포함하는 메시지를 받을 수 있습니다.
    php bin/magento setup:install --base-url=https://example.com/ \
            --base-url-secure=https://example.com/ \
            --admin-firstname="John" \
            --admin-lastname="Doe" \
            --admin-email="[email protected]" \
            --admin-user="john" \
            --admin-password="j0hnP4ssvv0rD" \
            --db-name="magento" \
            --db-host="localhost" \
            --db-user="magento" \
            --currency=USD \
            --timezone=America/Chicago \
            --use-rewrites=1 \
            --db-password="change-with-strong-password"
    

    Magento crontab 만들기

    Magento는cron 작업으로 작업(예를 들어 색인, 알림, 사이트 지도, 이메일 등)을 배정합니다.Magento crontab을 만들려면 magento 사용자로 다음 명령을 실행하십시오.
    [Progress: 773 / 773]
    [SUCCESS]: Magento installation complete.
    [SUCCESS]: Magento Admin URI: /admin_13nv5k
    Nothing to import.
    
    php ~/public_html/bin/magento cron:install

    Nginx 구성

    crontab이 설치되었는지 확인하십시오. 지금까지 Ubuntu 서버에 SSL 인증서가 있는 Nginx가 설치되어 있어야 합니다. 없으면 이 강좌의 선결 조건을 확인하십시오.기본 Nginx 구성은 Magento와 함께 제공됩니다.sudo 사용자로 전환하여 텍스트 편집기를 열고 다음 파일을 만듭니다.
    Crontab has been generated and saved
    
    /etc/nginx/sites available/example.com
    crontab -l
    교체 예시를 잊지 마세요.Magento 도메인과 통신하고 SSL 인증서 파일의 올바른 경로를 설정합니다.이 구성에 사용되는 코드 세그먼트는 Change 에서 생성됩니다.
    .Nginx 서비스를 다시 시작하기 전에 문법 오류가 없는지 테스트하십시오.
    #~ MAGENTO START adc062915d7b30804a2b340095af072d
    * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
    * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
    * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
    #~ MAGENTO END adc062915d7b30804a2b340095af072d
    
    오류가 없으면 다음과 같이 출력해야 합니다.
    sudo nano /etc/nginx/sites-available/example.com
    마지막으로, this guide
    입력:
    upstream fastcgi_backend {
      server   unix:/var/run/php/php7.2-fpm-magento.sock;
    }
    
    server {
        listen 80;
        server_name example.com www.example.com;
    
        include snippets/letsencrypt.conf;
        return 301 https://example.com$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name www.example.com;
    
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
        include snippets/ssl.conf;
        include snippets/letsencrypt.conf;
    
        return 301 https://example.com$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name example.com;
    
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
        include snippets/ssl.conf;
        include snippets/letsencrypt.conf;
    
        set $MAGE_ROOT /opt/magento/public_html;
        set $MAGE_MODE developer; # or production
    
        access_log /var/log/nginx/example.com-access.log;
        error_log /var/log/nginx/example.com-error.log;
    
        include /opt/magento/public_html/nginx.conf.sample;
    }
    

    설치 확인

    브라우저를 열고 영역을 입력하고 설치에 성공했다고 가정하면 다음과 같은 화면이 나타납니다. (adsbygoogle=window.adsbygoogle | [])푸시({}); 이제 Magento 관리자 URI로 이동하여 관리자로 로그인하고 새 Magento 설치를 사용자 정의할 수 있습니다.

    결론

    축하드립니다. Ubuntu 18.04 서버에 Magento 2.3을 설치했습니다.이제 상점을 사용자 정의할 수 있습니다.restart the Nginx service
    이것은 Magento 설치를 관리하는 방법을 이해하는 좋은 시작입니다.