Image

이 가이드에서는 가상 서버에 Magento 애플리케이션을 설치하여 매번 동일한 작업을 수행하지 않도록 어셈블리를 vps 서버로 사용합니다 Debian 12의 웹 스택. 이 어셈블리는 PHP 및 mariadb가 필요한 웹 애플리케이션을 신속하게 배포하기 위해 특별히 제작되었습니다. 공식 홈페이지에서 최신 버전을 다운로드한 뒤 브라우저를 통해 설치해보자. 필요한 모든 서비스가 이미 설치 및 구성되어 있습니다. magento가 사전 설치된 vps 서버를 주문할 수도 있습니다. 관리를 위해 로그인과 비밀번호를 변경하기만 하면 됩니다.
1. 서버를 준비하자
버전 2.4.6-p3

1.1 필요한 PHP 모듈을 설치하십시오

apt install php-fpm php-cli php-mysql php-mbstring php-xml php-gd php-bcmath php-zip php-curl php-tidy php-intl php-soap php-xsl libsodium-dev libsodium23 libssl-dev libcurl4-openssl-dev

1.2 데이터베이스와 사용자를 생성해보자

mariadb -u root

CREATE DATABASE magento;
CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON magento.* TO 'magentouser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

1.3 작곡가 설치

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --2.2
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer

1.4 ElasticSearch 다운로드 및 설치

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-amd64.deb.sha512
shasum -a 512 -c elasticsearch-8.11.3-amd64.deb.sha512
dpkg -i elasticsearch-8.11.3-amd64.deb

1.4.1 설정이 포함된 파일 추가

nano /etc/elasticsearch/jvm.options.d/memory.options

-Xms512m
-Xmx784m

1.4.2 옵션을 바꿔보자

nano /etc/elasticsearch/elasticsearch.yml

xpack.security.enabled: false

1.4.3 서비스를 시작해보자

nano /etc/elasticsearch/elasticsearch.yml

systemctl enable elasticsearch --now
systemctl start elasticsearch.service

1.5 Redis 설치 및 구성

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
apt update
apt install redis

1.5.1 Redis 서비스의 비밀번호 설정

redis-cli

acl setuser default >Your_Redis_Password
> OK
AUTH Your_Redis_Password
> OK

1.6 magento 설치를 위한 모든 준비를 해보자

1.6.1 열쇠를 받으려면 사이트에 등록하세요

https://account.magento.com/
https://commercemarketplace.adobe.com/customer/accessKeys/

다음 내용으로 파일을 만들어 보겠습니다

nano ~/.config/composer/auth.json 

{
"http-basic": {
"repo.magento.com": {
"username": "public_key",
"password": "private_key"
}

}
}

1.6.2 디렉토리를 만들어보자

mkdir /var/www/domain.tld -p

1.6.3 거기로 가서 설치를 시작합시다

cd /var/www/domain.tld
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition

완료되면 관리 패널에 주소가 포함된 메시지가 표시됩니다. 잠시 후에 필요합니다
[SUCCESS]: Magento Admin URI: /admin_1tbbc0

1.6.4 모든 폴더와 파일을 domain.tld 폴더의 루트로 이동합니다

cd /var/www/domain.tld/project-community-edition
mv /var/www/domain.tld/project-community-edition/* /var/www/domain.tld/
mv /var/www/domain.tld/project-community-edition/.* /var/www/domain.tld/

1.6.5 nginx 파일의 지시문을 변경해 보겠습니다

sed -i 's/php-fpm:9000/fastcgi_backend/g' /var/www/magento/nginx.conf.sample

1.6.6 구성 파일의 줄을 바꾸십시오

nano /var/www/magento/app/etc/di.xml

Default
^10\.[2-6]\.
Replace
^10\.([2-9]|10|11)\.


1.6.7 마젠토를 설치해보자

cd /var/www/domain.tld

bin/magento setup:install --base-url=http://magento.example.com --use-secure=1 --base-url-secure=https://magento.example.com --use-secure-admin=1 --db-host=localhost --db-name=magento --db-user=magentouser --db-password=Your_password2 --admin-firstname=myuser --admin-lastname=Lastname --admin-email=myuser@example.com --admin-user=myuser --admin-password=admin_password0 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 --elasticsearch-host=http://127.0.0.1 --elasticsearch-port=9200 --session-save=redis --session-save-redis-db=0 --session-save-redis-password=Your_Redis_Password --cache-backend=redis --cache-backend-redis-db=2 --cache-backend-redis-password=Your_Redis_Password --page-cache=redis --page-cache-redis-db=4 --page-cache-redis-password=Your_Redis_Password

설치가 완료되면 메시지가 나타납니다

.......
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1tbbc0
Nothing to import.

1.6.8 크론을 설정해보자

php bin/magento cron:install

1.6.9 권리를 할당하자

chown -R www-data:www-data /var/www/domain.tld

1.7 php8.2-fpm 설정을 변경해 봅시다

sed -i 's/max_execution_time = 30/max_execution_time = 180/' /etc/php/8.2/fpm/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 180/' /etc/php/8.2/cli/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php/8.2/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 25M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 25M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/zlib.output_compression = Off/zlib.output_compression = On/g' /etc/php/8.2/fpm/php.ini

systemctl restart php8.2-fpm

1.8 기본 nginx 구성 파일을 살펴보겠습니다:

nano /etc/nginx/conf.d/default.conf

upstream fastcgi_backend {
server unix:/run/php/php8.2-fpm.sock;
}

server {
# Redirect any http requests to https
listen 80;
listen [::]:80;
server_name magento.example.com;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name magento.example.com;

set $MAGE_ROOT /var/www/domain.tld;
include /var/www/domain.tld/nginx.conf.sample;
client_max_body_size 25m;

access_log /var/log/nginx/magento.access.log;
error_log /var/log/nginx/magento.error.log;

# TLS configuration
ssl_certificate /etc/ssl/domain_fullchain.pem;
ssl_certificate_key /etc/ssl/domain_privkey.pem;
ssl_trusted_certificate /etc/ssl/domain_chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
# ssl_dhparam /etc/ssl/certs/dhparam.pem;
}

서비스를 다시 시작해 보겠습니다:

systemctl restart nginx

완료되었습니다. 이제 https://magento.example.com으로 이동하여 애플리케이션을 테스트할 수 있습니다:

다음 명령을 사용하여 관리 섹션에 대한 링크를 볼 수 있습니다

php /var/www/magento/bin/magento info:adminuri

설치가 완료되었습니다. 아래에서는 응용 프로그램 명령을 사용하여 널리 발생하는 문제에 대한 솔루션을 제공했습니다.

기본적으로 관리 섹션에서는 이메일을 통한 2단계 인증이 활성화되어 있습니다. 비활성화하려면 다음 명령을 사용하십시오:

php /var/www/domain.tld/bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
php /var/www/domain.tld/bin/magento module:disable Magento_TwoFactorAuth
php /var/www/domain.tld/bin/magento setup:di:compile
php /var/www/domain.tld/bin/magento c:c

구성된 도메인을 보려면 다음 명령을 사용하십시오

bin/magento config:show web/secure/base_url

도메인을 변경하려면

php bin/magento setup:store-config:set --base-url="http://new-domain.tld/"

또는 https의 경우

php bin/magento setup:store-config:set --base-url-secure="https://new-domain.tld/"

스타일이 올바르게 표시되지 않으면 다음 명령을 사용하십시오:

cd /var/www/domain.tld
$ php bin/magento setup:static-content:deploy -f
$ php bin/magento indexer:reindex



No Comments Yet