怎样在 CentOS 7 上安装 Shopware CE

商店用品 是一个面向在线业务的开源电子商务平台。 Shopware 源代码托管在 GitHub. 本指南将向您展示怎样在全新的 CentOS 7 Vultr 服务器实例上安装 Shopware 社区版 (CE)。

要求

  • PHP 5.6.4 或更高版本,带有以下扩展:
    • 类型
    • curl
    • 判断
    • 散列
    • 图标
    • gd(带有 freetype 和 libjpeg)
    • json
    • 字符串
    • 开放式SSL
    • 会议
    • 简单XML
    • xml
    • 压缩
    • zlib
    • PDO/MySQL
  • Nginx 或 Apache 和 mod_rewrite 启用,本指南将使用 Nginx
  • MySQL 5.5.0 或以上
  • IonCube Loader 5.0 版(可选,但推荐)

在你开始之前

检查 CentOS 版本。

cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

创建一个新的非 root 用户帐户 sudo 访问并切换到它。

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

笔记: 代替 johndoe 用你的用户名。

设置时区。

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

确保您的系统是最新的。

sudo yum update -y

安装 unzip, vim, wgetcurl.

sudo yum install -y unzip vim wget curl

为简单起见,禁用 SELinux 和防火墙。

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

安装 PHP

设置 Webtatic YUM 存储库。

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装 PHP 和所需的 PHP 扩展。

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mysql php72w-curl php72w-json php72w-zip php72w-gd php72w-xml php72w-mbstring php72w-opcache

检查版本。

php --version
# PHP 7.2.6 (cli) (built: Jun  2 2018 07:49:42) ( NTS )

启动并启用 php-fpm.service.

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

安装 IonCube 加载器

下载 IonCube 加载器。

cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

提取装载机。

tar xfz ioncube_loaders_lin_*.gz

通过运行以下命令在系统上找到 PHP 扩展目录。

php -i | grep extension_dir
# extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules

将 ionCube Loader 复制到 PHP 扩展目录中。

sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib64/php/modules

通过 PHP 配置包含加载器。

sudo vim /etc/php.ini

然后在文件中添加一行以包含 ionCube 加载器。 它可以位于文件下方的任何位置 [PHP] 线。

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so

Save 文件并重新启动 php-fpm.service.

sudo systemctl restart php-fpm.service

安装 MariaDB 并设置数据库

安装 MariaDB 数据库服务器。

sudo vi /etc/yum.repos.d/MariaDB.repo


# Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1


sudo yum install -y MariaDB-server MariaDB-client

检查 MariaDB 版本。

mysql --version
# mysql  Ver 15.1 Distrib 10.2.15-MariaDB, for Linux (x86_64) using readline 5.1

启动并启用 MariaDB。

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

跑过 mysql_secure_installation 脚本来提高您的 MariaDB 安装的安全性。

sudo mysql_secure_installation

以 root 用户身份登录 MariaDB。

mysql -u root -p
# Enter password:

创建一个新的 MariaDB 数据库和用户,并记住凭据。

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT

安装和配置 Nginx

安装 Nginx。

sudo yum install -y nginx

检查 Nginx 版本。

sudo nginx -v
# nginx version: nginx/1.12.2

启动并启用 Nginx。

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

配置 Nginx。 跑 sudo vim /etc/nginx/conf.d/shopware.conf 并使用以下配置填充文件。

server {
    listen 80;
    listen [::]:80;

    server_name example.com; # Check this
    root /var/www/shopware; # Check this

    index shopware.php index.php;

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

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

    location ~ .php$ {
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000; # Check this
    }
}

测试 Nginx 配置。

sudo nginx -t

重新加载 Nginx。

sudo systemctl reload nginx.service

安装商店

创建文档根目录。

sudo mkdir -p /var/www/shopware

更改所有权 /var/www/shopware 目录到 johndoe.

sudo chown -R johndoe:johndoe /var/www/shopware

下载 最新发布的 Shopware.

cd /var/www/shopware
wget https://releases.s3.shopware.com.s3.amazonaws.com/install_5.4.5_6847c0845f0f97230aa05c7294fa726a96dda3ff.zip?_ga=2.133696968.774684214.1529926951-1771999509.1528830594 -O shopware.zip
unzip shopware.zip
rm shopware.zip

笔记: 如果有更新的版本,请更新下载 URL。

更改所有权 /var/www/shopware 目录到 nginx.

sudo chown -R nginx:nginx /var/www/shopware

sudo vim /etc/php-fpm.d/www.conf 并将用户和组设置为 nginx. 最初,它将被设置为 apache.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

创建 /var/lib/php/session 目录并将其所有权更改为用户 nginx.

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

增加 memory_limit = 256Mupload_max_filesize = 6M,并设置 allow_url_fopen = On 如果它还没有设置 /etc/php.ini.

sudo vim /etc/php.ini

在进行更改后 /etc/php.ini, 重新开始 php-fpm.service

sudo systemctl restart php-fpm.service

在 Web 浏览器中打开您的域/IP,然后按照安装向导进行操作。 Shopware 的后端位于 /backend

https://example.com/backend

您已成功安装 Shopware。 享受您的新网上商店。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com