Localhost에 Magento 2를 설치하는 방법
게시 됨: 2021-04-12목차
2021년 4월 13일 업데이트 : 사용자가 Magento 2.4.2를 설치하려고 할 때 404 Not Found 오류가 발생할 수 있습니다. 최상의 결과를 얻으려면 문서에서 제안된 솔루션을 따르십시오.
Magento가 2.0 버전을 출시한 지 꽤 오래되었습니다. 보다 친숙한 사용자 인터페이스와 향상된 성능으로 인해 많은 기존 Magento 1 사용자가 조만간 Magento 2로 이동할 가능성이 높습니다. 시미카트는 트렌드에 맞춰 2016년 12월 마젠토 2 모바일 앱도 출시했다.
오늘은 XAMPP 서버를 사용하여 Windows에서 로컬로 Magento 2.4를 설치하는 방법을 보여드리겠습니다. 이 튜토리얼은 현재 Magento 2 사용자와 Magento를 처음 접하는 사용자를 대상으로 합니다. 이제 시작하겠습니다!
1부: XAMPP 설치 및 구성
1단계 : XAMPP 다운로드
다운로드 링크: https://www.apachefriends.org/download.html
M2.4용 Magento에서 권장하는 PHP 버전 7.4.x와 함께 XAMPP를 설치하는 것이 좋습니다. 또한 Magento에 따르면 PHP 7.3과 함께 Magento 2.4를 설치할 수 있지만 테스트되거나 권장되지는 않습니다.
2단계 : XAMPP 설치
XAMPP를 다운로드한 후 파일을 두 번 클릭하여 컴퓨터에 설치합니다.
다음 을 클릭합니다.
이미지와 같이 기본 선택을 그대로 둡니다. 다음 을 클릭합니다.
설치 폴더를 선택하십시오. 기본 위치는 C:\xampp 입니다. 그런 다음 다음 을 클릭합니다.
다음 을 클릭합니다.
다음 을 클릭합니다.
이제 설치 프로그램이 컴퓨터에 xampp를 설치합니다. 잠시만 기다려주세요.
설정이 완료되면 "지금 제어판을 시작하시겠습니까?" 옵션이 표시됩니다. 선택된 상태로 유지하십시오. 마침 을 클릭하여 설정을 종료하고 XAMPP 제어판으로 들어갑니다.
3단계 : XAMPP 구성
XAMPP 제어판에서 "Apache" 행의 Config 버튼을 클릭하고 " PHP (php.ini) "를 클릭합니다.
php.ini
파일에서 다음 행을 찾아 제거하십시오 ;
각 행 앞에:
;확장자=intl ;확장자=비누 ;확장자=소켓 ;확장자=나트륨 ;확장자=xsl
memory_limit
를 4G로 확장:
memory_limit=4G
완료한 후 파일을 저장하고 닫습니다. 그런 다음 Apache 및 MySQL 2개 행에서 시작 버튼을 클릭하여 시작합니다. 이 단계 후에 XAMPP를 종료하지 말고 그냥 실행하십시오.
4단계 : 호스트 파일 구성
C:\Windows\System32\drivers\etc\hosts
엽니다. 마지막 행에 다음 줄을 추가합니다.
127.0.0.1 www.localhost.com
5단계 : 데이터베이스 생성
URL http://localhost/phpmyadmin/
을 탐색하여 phpMyAdmin 페이지에 액세스합니다. 데이터베이스 이름(예: "Magento2")을 입력하고 만들기 를 클릭합니다.
나중에 ( root
사용자를 사용하여) Magento를 설치할 수 있으므로 데이터베이스 이름을 기록해 두십시오.
2부: Elasticsearch 설치
버전 2.4부터 Magento를 사용하려면 Elasticsearch가 카탈로그 검색 엔진이 되어야 합니다.
Elasticsearch 7.6.0 다운로드: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x는 Elasticsearch 7.6.x에서만 테스트되었습니다. 다른 7.x를 사용할 수 있습니다. 재량에 따라 버전을 선택할 수 있지만 테스트된 Elasticsearch 버전을 사용하는 것이 좋습니다.)
방금 다운로드한 .zip 파일의 압축을 풉니다. 터미널 창에서 cd
을 푼 디렉터리로 이동하고 다음 명령을 실행합니다.
.\bin\elasticsearch.bat
설치가 완료되면 http://localhost:9200
에 Elasticsearch가 제대로 설치되었는지 확인할 수 있습니다. 그러면 다음과 같이 표시됩니다.
{ "이름": "Cp8oag6", "cluster_name": "elasticsearch", "cluster_uuid": "AT69_T_DTp-1qgIJlatQqA", "버전" : { "숫자": "7.6.0", "build_flavor": "기본값", "build_type": "tar", "build_hash": "f27399d", "빌드 날짜": "2016-03-30T09:51:41.449Z", "build_snapshot": 거짓, "lucene_version": "8.7.0", "minimum_wire_compatibility_version": "1.2.3", "minimum_index_compatibility_version" : "1.2.3" }, "tagline" : "검색을 위해" }
3부: Composer를 사용하여 Magento 다운로드
Magento 2의 일부 플러그인은 작곡가 2.x에서 작동하지 않으므로 안정적인 버전의 작곡가 1.x를 사용하여 Magento를 다운로드하는 것이 좋습니다. 이를 수행하는 가장 좋은 방법은 Composer-Setup.exe를 설치하는 것입니다.
이 설정은 최신 작곡가 버전을 설치하고 PATH 환경 변수를 설정하여 모든 디렉토리에서 작곡가를 편리하게 호출할 수 있도록 합니다. 작곡가 설치를 마친 후에는 최상의 호환성을 보장하기 위해 composer self-update --1
을 사용하여 이전 1.x 버전으로 다운그레이드해야 합니다.
그런 다음 C:\xampp\htdocs
cd
이동하고 다음 명령을 실행합니다.
작곡가 create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <설치 디렉터리 이름>
작곡가가 필요한 모든 모듈을 다운로드하고 설치하는 데 시간이 걸립니다. 모든 작업이 완료되면 다음과 같이 표시됩니다.
4부: 명령줄을 사용하여 Magento 설치
Magento 2.4부터 명령줄 인터페이스는 Magento의 기본(유일한) 설치 방법입니다.
Magento 2.4를 설치하는 동안 몇 가지 오류가 발생할 수 있습니다. 이러한 오류를 방지하려면 먼저 Magento 파일을 약간 조정해야 합니다.
이 오류를 방지하려면:
\vendor\magento\framework\Image\Adapter\Gd2.php
에서 validateURLScheme
함수를 찾아 다음으로 바꿉니다.
개인 함수 validateURLScheme(문자열 $filename) : bool { $allowed_schemes = ['ftp', 'ftps', 'http', 'https']; $url = parse_url($파일명); if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) { 거짓을 반환합니다. } true를 반환합니다. }
다음으로 cd
디렉터리로 이동하고 다음 명령을 실행합니다.
PHP bin/magento 설정: 설치 --base-url=http://localhost/magento24/ --db-host=localhost --db-name=yourdbname --db-user=yourdbuser --db-password=yourdbpassword - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- 시간대=미국/시카고 --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200
설명 :
-
base-url
: 다음 형식을 따르는 Magento 디렉토리가 있는 경로: http[s]://<host or ip>/<your Magento install dir>/
-
db-host
: 호스트의 호스트 이름 또는 IP 주소 -
db-name
: 방금 생성한 Magento 데이터베이스의 이름으로 변경 -
db-user
: 모든 권한이 있는 데이터베이스 사용자입니다. 기본 루트 사용자를 사용하겠습니다. -
db-password
: 데이터베이스 사용자의 비밀번호입니다. '루트' 데이터베이스 사용자를 사용하는 경우 비워 둡니다. -
admin-firstname
: 귀하의 이름 -
admin-lastname
: 귀하의 성 -
admin-email
: 귀하의 이메일 주소 -
admin-user
: 관리자 패널에 로그인하는 데 사용할 사용자 이름 -
admin-password
: 관리자 패널에 로그인할 때 사용할 비밀번호 -
language
: 관리자 패널과 상점에서 사용할 언어입니다.en_US
와 같은 언어 코드를 사용하십시오. -
admin-email
: 이메일로 변경 -
currency
: 상점에서 사용할 기본 통화를 설정합니다. 코드와 함께 지원되는 통화 목록을php bin/magento info:currency:list
를 입력하십시오. -
timezone
: 현재 있는 시간대로 변경합니다. 무엇을 채워야 하는지에 대한 더 나은 아이디어는 지원되는 시간대 목록을 참조하세요. -
url-rewrites
: 웹 서버 재작성을 활성화하려면 1로 설정합니다. 이것은 귀하의 사이트 순위에 도움이 될 것입니다. -
backend-frontname
: 관리자 URL을 설정합니다. 이 매개변수를 생략하면 Magento 관리자 경로에 대한 URL이 무작위로 생성됩니다(예: admin_jkhgdfq). -
search-engine
: 이 Magento 설치에 사용할 Elasticsearch 버전을 설정합니다. 기본값은 Elasticsearch7입니다. -
elasticsearch-host
: Elasticsearch가 실행 중인 호스트 이름 또는 IP 주소입니다. 기본값은 로컬 호스트입니다. -
elasticsearch-port
: Elasticsearch가 수신 대기 중인 포트 번호입니다. 기본값은 9200입니다.
더 많은 구성 가능한 옵션은 Magento의 공식 가이드를 참조하십시오.
성공적으로 설치되면 다음 메시지가 표시됩니다.
설치 후 파일 권한 확인 중… 보안을 위해 'C:/xampp/htdocs/magento24/app/etc' 디렉토리에서 쓰기 권한을 제거하십시오. [진행: 1270 / 1270] [성공]: Magento 설치가 완료되었습니다. [성공]: 관리자 패널 URI: /admin 가져올 항목이 없습니다.
그런 다음 Magento가 Windows에서 작동하도록 하기 위해 다음과 같이 몇 가지 추가 조정을 해야 합니다.
app\etc\di.xml
에서 Symlink
를 Copy
로 바꿉니다.
<virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory"> <인수> <argument name="strategiesList" xsi:type="array"> <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item> <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item> </인수> </인수> </가상 유형>
vendor\magento\framework\View\Element\Template\File\Validator.php
에서 138행 을 다음으로 교체합니다.
$realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));
마지막으로 다음 명령을 실행합니다.
PHP bin/magento 인덱서:재색인 php bin/magento 설정:업그레이드 PHP bin/magento 설정:정적 콘텐츠:배포 -f PHP bin/magento 캐시:플러시
Magento 2.4.2 이상에 대한 추가 조정
Magento 2.4.2부터는 보안을 강화하기 위해 /pub/
폴더에서 콘텐츠를 제공하는 것이 필수입니다. 이것이 Magento 2.4.2 버전이 제대로 작동하도록 하기 위해 추가 조정이 필요한 이유입니다.
1단계 : index.php
및 .htaccess
파일을 /pub/
에서 루트 폴더로 복사합니다.
2단계 : index.php
(루트 폴더)에서 아래 줄을 찾습니다.
__DIR__이 필요합니다. '/../app/bootstrap.php';
그리고 그것을 대체
__DIR__이 필요합니다. '/앱/부트스트랩.php';
3단계 : 최근에 생성한 Magento 2 데이터베이스( http://localhost/phpmyadmin
)로 이동하고 다음 SQL 쿼리를 사용하여 core_config_data
테이블을 찾습니다.
SELECT * FROM core_config_data
이 테이블에서 다음 행을 삽입할 수 있습니다.
길 | 값 |
웹/보안/base_static_url | http://localhost/magento24/pub/static/ |
웹/비보안/base_static_url | http://localhost/magento24/pub/static/ |
웹/보안/base_media_url | http://localhost/magento24/pub/media/ |
웹/비보안/base_media_url | http://localhost/magento24/pub/media/ |
magento24
를 Magento 설치 디렉토리로 바꿉니다.- 수동으로 행 삽입:
- SQL 쿼리가 있는 행 삽입:
INSERT INTO `core_config_data`(`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES(NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp()); INSERT INTO `core_config_data`(`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES(NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp()); INSERT INTO `core_config_data`(`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES(NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp()); INSERT INTO `core_config_data`(`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES(NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
새로 추가된 행은 다음과 같아야 합니다.
이제 다음을 사용하여 캐시를 지웁니다.
PHP bin/magento 캐시:플러시
그리고 프론트엔드를 새로 고칩니다. 이제 구성된 base-url
을 통해 프런트엔드에 액세스할 때 다음과 같은 빈 페이지를 볼 수 있습니다.
이제 구성된 base-url
을 사용하여 Magento 프론트엔드에 액세스할 수 있습니다. 예를 들어 Magento 2.4.2 설치를 통해 http://localhost/magento24/
에서 새로운 Magento 사이트에 액세스하고 http://localhost/magento24/admin
에서 백엔드에 액세스합니다.
*참고: Magento Admin 계정에 로그인하려고 할 때 이 오류가 발생하는 경우: "2단계 인증을 구성해야 합니다..."
다음 명령을 실행해 보세요.
php bin/magento 모듈: Magento_TwoFactorAuth 비활성화
파트 5: 샘플 데이터 가져오기(선택 사항)
다음 명령을 실행하여 샘플 데이터를 가져옵니다.
PHP bin/magento 샘플 데이터:배포
메시지가 표시되면 Magento 인증 키를 입력합니다. 공개 및 개인 키는 Magento Marketplace 계정에서 생성 및 구성됩니다.
데이터 가져오기가 완료되면 다음을 실행합니다.
php bin/magento 설정:업그레이드 PHP bin/magento 설정:정적 콘텐츠:배포 -f PHP bin/magento 캐시:정리
이제 프론트엔드를 새로 고치면 Luma 테마와 샘플 데이터가 있는 기본 Magento 스토어를 볼 수 있습니다.
그게 다야! 로컬 호스트에 Magento 2 설치를 완료했습니다. 이제 Magento 2 프론트엔드/백엔드에 액세스하고 Magento 2 기능 탐색을 시작할 수 있습니다. 이 게시물이 도움이 되었기를 바랍니다!
추가 읽기