Shopware community edition là một nền tảng giỏ hàng miễn phí và mã nguồn mở được sử dụng để cho phép bạn bắt đầu cửa hàng trực tuyến của riêng mình trên web. Nó được viết bằng Symfony và Vue.js và dựa trên một công nghệ hiện đại. Đây là một giải pháp thay thế cho các ứng dụng thương mại điện tử khác, như Magento. Nó cung cấp một giao diện người dùng web đẹp và thân thiện với người dùng được sử dụng để quản lý khách hàng và đơn đặt hàng. Nó cho phép bạn quản lý giá sản phẩm, thay đổi hoặc cập nhật chủ đề, thiết kế mẫu email để tiếp thị sản phẩm của bạn và tạo kết quả thống kê.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Shopware CE với Nginx và Let's Encrypt trên Ubuntu 22.04.
Sau khi cả hai gói được cài đặt, hãy khởi động dịch vụ Nginx và MariaDB và cho phép chúng khởi động tại hệ thống boot:
Đầu tiên, hãy thêm kho lưu trữ PHP vào hệ thống của bạn bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cài đặt PHP cùng với các thư viện khác bằng lệnh sau:
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và điều chỉnh một số cài đặt mong muốn:
Thay đổi các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, bạn sẽ cần cài đặt trình tải IonCube trong hệ thống của mình.
Đầu tiên, hãy tải xuống bằng lệnh sau:
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, hãy xác định đường dẫn của phần mở rộng PHP thư mục:
Bạn sẽ thấy kết quả đầu ra sau:
Tiếp theo, sao chép trình tải IonCube vào thư mục tiện ích mở rộng PHP:
Tiếp theo, chỉnh sửa tệp php.ini và định nghĩa trình tải IonCube:
Thêm dòng sau vào phần
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Shopware CE với Nginx và Let's Encrypt trên Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04 với tối thiểu 4 GB RAM.
- Một tên miền hợp lệ được trỏ đến máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cài đặt Nginx và MariaDB
Trước tiên, hãy cài đặt máy chủ web Nginx và máy chủ cơ sở dữ liệu MariaDB bằng lệnh sau:
Mã:
apt-get install nginx mariadb-server -y
Mã:
systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb
Cài đặt PHP và các thành phần khác
Shopware 6 hỗ trợ các phiên bản PHP từ 7.2 đến 7.3. Vì vậy, bạn sẽ cần cài đặt PHP cùng với các thư viện khác trong hệ thống của mình.Đầu tiên, hãy thêm kho lưu trữ PHP vào hệ thống của bạn bằng lệnh sau:
Mã:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Mã:
apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-intl php7.2-opcache git unzip socat curl bash-completion -y
Mã:
nano /etc/php/7.2/fpm/php.ini
Mã:
memory_limit = 512Mupload_max_filesize = 20Mmax_execution_time = 300
Tiếp theo, bạn sẽ cần cài đặt trình tải IonCube trong hệ thống của mình.
Đầu tiên, hãy tải xuống bằng lệnh sau:
Mã:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Mã:
tar xfz ioncube_loaders_lin_x86-64.tar.gz
Mã:
php -i | grep extension_dir
Mã:
extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718
Mã:
cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20170718/
Mã:
nano /etc/php/7.2/fpm/php.ini
PHP:
:
[CODE]zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so[/CODE]
Lưu và đóng tệp, sau đó khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi.
[CODE]systemctl restart php7.2-fpm[/CODE][HEADING=2]Cấu hình Cơ sở dữ liệu MariaDB[/HEADING]
Trước tiên, bảo mật cài đặt MariaDB và đặt mật khẩu gốc bằng tập lệnh sau:
[CODE]mysql_secure_installation[/CODE]
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
[CODE]Nhập mật khẩu hiện tại cho root (nhập nếu không có):Đặt mật khẩu gốc? [C/N] CMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [C/N] CKhông cho phép đăng nhập root từ xa? [C/N] CXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] CTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y[/CODE]
Sau khi hoàn tất, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
[CODE]mysql -u root -p[/CODE]
Cung cấp mật khẩu root MariaDB của bạn, sau đó tạo cơ sở dữ liệu và người dùng cho Shopware:
[CODE]MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';[/CODE]
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
[CODE]MariaDB [(none)]> xóa các đặc quyền;
MariaDB [(none)]> thoát;[/CODE]
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
[HEADING=2]Tải xuống Shopware[/HEADING]
Đầu tiên, tạo một thư mục cho Shopware bên trong thư mục gốc web Nginx:
[CODE]mkdir /var/www/html/shopware[/CODE]
Tiếp theo, thay đổi thư mục thành shopware và tải xuống phiên bản Shopware mới nhất bằng lệnh sau:
[CODE]cd /var/www/html/shopware
wget http://releases.s3.shopware.com.s3.amazonaws.com/install_5.4.5_6847c0845f0f97230aa05c7294fa726a96dda3ff.zip?_ga=2.133696968.774684214.1529926951-1771999509.1528830594 -O shopware.zip[/CODE]
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
[CODE]giải nén shopware.zip[/CODE]
Tiếp theo, thay đổi quyền sở hữu thư mục shopware và cấp quyền thích hợp bằng lệnh sau:
[CODE]chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware[/CODE]
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
[HEADING=2]Cấu hình Nginx cho Shopware[/HEADING]
Trước tiên, tạo tệp cấu hình máy chủ ảo Nginx mới cho Shopware:
[CODE]nano /etc/nginx/sites-available/shopware.conf[/CODE]
Thêm các dòng sau:
[CODE]server { listen 80; server_name shopware.example.com; # Kiểm tra thư mục gốc này /var/www/html/shopware; # Kiểm tra chỉ mục này shopware.php index.php; vị trí / { try_files $uri $uri/ /shopware.php$is_args$args; } vị trí /recovery/install { chỉ mục index.php; try_files $uri /recovery/install/index.php$is_args$args; } vị trí ~ \.php$ { bao gồm đoạn mã/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # Kiểm tra }}[/CODE]
Lưu và đóng tệp, sau đó bật tệp máy chủ ảo Shopware bằng lệnh sau:
[CODE]ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/[/CODE]
Tiếp theo, kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
[CODE]nginx -t[/CODE]
Bạn sẽ nhận được kết quả sau:
[CODE]nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công[/CODE]
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
[CODE]systemctl reload nginx[/CODE]
Để kiểm tra trạng thái Nginx, hãy chạy lệnh sau:
[CODE]systemctl status nginx[/CODE]
Bạn sẽ nhận được kết quả sau:
[CODE]? nginx.service - Một máy chủ web hiệu suất cao và một máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2022-09-12 05:03:41 UTC; 5 phút trước Tài liệu: man:nginx(8) Tiến trình: 29668 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS) PID chính: 17628 (nginx) Nhiệm vụ: 3 (giới hạn: 4579) Bộ nhớ: 5,7M CPU: 63ms CGroup: /system.slice/nginx.service ??17628 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??29669 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" 12/09 05:03:41 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...12/09 05:03:41 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.12/09 05:09:28 ubuntu2204 systemd[1]: Đang tải lại Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...12/09 05:09:28 ubuntu2204 systemd[1]: Đang tải lại Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.[/CODE][HEADING=2]Truy cập Trình hướng dẫn cài đặt Shopware[/HEADING]
Lúc này, Shopware đã được cài đặt trong hệ thống của bạn. Bây giờ, hãy mở trình duyệt web của bạn và nhập URL [B]http://shopware.example.com.[/b] Bạn sẽ thấy trình hướng dẫn cài đặt web Shopware:
Chọn ngôn ngữ của bạn và nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ thấy màn hình sau:
Đảm bảo rằng tất cả các phụ thuộc bắt buộc đã được cài đặt, sau đó nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ thấy màn hình sau:
Chấp nhận các điều khoản và điều kiện, rồi nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ thấy màn hình sau:
Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút [B]Bắt đầu cài đặt[/b]. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy màn hình sau:
Bây giờ, hãy nhấp vào nút [B]Bắt đầu cài đặt[/b]. Bạn sẽ thấy màn hình sau:
Nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ thấy trang sau:
Chọn tùy chọn mong muốn và nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ thấy màn hình sau:
Cung cấp tên cửa hàng, email, quốc gia, email quản trị, tên người dùng quản trị, mật khẩu và nhấp vào nút [B]Tiếp theo[/b]. Bạn sẽ được chuyển hướng đến màn hình bảng điều khiển Shopware:
Nhấp vào nút [B]Đi đến trang quản lý cửa hàng[/b]. Bạn sẽ thấy màn hình sau:
Cung cấp tên người dùng đăng nhập, mật khẩu và nhấp vào nút [B]Đăng nhập[/b]. Bạn sẽ thấy trang sau:
Bây giờ, hãy hoàn tất thiết lập cửa hàng của bạn và bắt đầu bán hàng trực tuyến bằng nền tảng Shopware.
[HEADING=2]Bảo mật Shopware bằng Let's Encrypt[/HEADING]
Trước khi bắt đầu, bạn sẽ cần cài đặt ứng dụng khách Certbot trong hệ thống của mình để cài đặt và quản lý Let's Encrypt SSL. Bạn có thể cài đặt bằng lệnh sau:
[CODE]apt-get install certbot python3-certbot-nginx -y[/CODE]
Sau khi cài đặt xong máy khách Certbot, hãy chạy lệnh sau để tải xuống và cài đặt Let's Encrypt SSL cho trang web của bạn:
[CODE]certbot --nginx -d shopware.example.com[/CODE]
Cung cấp địa chỉ email của bạn và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
[CODE]Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho shopware.example.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/sites-enabled/shopware.conf[/CODE]
Chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không:
[CODE]Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác thay đổi nàybằng cách chỉnh sửa cấu hình máy chủ web của bạn.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] sau đó [enter] (nhấn 'c' để hủy): 2[/CODE]
Nhập 2 và nhấn enter để bắt đầu quá trình. Sau khi cài đặt hoàn tất, bạn sẽ thấy đầu ra sau:
[CODE]Đang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/sites-enabled/shopware.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://shopware.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=shopware.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/shopware.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/shopware.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 12-09-2022. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le[/CODE]
Tại thời điểm này, trang web Shopware của bạn được bảo mật bằng Let's Encrypt SSL. Bây giờ bạn có thể truy cập trang web của mình một cách an toàn bằng URL [B]https://shopware.example.com.[/b]
[HEADING=2]Kết luận[/HEADING]
Xin chúc mừng! bạn đã cài đặt thành công Shopware với Nginx và Let's Encrypt SSL trên Ubuntu 22.04. Bây giờ bạn có thể bắt đầu thiết lập doanh nghiệp trực tuyến của riêng mình bằng Shopware. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.