如何在CentOS 8上安装PrestaShop

在本教程中,我们将向您展示如何在CentOS 8 VPS上安装PrestaShop。

PrestaShop是世界上最著名的电子商务平台之一。 它是免费的,开源的,并且基于PHP构建,同时使用MySQL数据库存储数据。 它可以帮助小型或大型企业创建并运营成功的在线商店。

PrestaShop简单,易用,易于安装且用途广泛–它为世界各地的人们提供了一个创建在线商店的绝佳平台。 让我们从安装开始。

先决条件

  • 启用了root访问权限或具有sudo特权的用户的CentOS 8 VPS。 我们在所有VPS上都包含根访问权限。
  • 至少2GB的RAM和2个CPU内核。 为此,我们将使用我们的SSD 2 VPS计划。
  • 需要在服务器上设置LEMP堆栈。 我们还将向您展示如何执行此操作。

步骤1:入门

首先,您将需要以root用户身份通过​​SSH登录到CentOS 8 VPS:

ssh [email protected]_ADDRESS -p PORT_NUMBER

接下来,运行以下命令以升级VPS上所有已安装的软件包:

dnf update -y

默认情况下,在默认的CentOS 8系统上启用SELinux。 我们建议在系统上禁用SELinux,以防止任何安全冲突。

您可以通过编辑 /etc/selinux/config 文件:

nano /etc/selinux/config

找到以下行:

SELINUX=enforcing

并且,将其替换为以下行:

SELINUX=permissive

保存并关闭文件。 然后,重新启动系统以应用更改。

步骤2:安装Nginx,MariaDB和PHP

为了使PrestaShop正常运行,您将需要在服务器上安装Nginx Web服务器,MariaDB数据库服务器,PHP以及一些必需的PHP扩展。 您可以使用以下简单命令安装所有它们:

dnf install nginx mariadb-server php php-cli php-bcmath php-xmlrpc php-intl php-mysqli php-gd php-pdo php-posix php-json php-curl php-zip php-fpm unzip -y

安装所有软件包后,请编辑 php.ini 文件并调整一些设置:

nano /etc/php.ini

更改以下设置:

max_input_vars = 5000post_max_size = 128Mupload_max_filesize = 128Mmax_execution_time = 18000memory_limit = 256Mdate.timezone = UTC

完成后保存并关闭文件。 然后,启动Nginx和MariaDB服务,并使用以下命令使它们在重新启动时启动:

systemctl start nginxsystemctl start mariadbsystemctl enable nginxsystemctl enable mariadb

步骤3:配置PHP-FPM

默认情况下,PHP-FPM配置为与Apache用户和组一起运行。 在本教程中,我们将使用Nginx Web服务器。 这就是为什么需要将PHP-FPM配置为以Nginx用户和组身份运行的原因。

为此,请编辑PHP-FPM配置文件:

nano /etc/php-fpm.d/www.conf

从更改用户和组的值 apachenginx, 如下所示:

user = nginxgroup = nginx

完成后保存并关闭文件。 然后,设置适当的权限和所有权 /var/lib/php/session 目录,使其属于Nginx:

chown -R nginx:nginx /var/lib/php/sessionchmod -R 775 /var/lib/php/session

接下来,启动PHP-FPM服务,并使用以下命令使其在重新启动时启动:

systemctl start php-fpmsystemctl enable php-fpm

步骤4:为PrestaShop创建数据库

首先,确保MariaDB的安装安全,并使用以下命令设置MariaDB的root密码:

mysql_secure_installation

回答所有问题,如下所示:

Set root password? [Y/n] YNew password:Re-enter new password:Remove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y 

一旦我们的MariaDB实例受保护,请使用以下命令登录MariaDB:

mysql -u root -p

出现提示时提供您的MariaDB根密码,然后使用以下命令为PrestaShop创建数据库和用户:

MariaDB [(none)]> CREATE DATABASE prestashop;
MariaDB [(none)]> CREATE USER 'prestashop'@'localhost' IDENTIFIED BY 'password';

请确保将自己的密码设置为强密码,以便 prestashop 用户。

接下来,使用以下命令将所有特权授予PrestaShop数据库:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestashop. * TO 'prestashop'@'localhost';

最后,使用以下命令清除特权并退出MariaDB shell:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

步骤5:安装PrestaShop

在编写本教程时,PrestaShop的最新版本是1.7.6.5。 您可以使用以下命令从其官方下载页面下载它:

wget https://download.prestashop.com/download/releases/prestashop_1.7.6.5.zip

下载后,使用以下命令将下载的文件解压缩到Nginx Web根目录:

unzip prestashop_1.7.6.5.zip -d /var/www/html/prestashop

接下来,授予适当的所有权和权限 prestashop 目录,以便它们属于Nginx:

chown -R nginx:nginx /var/www/html/prestashopchmod -R 775 /var/www/html/prestashop

完成后,您可以继续下一步。

步骤6:为PrestaShop配置Nginx

接下来,创建一个Nginx虚拟主机配置文件以服务PrestaShop。

nano /etc/nginx/conf.d/prestashop.conf

添加以下行:

server {
listen 80;
server_name  prestashop.example.com;
root /var/www/html/presatshop;
index  index.php index.html;
location / {
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;
rewrite ^/c/([a-zA-Z-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1.jpg last;
rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
gzip on;
gzip_comp_level 1;
gzip_buffers 16 8k;
gzip_types application/json text/css application/javascript;
}

确保更换 example.com 与您的注册域名。

完成后保存并关闭文件。 然后,使用以下命令向Nginx检查是否存在语法错误:

nginx -t

最后,重新启动Nginx服务以实现我们所做的所有更改:

systemctl restart nginx

步骤7:访问PrestaShop Web接口

现在,打开您的Web浏览器并输入URL http://prestashop.example.com。 您将被重定向到PrestaShop安装页面:

如何在CentOS 8上安装PrestaShop

选择您的语言,然后单击 下一个 按钮。 您应该看到PrestaShop许可协议页面:

如何在CentOS 8上安装PrestaShop

接受许可协议,然后单击 下一个 按钮。 您应该看到系统兼容性页面:

如何在CentOS 8上安装PrestaShop

点击 下一个 按钮。 您应该看到商店信息页面:

如何在CentOS 8上安装PrestaShop

提供所有详细信息,然后单击 下一个 按钮。 您应该看到系统配置页面:

如何在CentOS 8上安装PrestaShop

提供您的数据库详细信息,然后单击 下一个 按钮开始安装。 安装完成后,您将看到以下页面:

如何在CentOS 8上安装PrestaShop

出于安全原因,您需要删除安装目录。 为此,请返回到终端并运行以下命令 rm 命令:

rm -rf /var/www/html/prestashop/install

接下来,点击 后台办公室。 您应该看到PrestaShop管理页面:

如何在CentOS 8上安装PrestaShop

提供您的管理员电子邮件地址和管理员密码,然后点击 日志 按钮。 您应该看到PrestaShop管理界面:

如何在CentOS 8上安装PrestaShop

恭喜你! 您已在CentOS 8上成功使用Nginx安装了PrestaShop。

如果您认真遵循了本教程中的步骤,则您的CentOS 8 VPS上应该有一个运行中的PrestaShop实例。 有关PrestaShop配置和用法的更多详细信息,请查阅PrestaShop的官方文档。

拥有在线商店对于提高在线形象和增加销售额非常有用,但是管理和维护服务器可能是一个麻烦而令人沮丧的过程。 但是,借助我们托管的PrestaShop托管,我们可以为您处理所有复杂的任务。 只需给我们发送票证或开始实时聊天,我们就可以执行从维护服务器到安装软件或复制文件的所有操作。

如果您对我们的PrestaShop教程有任何建议或疑问,请随时发表评论。 如果本教程对您有所帮助,我们也非常感谢您使用我们的共享快捷方式在社交媒体上共享。

Sidebar