Phương pháp cài đặt

Phương pháp cài đặt

EC – CUBE có thể được cài đặt theo hai cách sau.

  • Cài đặt bằng gói
  • Cài đặt từ dòng lệnh
  • Cài đặt với trình cài đặt web

Cài đặt bằng gói

Tải xuống và giải nén gói EC – CUBE 4 .

Vui lòng sử dụng FTP / SSH và tải tệp lên máy chủ.

  • Vì có nhiều tệp, lỗi có thể xảy ra. Vui lòng phân chia và tải lên khi xảy ra lỗi.

Vui lòng tạo một cơ sở dữ liệu và bắt đầu máy chủ web.

Truy cập EC – CUBE từ trình duyệt.

  • Hệ thống yêu cầu quyền truy cập vào thư mục html trong thư mục nơi EC – CUBE được tải lên, nhưng vui lòng truy cập trực tiếp vào thư mục nơi EC – CUBE 4.0 được tải lên.

    http://example.com/{Thư mục nơi EC-CUBE 4.0 được tải lên}

Khi trình cài đặt web được hiển thị, nhập thông tin cần thiết và cài đặt nó.

Cài đặt trên dòng lệnh

Là điều kiện tiên quyết, bạn cần cài đặt Trình soạn thảo .

php composer.phar create-project ec-cube/ec-cube ec-cube "4.0.x-dev" --keep-vcs

Trong ví dụ trên, SQLite 3 được chọn cho cơ sở dữ liệu.

Chuyển đến thư mục ec – cube bin/console server:run và thực hiện lệnh để khởi động máy chủ web tích hợp.

cd ec-cube
bin/console server:run

Sau khi truy cập http://127.0.0.1:8000/admin , nếu màn hình đăng nhập quản trị EC – CUBE được hiển thị, quá trình cài đặt thành công. Vui lòng đăng nhập với ID/Mật khẩu sau đây.

ID: admin PW: password

Để thoát, nhấn Ctrl + C

Nếu bạn muốn thay đổi loại cơ sở dữ liệu

Sau khi cài đặt, bin/console eccube:install thực hiện lệnh và Database Url thiết lập như sau.

## for MySQL
mysql://<user>:<password>@<host>/<database name>

## for PostgreSQl
postgres://<user>:<password>@<host>/<database name>

Cài đặt bằng trình cài đặt web

Là điều kiện tiên quyết, bạn cần cài đặt Trình soạn thảo .

php composer.phar create-project --no-scripts ec-cube/ec-cube ec-cube "4.0.x-dev" --keep-vcs

Chuyển đến thư mục ec – cube bin/console server:run và thực hiện lệnh để khởi động máy chủ web tích hợp.

cd ec-cube
bin/console server:run

Khi bạn truy cập http://127.0.0.1:8000/ , trình cài đặt web sẽ được hiển thị. Cài đặt theo hướng dẫn.

Về việc sử dụng tệp .env trong môi trường sản xuất

Sau khi cài đặt hoàn tất, một tệp .env với thông tin kết nối cơ sở dữ liệu, vv được tạo trong thư mục cài đặt . Tệp .env dùng để đặt các biến môi trường cho mục đích phát triển và không được khuyến nghị sử dụng trong môi trường sản xuất. Trong môi trường sản xuất, chúng tôi khuyên bạn nên đặt các biến môi trường trong tệp cấu hình máy chủ. Bằng cách đặt các biến môi trường trong tệp cấu hình máy chủ, nguy cơ phơi bày các biến môi trường ra bên ngoài sẽ giảm và an toàn khi vận hành.

Các ví dụ cấu hình với Apache

Đặt nó thành tệp httpd.conf hoặc .htaccess.

SetEnv APP_ENV prod
SetEnv APP_DEBUG 0
SetEnv DATABASE_URL pgsql://dbuser:password@127.0.0.1/cube4_dev
SetEnv DATABASE_SERVER_VERSION 10.5
SetEnv ECCUBE_AUTH_MAGIC 8PPlCHZVdH5vbMkIUKeuTeDHycQQMuaB
SetEnv ECCUBE_ADMIN_ALLOW_HOSTS []
SetEnv ECCUBE_FORCE_SSL false
SetEnv ECCUBE_ADMIN_ROUTE admin
SetEnv ECCUBE_COOKIE_PATH /

Lưu ý: Máy chủ HTTP Apache phiên bản 2.4 – Chỉ thị SetEnv

Ví dụ cấu hình trong IIS

Đặt nó trong phần môi trường Biến của Applicationhost.config. Tập tin này được C:\Windows\System32\Inetsrv\Config đặt trong. Thay đổi đường dẫn của tệp thực thi PHP nếu thích hợp.

<fastCgi>
    <application fullPath="C:\Program Files\PHP\v7.2\php-cgi.exe" activityTimeout="600" requestTimeout="600" instanceMaxRequests="10000">
        <environmentVariables>
            <environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
            <environmentVariable name="PHPRC" value="C:\Program Files\PHP\v7.2" />
            <environmentVariable name="APP_ENV" value="prod" />
            <environmentVariable name="APP_DEBUG" value="0" />
            <environmentVariable name="DATABASE_URL" value="pgsql://dbuser:password@127.0.0.1/cube4_dev" />
            <environmentVariable name="DATABASE_SERVER_VERSION" value="10.5" />
            <environmentVariable name="ECCUBE_AUTH_MAGIC" value="8PPlCHZVdH5vbMkIUKeuTeDHycQQMuaB" />
            <environmentVariable name="ECCUBE_ADMIN_ALLOW_HOSTS" value="[]" />
            <environmentVariable name="ECCUBE_FORCE_SSL" value="false" />
            <environmentVariable name="ECCUBE_ADMIN_ROUTE" value="admin" />
            <environmentVariable name="ECCUBE_COOKIE_PATH" value="/" />
        </environmentVariables>
    </application>
<!-- /追加 -->
</fastCgi>

Tham khảo: Tham chiếu cấu hình IIS

Lưu ý về cài đặt biến môi trường trong tệp cấu hình máy chủ

Khi đặt biến môi trường trong tệp cấu hình máy chủ, không thể đặt các chức năng sau từ màn hình quản lý.

Xin lưu ý rằng cần phải thay đổi biến môi trường của tệp cấu hình máy chủ và xóa bộ đệm.

  • Màn hình quản trị → Cửa hàng của chủ sở hữu → Mẫu
  • Màn hình quản trị → Cài đặt → Cài đặt hệ thống → Quản lý bảo mật

Về cài đặt quyền

Một số chức năng hữu ích của EC – CUBE dựa trên thực tế là máy chủ web có thể ghi vào tệp. Tuy nhiên, thật nguy hiểm khi các ứng dụng có quyền ghi trên các tệp. Điều tốt nhất từ ​​quan điểm bảo mật là hạn chế quyền càng nhiều càng tốt và chỉ cấp quyền ghi cho các tệp thư mục cụ thể.

Viết quyền của máy chủ web

Để sử dụng tất cả các chức năng của EC – CUBE, thư mục / tệp sau đây cần có quyền ghi từ máy chủ web.

[eccube_root/]
  │
  ├──[app/]
  │   ├──[Plugin/]
  │   ├──[PluginData/]
  │   ├──[proxy/]
  │   └──[template/]
  ├──[html/]
  ├──[var/]
  ├──[vendor/]
  ├──[composer.json]
  └──[composer.lock]

Quyền đọc được yêu cầu cho các tập tin thư mục khác.

eccube_root/

Quyền viết của máy chủ web là bắt buộc trong thư mục gốc của EC – CUBE. .env Tập tin, .maintenance tập tin, vv được sắp xếp dưới thư mục gốc . Xin lưu ý không thay đổi thẩm quyền tập thể vì có một cơ quan được đề nghị khác trong thư mục gốc.

app/

Viết quyền của máy chủ web là bắt buộc trong thư mục. Điều này là do sự cho phép ghi của máy chủ web được yêu cầu trong thư mục bên dưới.

app/Plugin/

Viết quyền của máy chủ web là bắt buộc trong thư mục. Mã nguồn trình cắm được đặt.

app/PluginData/

Viết quyền của máy chủ web là bắt buộc trong thư mục. Dữ liệu trình cắm sẽ được đặt.

app/proxy/

Viết quyền của máy chủ web được yêu cầu trong thư mục. Tệp proxy được tạo bởi tiện ích mở rộng Thực thể được đặt.

app/template/

Viết quyền của máy chủ web được yêu cầu trong thư mục. Các tập tin mẫu được đặt.

html/

Viết quyền của máy chủ web được yêu cầu trong thư mục. Một tập tin css, tập tin js, vv được đặt.

var/

Viết quyền của máy chủ web được yêu cầu trong thư mục. Các tập tin tạm thời như cache và log được đặt.

vendor/

Viết quyền của máy chủ web được yêu cầu trong thư mục. Plugin cài đặt thư viện và cập nhật bản đồ lớp.

composer.json/composer.lock

Các tập tin cần thẩm quyền ghi của máy chủ web. Nó sẽ được cập nhật khi cài đặt trình cắm.

Ví dụ thiết lập quyền

Vai trò yêu cầu ủy quyền phụ thuộc vào thông số kỹ thuật của máy chủ. Ví dụ: trong trường hợp máy chủ dùng chung, người dùng thực thi của máy chủ web có thể khác với người dùng FTP cài đặt tệp. Trong trường hợp này, do máy chủ web sẽ được truy cập với đặc quyền của Khác, để sử dụng chức năng của EC – CUBE, cần phải thiết lập quyền ghi thích hợp cho Khác.

Tập tin thư mục Đặc quyền cần thiết cho máy chủ web Ví dụ
eccube_root/

app/
app/Plugin/
app/PluginData/
app/proxy/
app/template/
html/
var/eller
/|Đọc/ghi|707 ( rwx---rwx )|
|Các thư mục khác|Đọc|705 ( rwx---r-x )|
|composer.json
composer.lock|Đọc/viết|606 ( rw----rw- )|
|Các tập tin khác|Đọc|604 ( rw----r-- )|

Về nâng cấp đơn vị chính

Khi nâng cấp thiết bị chính EC-CUBE với bổ trợ cập nhật, cần có quyền ghi từ máy chủ web cho tất cả các tệp. Vui lòng cấp tạm thời quyền ghi của máy chủ web khi nâng cấp, vui lòng quay lại cài đặt quyền được đề xuất sau khi cập nhật.

Giới thiệu về bin/console

Khi sử dụng lệnh EC – CUBE, bin/console vui lòng cấp quyền thực thi.

Cài đặt quyền trong môi trường sản xuất

Trong phần trước, chúng tôi đã mô tả quyền ghi của máy chủ web để sử dụng tất cả các chức năng của EC – CUBE. Trong môi trường sản xuất, bạn có thể giảm thêm rủi ro bảo mật bằng cách giới hạn hơn nữa các quyền. Tuy nhiên, tăng cường hạn chế quyền sẽ hạn chế một số chức năng và giảm sự thuận tiện. Vui lòng hiểu vai trò và hạn chế của từng tệp / thư mục và đặt quyền.

Sẽ an toàn hơn nếu không cấp đặc quyền ghi cho máy chủ web từ quan điểm bảo mật vào thư mục / tệp sau đây.

[eccube_root/]
  │
  ├──[app/]
  │   ├──[Plugin/]
  │   ├──[proxy/]
  │   └──[template/]
  ├──[vendor/]
  ├──[.env]
  ├──[.htaccess]
  ├──[composer.json]
  └──[composer.lock]

Khi hạn chế quyền ghi của máy chủ web của thư mục / tệp trên, các chức năng sau bị hạn chế.

  • Quản lý nội dung
    • Quản lý trang
    • Quản lý khối
    • Quản lý bảo trì
  • Cài đặt
    • Cài đặt cửa hàng
      • Đạo luật giao dịch thương mại cụ thể
      • Điều khoản dịch vụ cài đặt
      • Cài đặt thư
    • Cài đặt hệ thống
      • Quản lý an ninh
  • Cửa hàng của chủ sở hữu
    • Trình cắm
      • Danh sách plugin
    • Một mẫu
      • Danh sách mẫu
      • Tải lên
    • Cài đặt

.env và .htaccess

.env Được tạo khi EC – CUBE được cài đặt và các cài đặt quan trọng của EC – CUBE được liệt kê. Ngoài ra, .htaccess các cài đặt quan trọng như cài đặt máy chủ web và các biến môi trường được mô tả. Có thể hạn chế đọc và ghi quyền từ máy chủ web, vì cả hai tệp đều chứa các cài đặt quan trọng. 400(rw-------) Vui lòng đặt chủ sở hữu của tệp là người dùng của máy chủ web và đặt quyền. Trong môi trường sản xuất .env cho việc sử dụng các tập tin cho việc sử dụng các tập tin .env trong một môi trường sản xuất cũng tham khảo.

var/

Các tệp cần thiết cho hoạt động của EC – CUBE như tiền mặt và nhật ký được cài đặt. Để EC-CUBE chạy, bạn cần có quyền ghi của máy chủ web.

app/PluginData/

Thư mục này là để đặt dữ liệu plugin. app/PluginData/ Việc bạn có sử dụng hay không phụ thuộc vào plugin. app/PluginData/ Nếu trình cắm sử dụng nó được cài đặt, quyền ghi của máy chủ web là cần thiết.

html/

html/ được đặt khi tải lên hình ảnh, vv của sản phẩm, vv Hạn chế quyền ghi từ máy chủ web hạn chế các chức năng sau.

  • Quản lý sản phẩm
    • Đăng ký sản phẩm
      • Hình ảnh sản phẩm
  • Quản lý nội dung
    • Quản lý tập tin
  • Cài đặt
    • Cài đặt cửa hàng
      • Cài đặt phương thức thanh toán
        • Hình ảnh logo