기계적 인조 인간

우분투 18.04에 magento 2를 설치하는 방법

차례:

Anonim

Magento는 강력한 기능과 유연성 및 사용자 친화적 인 인터페이스를 결합한 오픈 소스 기술을 기반으로하는 선도적 인 엔터프라이즈 급 전자 상거래 플랫폼입니다.

매력적인 쇼핑 경험, 유연한 모듈 식 아키텍처 및 엔터프라이즈 급 확장 성 및 성능과 같은 기능을 갖춘 Magento는 대부분의 온라인 판매자에게 적합한 플랫폼입니다.

이 튜토리얼에서는 Ubuntu 18.04 시스템에 Magento 2.3을 설치하는 방법을 보여줍니다. Nginx를 웹 서버, 최신 PHP 7.2 및 MySQL / MariaDB를 데이터베이스 서버로 사용합니다.

전제 조건

이 학습을 계속하기 전에 다음 전제 조건을 충족하는지 확인하십시오.

  • 공개 서버 IP를 가리키는 도메인 이름이 있어야합니다. example.com 을 사용합니다. Nginx는 다음 지침에 따라 Ubuntu 서버에 설치됩니다. 사용자 정보를 암호화하기 위해 도메인에 설치된 SSL 인증서. 다음 지침에 따라 무료 Let 's Encrypt SSL 인증서를 설치할 수 있습니다.

Magento 2 코드 리포지토리에 액세스하려면 인증 키를 생성해야합니다. Magento Marketplace 계정이없는 경우 여기에서 만들 수 있습니다. 계정을 만든 후에는 새로운 인증 키 집합을 생성하는 방법에 대한 지침을 확인하십시오.

시스템 패키지를 최신 버전으로 업데이트하고 압축 해제 유틸리티를 설치하십시오.

sudo apt update && sudo apt upgrade sudo apt install unzip

MySQL 데이터베이스 생성

서버에 MySQL 또는 MariaDB가 설치되어있는 경우이 단계를 건너 뛸 수 있습니다. 그렇지 않은 경우 다음을 입력하여 Ubuntu의 기본 리포지토리에서 MySQL 5.7 서버 패키지를 설치할 수 있습니다.

sudo apt install mysql-server mysql-client 신규 MySQL 설치의 경우 mysql_secure_installation 명령을 실행하여 MySQL 서버의 보안을 향상시키는 것이 좋습니다.

다음 명령을 사용하여 MySQL 쉘에 로그인하십시오.

sudo mysql

MySQL 셸 내에서 다음 SQL 문을 실행하여 magento 라는 새 데이터베이스를 만듭니다.

CREATE DATABASE magento;

다음으로 magento 라는 MySQL 사용자 계정을 만들고 다음 명령을 실행하여 사용자에게 필요한 권한을 부여하십시오.

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; change-with-strong-password 사용하여 change-with-strong-password 변경을 change-with-strong-password 하십시오.

완료되면 다음을 입력하여 MySQL 콘솔을 종료하십시오.

EXIT;

시스템 사용자 생성

Magento 파일 시스템 소유자 인 새 사용자 및 그룹을 작성하십시오. 단순성을 위해 사용자 이름을 magento 지정합니다.

sudo useradd -m -U -r -d /opt/magento magento

magento 사용자를 magento 그룹에 추가하고 Nginx가 Magento 설치에 액세스 할 수 있도록 /opt/magento 디렉토리 권한을 변경하십시오.

sudo usermod -a -G magento www-data sudo chmod 750 /opt/magento

PHP 설치 및 구성

Ubuntu 18.04의 기본 PHP 버전 인 PHP 7.2는 Magento 2.3에서 완벽하게 지원되며 권장됩니다. Nginx를 웹 서버로 사용하기 때문에 PHP-FPM 패키지도 설치합니다.

다음 명령을 실행하여 PHP 및 모든 필수 PHP 모듈을 설치하십시오.

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

설치 프로세스가 완료된 후 PHP-FPM 서비스가 자동으로 시작됩니다. 서비스 상태를 인쇄하여 확인할 수 있습니다.

sudo systemctl status php7.2-fpm

출력은 fpm 서비스가 활성화되어 실행 중임을 나타냅니다.

● 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 ::로 php.ini 파일을 편집하여 필수 및 권장 PHP 옵션을 설정하십시오.

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

다음으로 magento 사용자를위한 FPM 풀을 생성해야합니다.

텍스트 편집기를 열고 다음 파일을 작성하십시오.

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf /etc/php/7.2/fpm/pool.d/magento.conf

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 = /

변경 사항을 적용하려면 PHP-FPM 서비스를 다시 시작하십시오.

systemctl restart php7.2-fpm

다음 ls 명령을 실행하여 PHP 소켓이 작성되었는지 확인하십시오.

ls -al /var/run/php/php7.2-fpm-magento.sock

출력은 다음과 같아야합니다.

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Composer 설치

Composer는 PHP의 종속성 관리자이며이를 사용하여 Magento 코어를 다운로드하고 필요한 모든 Magento 구성 요소를 설치합니다.

전체적으로 composer를 설치하려면 curl을 사용하여 Composer 설치 프로그램을 다운로드하고 파일을 /usr/local/bin 디렉토리로 이동하십시오.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

작성기 버전을 인쇄하여 설치를 확인하십시오.

composer --version

출력은 다음과 같아야합니다.

Composer version 1.8.0 2018-12-03 10:31:16

마 젠토 설치

Magento 2를 설치하는 방법은 여러 가지가 있습니다. 해당 버전은 프로덕션 설치가 아니라 개발 용이므로 Github 리포지토리에서 Magento를 설치하지 마십시오.

이 기사를 작성할 당시 Magento의 최신 안정 버전은 2.3.0 입니다. 이 자습서에서는 composer를 사용하여 리포지토리에서 Magento를 설치합니다.

다음을 입력하여 사용자 magento 로 전환하십시오.

sudo su - magento

magento 파일을 / opt / magento / public_html 디렉토리로 다운로드하여 설치를 시작하십시오.

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

액세스 키를 입력하고 Magento 마켓 플레이스 계정에서 키를 복사하여 auth.json 파일에 저장하라는 메시지가 표시되므로 나중에 설치를 업데이트 할 때 동일한 키를 다시 추가 할 필요가 없습니다.

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 ? Y

위의 명령은 필요한 모든 PHP 패키지를 가져옵니다. 프로세스는 몇 분이 걸릴 수 있으며 성공하면 출력 끝은 다음과 같아야합니다.

Writing lock file Generating autoload files

프로젝트가 생성되면 Magento 설치를 시작할 수 있습니다. 명령 줄이나 웹 설정 마법사를 사용하여 Magento를 설치할 수 있습니다. 이 자습서에서는 명령 줄을 사용하여 Magento를 설치합니다.

다음 옵션을 사용하여 Magento 저장소를 설치합니다.

  • 기본 및 기본 보안 URL이 https://example.com 으로 설정되어 있으면 도메인으로 변경하십시오.
    • 이름과 성으로 John 이메일로 [email protected] . john 은 username이고 j0hnP4ssvv0rD 는 password입니다.
    데이터베이스 이름 magento , 사용자 이름 magento , 비밀번호 비밀번호 change-with-strong-password 및 데이터베이스 서버는 웹 서버와 동일한 호스트에 있습니다. en_US , 기본 언어 인 미국 영어. 기본 통화로 USD 달러입니다. 시간대로 America/Chicago .
여기에서 모든 설치 옵션을 찾을 수 있습니다.

Magento ~/public_html 디렉토리로 변경하십시오.

cd ~/public_html

다음 명령을 실행하여 설치를 시작하십시오.

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" 비밀번호 ( j0hnP4ssvv0rD )를보다 안전한 것으로 변경하는 것을 잊지 마십시오.

이 과정은 몇 분 정도 걸릴 수 있으며 완료되면 Magento 관리 대시 보드에 대한 URI가 포함 된 메시지가 표시됩니다.

: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.

마 젠토 크론 탭 만들기

Magento는 크론 작업을 사용하여 재 인덱싱, 알림, 사이트 맵, 이메일 등과 같은 작업을 예약합니다.

Magento crontab을 만들려면 magento 사용자로 다음 명령을 실행하십시오.

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

다음을 입력하여 crontab이 설치되어 있는지 확인하십시오.

crontab -l

#~ 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

Nginx 구성

지금까지이 튜토리얼의 전제 조건을 확인하지 않으면, Ubuntu 서버에 SSL 인증서가있는 Nginx가 이미 설치되어 있어야합니다.

Magento와 함께 제공되는 기본 Nginx 구성을 포함시킬 것입니다.

sudo 사용자로 전환하고 텍스트 편집기를 열고 다음 파일을 작성하십시오.

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

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; } example.com을 Magento 도메인으로 바꾸고 SSL 인증서 파일의 올바른 경로를 설정하는 것을 잊지 마십시오. 이 구성에 사용 된 스 니펫은이 안내서에서 작성됩니다.

Nginx 서비스를 다시 시작하기 전에 구문 오류가 없는지 테스트하십시오.

sudo nginx -t

오류가 없으면 출력은 다음과 같아야합니다.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

마지막으로 다음을 입력하여 Nginx 서비스를 다시 시작하십시오.

sudo systemctl restart nginx

설치 확인

브라우저를 열고 도메인을 입력하고 설치가 완료되면 다음과 유사한 화면이 나타납니다.

이제 Magento Admin URI로 이동하여 관리자로 로그인하여 새 Magento 설치 사용자 정의를 시작할 수 있습니다.

결론

축하합니다. Ubuntu 18.04 서버에 Magento 2.3을 성공적으로 설치했습니다. 이제 상점 사용자 정의를 시작할 수 있습니다.

Magento 2.3 개발자 문서는 Magento 설치를 관리하는 방법에 대한 자세한 정보를 얻을 수있는 좋은 출발점입니다.

우분투 마 젠토 MySQL의 MariaDB PHP Nginx 작곡가 전자 상거래