웹사이트 검색

데비안 11에 Bagisto 전자 상거래를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. LEMP 스택 설치
  3. MariaDB 루트 암호 설정\n
  4. Bagiosto를 위한 새 데이터베이스 및 사용자 설정\n
  5. 작성자 도구 설치
  6. Composer로 Bagisto eCommerce 설치
  7. Nginx 웹 서버 설정
  8. Bagisto 전자 상거래 확인\n
  9. 결론

Bagisto는 Laravel PHP 프레임워크로 작성된 무료 오픈 소스 전자상거래 소프트웨어이며 진보적인 JavaScript 프레임워크인 Vue.js를 사용합니다. Bagisto는 즉시 온라인 상점을 구축할 수 있는 맞춤형 전자 상거래입니다. 빠르고 반응이 빠르고 아름다운 프런트엔드이며 사용하기 쉽습니다. Bagis to는 다양한 유형의 언어, 여러 통화에 대한 여러 로케일을 제공하고 여러 상점 테마를 지원하며 다중 상점 인벤토리 시스템 기능을 제공하는 전자 상거래 프레임워크입니다.

이 튜토리얼에서는 Debian 11 Bullseye에 Bagisto eCommerce를 설치하는 방법을 보여줍니다. 우리는 PHP-FPM, Nginx 웹 서버 및 MariaDB 데이터베이스를 사용할 것입니다.

전제 조건

  • Debian 11 Bullseye의 최신 버전입니다.
  • 루트/sudo 권한이 있는 사용자.\n
  • 서버 IP 주소를 가리키는 도메인 이름.

LEMP 스택 설치

처음에는 데비안 서버에 LEMP 스택을 설치합니다. 현재 버전의 Bagisto eCommerce에는 PHP 7.4 이상, MariaDB 10.2.17 이상 및 Nginx 웹 서버가 필요했습니다.

패키지 설치를 시작하기 전에 다음 명령을 사용하여 저장소를 업데이트하십시오.

sudo apt update

이제 아래의 apt 명령을 사용하여 PHP-FPM, Nginx 웹 서버 및 MariaDB 데이터베이스를 설치하십시오.

sudo apt install nginx-full mariadb-server php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 git unzip -y

모든 패키지 설치가 완료되면 nano 편집기를 사용하여 PHP 구성 php.ini를 편집합니다.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

이제 현재 환경에서 다음 옵션을 변경하십시오.

memory_limit = 512M
max_execution_time = 360
date.timezone = America/Toronto

그런 다음 PHP-FPM 서비스를 다시 시작하여 새 구성을 적용합니다.

sudo systemctl restart php7.4-fpm

그리고 Bagisto 전자 상거래에 사용될 기본 LEMP Stack 설치를 완료했습니다.

MariaDB 루트 비밀번호 설정

Debian 서버에 LAMP 스택을 설치한 후 MariaDB 데이터베이스의 루트 암호를 설정합니다. MariaDB 루트 암호를 설정하는 권장 방법은 명령줄 도구 mysql_secure_installation을 사용하는 것입니다.

아래의 mysql_secure_installation 명령을 실행합니다.

mysql_secure_installation

이제 몇 가지 질문을 받게 됩니다.

  • Enter 키를 눌러 MariaDB의 루트 암호를 설정합니다.\n
  • unix_socket_authentication 방법을 사용하여 루트 사용자 인증을 전환하려면 Y를 입력합니다.\n
  • Y를 입력하여 MariaDB 루트 암호를 설정한 다음 암호를 입력하고 반복합니다.\n

  • Y를 입력하여 MariaDB 익명 사용자를 제거합니다.\n
  • 루트 사용자의 원격 로그인을 비활성화하려면 Y를 입력합니다.\n
  • Y를 다시 입력하여 모든 권한이 있는 기본 데이터베이스 테스트를 제거합니다.\n
  • 새 변경 사항을 적용하기 위해 모든 테이블 권한을 다시 로드하려면 Y를 입력합니다.\n

그리고 MariaDB 데이터베이스의 기본 보안 배포를 완료했습니다.

Bagiosto를 위한 새 데이터베이스 및 사용자 설정

MariaDB 데이터베이스를 구성한 후 이제 Bagisto eCommerce를 위한 새 데이터베이스와 사용자를 생성합니다. 새 데이터베이스와 사용자를 생성하려면 MariaDB 셸에 로그인해야 합니다.

다음 명령을 사용하여 root 사용자로 MariaDB 셸에 로그인합니다.

mysql -u root -p

이제 다음 쿼리를 실행하여 비밀번호 BagistoPassword를 사용하여 새로운 데이터베이스 basgisto 및 사용자 bagistouser를 생성합니다.

CREATE DATABASE bagisto;
CREATE USER IDENTIFIED BY 'BagistoPassword';

다음으로 데이터베이스 사용자 bagistouser가 데이터베이스 bagisto에 액세스하고 쓸 수 있도록 허용한 다음 모든 테이블 권한을 다시 로드합니다. 이것은 MariaDB 권한에 대한 새로운 변경 사항을 적용하는 데 필요합니다.

GRANT ALL ON bagisto.* TO  WITH GRANT OPTION;
FLUSH PRIVILEGES;

이제 exit을 입력하여 MariaDB Shell에서 로그아웃합니다. 그리고 Bagisto 설치를 위한 새로운 데이터베이스와 사용자를 생성했습니다.

작성기 도구 설치

이 단계에서는 Debian 시스템에 Composer를 설치합니다. Composer는 Bagisto eCommerce 설치에 필요합니다.

Composer용 설치 프로그램 스크립트를 다운로드하려면 아래의 php 명령을 실행하십시오. 또한 이 명령은 설치 프로그램 스크립트를 확인합니다. 화면에 설치 프로그램 확인 메시지가 표시되는지 확인합니다.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

이제 설치 프로그램 스크립트 composer-setup.php를 실행하여 Composer를 설치한 다음 composer-setup.php 스크립트를 제거하십시오.

php composer-setup.php
php -r "unlink('composer-setup.php');"

설치 프로그램 스크립트는 바이너리 파일 composer.phar을 다운로드합니다. composer.phar/usr/local/bin/composer로 이동하고 이름을 바꿉니다.

sudo mv composer.phar /usr/local/bin/composer

Composer 설치를 확인하려면 아래 composer 명령을 실행하십시오.

sudo -u www-data composer --version

아래 스크린샷과 같이 Composer의 출력 버전을 얻을 수 있습니다.

이제 서버에 Composer를 설치했으므로 Composer를 사용하여 Bagisto eCommerce를 설치할 준비가 되었습니다.

Composer로 Bagisto eCommerce 설치하기

이 단계에서는 Composer를 통해 Bagisto eCommerce를 수동으로 설치합니다.

/var/www/ 디렉토리 아래에 새 디렉토리 .cache.config를 만들고 두 디렉토리의 소유권을 www-data로 변경합니다. 이는 Composer의 캐시 및 구성을 저장하는 데 사용됩니다.

mkdir -p /var/www/{.cache,.config}
sudo chown -R www-data:www-data /var/www/{.cache,.config}

다음으로 /var/www/project 디렉토리를 생성하고 소유권을 www-data로 변경합니다. 이 디렉토리에 Bagisto eCommerce를 설치하게 됩니다.

mkdir -p /var/www/project; sudo chown -R www-data:www-data /var/www/project

현재 작업 디렉토리를 /var/www/project로 이동하고 아래의 Composer 명령을 실행하여 Bagisto 소스 코드와 모든 추가 PHP 종속성을 다운로드하고 설치합니다.

cd /var/www/project
sudo -u www-data composer create-project bagisto/bagisto

다운로드 프로세스가 완료되면 다음과 같은 결과가 표시됩니다.

다음으로 /var/www/project/bagisto 디렉토리로 이동하고 nano 편집기를 사용하여 .env 파일을 편집합니다.

cd /var/www/project/bagisto
sudo nano .env

자신의 정보로 APP_NAME 값을 변경하고 APP_ENV를 프로덕션으로 변경합니다.

APP_NAME=Bagisto
APP_ENV=production

APP_DEBUG를 false로 변경하고 APP_URL에 설치 URL을 입력합니다.

APP_DEBUG=false
APP_URL=https://www.example.io

아래와 같이 Bagisto 설치에 대한 자세한 데이터베이스를 입력하십시오.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagistouser
DB_PASSWORD=BagistoPassword
DB_PREFIX=

구성을 저장하고 종료합니다.

이제 다음 명령을 사용하여 Bagisto eCommerce를 설치하십시오.

sudo -u www-data php artisan bagisto:install

설치 명령 실행을 확인하라는 메시지가 표시됩니다. yes를 입력하여 확인합니다.

프로덕션 환경에서 Bagisto 전자 상거래를 배포하려면 yes에 대해 yes를 입력합니다.

설치 프로세스가 완료되면 Bagisto 설치를 위한 기본 관리자 사용자 및 비밀번호를 받게 됩니다.

마지막으로 다음 명령을 실행하여 Bagisto 설치 디렉토리 /var/www/project/bagisto의 소유권이 www-data에 속하는지 확인할 수 있습니다.

sudo chown -R www-data:www-data /var/www/project/bagisto

이제 Bagisto eCommerce 설치가 완료되었습니다. Nginx 웹 서버 설정을 위한 다음 단계를 계속 진행합니다.

Nginx 웹 서버 설정

이 단계에서는 Bagisto eCommerce를 위한 새로운 Nginx 서버 블록을 생성합니다. Nginx 웹 서버는 가볍고 빠르기 때문에 전자 상거래와 같은 복잡한 CMS를 처리하는 최고의 솔루션 중 하나입니다.

nano 편집기를 사용하여 새 서버 블록 구성 bagisto를 만듭니다.

sudo nano /etc/nginx/sites-available/bagisto

다음 구성을 복사하여 붙여넣습니다. SSL 인증서의 URL과 경로를 자신의 것으로 변경해야 합니다.

server {
    listen 80;
    server_name example.io;
    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

    server_name  example.io;
    root   /var/www/bagisto/public;
    index  index.php;

  ssl_certificate /etc/letsencrypt/live/example.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;

  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off; # Requires nginx >= 1.5.9
  # ssl_stapling on; # Requires nginx >= 1.3.7
  # ssl_stapling_verify on; # Requires nginx => 1.3.7
  resolver 8.8.8.8 8.8.4.4 valid=300s;
  resolver_timeout 5s;
  add_header X-Frame-Options DENY;
  add_header X-Content-Type-Options nosniff;
  add_header X-XSS-Protection "1; mode=block";

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    client_max_body_size 100M;

    autoindex off;

    location / {
    try_files $uri /index.php$is_args$args;
      }

    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         include fastcgi_params;
         fastcgi_intercept_errors on;
    }
}

구성 파일을 저장하고 종료합니다.

다음으로 다음 명령을 사용하여 bagisto 서버 블록을 활성화한 다음 Nginx 구성을 확인합니다.

sudo ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
sudo nginx -t

오류가 발생하지 않으면 Syntax OK와 같은 출력 메시지가 표시됩니다.

마지막으로 Nginx 서비스를 다시 시작하여 새 가상 호스트 구성을 적용합니다.

sudo systemctl restart nginx

이제 Bagisto eCommerce용 Nginx 구성을 완료했으며 이제 도메인 이름으로 액세스할 준비가 되었습니다.

Bagisto 전자 상거래 확인

Bagisto eCommerce 설치를 확인하려면 웹 브라우저를 열고 주소 표시줄에 설치된 도메인 이름을 입력하십시오.

아래와 같이 Bagisto eCommerce의 기본 홈페이지가 표시됩니다.

다음으로 새 탭을 열고 Bagisto 전자 상거래 설치의 관리 페이지를 방문하십시오.

Bagisto 기본 사용자 admin과 비밀번호 admin123을 입력하고 로그인을 클릭합니다.

그리고 Bagisto 전자 상거래의 관리 대시보드를 받게 됩니다.

결론

축하합니다! 이제 Debian 11 Bullseye 시스템에 PHP-FPM, Nginx 및 MariaDB와 함께 Bagisto eCommerce를 설치했습니다. 이제 제품 추가를 시작하고 Bagisto 전자 상거래를 위한 결제 플러그인을 설정할 수 있습니다.