如何在 Ubuntu 24.04 服务器上安装 Prestashop
在此页面上
- 先决条件
- 安装依赖项
- 设置 PHP
- 设置 MariaDB 服务器
- 检查服务器环境
- 下载 Prestashop
- 设置 Apache 虚拟主机
- 使用 HTTPS 保护 Prestashop
- 安装 Prestashop
- 结论
Prestashop 是一个用 PHP 编写的免费开源电子商务解决方案。它允许您创建在线商店、自行托管并发展您的在线业务。
Prestashop 是一个完全可定制且功能丰富的电子商务解决方案,用于构建综合电子商务网站。与此同时,全球有超过 250,000 家在线商店使用 Prestashop,并提供 65 种语言版本。
在本指南中,您将了解如何使用 LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)和 Composer 在 Ubuntu 24.04 服务器上安装 Prestashop。
先决条件
要开始使用本指南,请确保您具备以下条件:
- Ubuntu 24.04 服务器。
- 具有管理员权限的非 root 用户。
- 域名指向服务器IP地址。
安装依赖项
要安装 Prestashop,您必须在系统上安装依赖项。在此示例中,您将安装 LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)、Composer 和 Git 软件包。
首先,运行以下命令来更新您的 Ubuntu 软件包索引。
sudo apt update
现在运行以下命令来安装 LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)、Composer 和 Git 作为 Prestashop 的依赖项。输入Y
继续安装。
sudo apt install apache2 mariadb-server composer git php php-curl php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick
安装完成后,使用以下命令检查 Apache Web 服务器状态:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
您可以在下面看到 Apache Web 服务器正在运行并启用。
使用以下命令检查 MariaDB 服务器状态:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
您将看到类似的输出,MariaDB 服务器正在您的系统上运行并启用。
现在检查 PHP 版本并列出启用的扩展,如下所示:
php -v
php -m
在下面的输出中,您可以看到 PHP 8.3 已安装,并且还启用了一些扩展 fileinfo
、gd
和 opcache
。
最后,使用以下命令检查 Composer 和 Git 版本 - 您将看到 Composer 2.7.1 已安装。
sudo -u www-data composer --version
设置 PHP
现在您已经安装了 Prestashop 的依赖项,您将通过编辑 php.ini
文件并根据 Prestashop 的需要更改一些默认选项来配置 PHP。
使用以下 nano editor
命令打开默认 PHP 配置文件 /etc/php/8.3/apache2/php.ini
。
sudo nano /etc/php/8.3/apache2/php.ini
使用以下内容更改默认配置。根据您的服务器环境调整 date.timezone
和 memory_limit
选项。
date.timezone = Europe/Amsterdam
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000
完成后保存并退出文件。
现在运行以下命令来重新启动 Apache Web 服务器并应用新的 PHP 配置。
sudo systemctl restart apache2
设置 MariaDB 服务器
在本部分中,您将保护 MariaDB 服务器并为 Prestashop 创建新的数据库和用户。您将使用 mariadb-secure-installation
命令保护 MariaDB,然后通过 mariadb
客户端创建新的数据库和用户。
要保护您的 MariaDB 服务器,请运行下面的 mariadb-secure-installation
命令:
sudo mariadb-secure-installation
执行命令后,系统会询问您以下配置:
- 切换到 unix_socket 身份验证?输入 n 并按 ENTER 键。默认的 MariaDB root 用户已受到保护。或者,您也可以通过键入 y(表示“是”)来启用它。
- 更改根密码。输入 y 确认并设置新的 MariaDB root 密码。
- 删除匿名用户?输入 y 确认。
- 禁止远程root登录?输入 y 确认。如果您使用 MariaDB root 用户,则仅允许本地连接。
- 删除测试数据库并访问它。输入 y 确认并删除默认数据库“test”。
- 最后,再次输入 y 以重新加载 MariaDB 服务器上的所有表权限并应用新的更改。
现在您已经保护并配置了 MariaDB 服务器,您将使用 mariadb
客户端为 Prestashop 创建一个新的数据库和用户。
使用下面的 mariadb
命令以 root
身份登录 MariaDB 服务器。出现提示时输入您的 root
密码。
sudo mariadb -u root -p
现在运行以下查询来创建一个新数据库 prestashopdb
和一个新用户 prestashop
,密码为 p4ssword
。确保更改您的详细信息。
CREATE DATABASE prestashopdb;
CREATE USER prestashop@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES on prestashopdb.* TO prestashop@localhost;
FLUSH PRIVILEGES;
接下来,运行下面的查询 t 以确保用户 prestashop
可以访问数据库 prestashopdb
。
SHOW GRANTS FOR prestashop@localhost;
在下面的输出中,您可以看到用户 prestashop
可以访问数据库 prestashopdb
。
最后,输入 quit
以退出 MariaDB 服务器。
检查服务器环境
配置完 PHP 和 MariaDB 后,您将确保您的服务器已准备好安装 Prestashop。您将使用 Prestashop 检查器来确保您的服务器已准备就绪。
转到 /var/www/html
目录并使用下面的 wget
命令下载 Prestashop 检查器。
cd /var/www/html
wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz
运行以下命令提取Prestashop检查器源代码并将提取的目录重命名为ps-check
。
tar -xf v1.1.tar.gz
mv php-ps-info-1.1 ps-check
现在使用 Web 浏览器访问 http://server-ip/ps-check/phppsinfo.php。使用默认用户和密码 prestashop
登录,并确保您的服务器已准备好安装 Prestashop。
下载 Prestashop
现在您的服务器已准备就绪,您可以使用 Composer 安装 PrestaShop 或通过 wget 手动下载。在此示例中,您将手动下载 Prestashop。
使用以下内容创建一个新的 /var/www/prestashop
目录:
mkdir -p /var/www/prestashop
进入 /var/www/prestashop
目录并使用下面的 wget
命令下载 Prestashop 源代码。请务必检查 Prestasho GitHub 页面以获取最新版本。
cd /var/www/prestashop wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.6/prestashop_8.1.6.zip
使用下面的 unzip
命令提取 Prestashop 源代码。
unzip prestashop_8.1.6.zip
现在运行以下命令来更改 Prestashop 安装目录 /var/www/prestashop
的权限和所有权。
sudo chown -R www-data:www-data /var/www/prestashop
sudo chmod u+rw /var/www/prestashop
设置 Apache 虚拟主机
在本部分中,您将为 Prestashop 创建一个新的虚拟主机文件。因此,请确保您的域名指向 Prestashop 服务器 IP 地址。
运行以下命令以启用 Apache 模块 rewrite
、headers
和 ssl
。
sudo a2enmod rewrite headers ssl
使用 nano
编辑器创建新的虚拟主机配置 /etc/apache2/sites-available/prestashop.conf
。
sudo nano /etc/apache2/sites-available/prestashop.conf
添加以下配置。确保将 ServerName
选项更改为您的域名。
<VirtualHost *:80>
ServerName howtoforge.local
ServerAdmin [email
DocumentRoot /var/www/prestashop
<Directory /var/www/prestashop>
# enable the .htaccess rewrites
AllowOverride All
Options +Indexes
Require all granted
# Disable back office token
# SetEnv _TOKEN_ disabled
</Directory>
ErrorLog /var/log/apache2/prestashop_error.log
CustomLog /var/log/apache2/prestashop_access.log combined
</VirtualHost>
完成后保存并退出文件。
接下来,运行以下命令启用 prestashop.conf
文件并验证您的 Apache 语法。如果语法正确,您将得到一个输出 Syntax is OK
。
sudo a2ensite prestashop.conf
sudo apachectl configtest
最后,运行以下命令重新启动 Apache Web 服务器并应用更改。
sudo systemctl restart apache2
使用 HTTPS 保护 Prestashop
在本指南中,您将通过 Certbot 和 Letsencrypt 使用 HTTPS 保护 Prestashop。您需要安装 Certbot 才能从 Letscrypt 生成 SSL/TLS 证书。您还需要一个电子邮件地址。
使用以下命令安装 certbot 和 python3-certbot-apache 软件包。输入Y
确认安装。
sudo apt install certbot python3-certbot-apache
现在运行下面的 certbot 命令来生成 SSL 证书并使用 HTTPS 保护 prestashop。确保更改电子邮件地址和域名。
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email -d howtoforge.local
该过程完成后,您的 Prestashop 将使用 HTTPS 进行保护,并且您的 SSL 证书将在 /etc/letsencrypt/live/domain 中提供。 conf
目录。
安装 Prestashop
使用网络浏览器访问您的 Prestashop 域名,例如 http://howtoforge.local。您将看到 Prestashop 安装向导。
选择您的语言,例如英语,然后单击下一步。
单击同意接受 Prestashop 许可协议。
输入您的商店信息以及 Prestashop 安装的新管理员用户和密码。然后,再次单击下一步。
您可以在 Prestashop 中安装演示数据和附加模块。然后再次单击下一步。
输入 MariaDB 数据库的详细信息,然后单击下一步继续安装。
安装完成后,您将看到以下内容。单击发现您的商店以查看 Prestashop 主页,或单击管理您的商店以访问 prestashop 管理页面。
在访问 Prestashop 管理页面之前,返回终端并运行以下命令删除 /install
目录。
sudo rm -rf /var/www/prestashop/install
结论
恭喜!您已在 Ubuntu 24.04 服务器上安装了 Prestashop。您已经使用 LAMP Stack 运行 Prestashop,并通过 Certbot 和 LetsEncrypt 使用 HTTPS 进行保护。