OpenCart 是一个基于 PHP 的开源在线电子商务解决方案。它提供了许多插件来帮助您扩展平台的功能,并包括用户管理、多商店功能、附属公司、折扣、多个支付网关、产品评论等功能。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 OpenCart
apt
步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。
sudo apt update
sudo apt upgrade
步骤 2. 在 Ubuntu 22.04 上安装 LAMP 堆栈。
在开始本教程之前,必须在您的服务器上安装 LAMP 服务器。如果您没有安装 LAMP Stack,您可以在此处按照我们的指南进行操作。
步骤 3. 在 Ubuntu 22.04 上安装 OpenCart。
默认情况下,OpenCart 在 Ubuntu 22.04 基础存储库中不可用。现在运行以下命令,使用以下命令从 Git 存储库下载最新版本的 OpenCart:
wget https://github.com/opencart/opencart/releases/download/4.0.0.0/opencart-4.0.0.0.zip
下载完成后。我们需要把它解压到 目录:/var/www/html/opencart/
unzip opencart-4.0.0.0.zip -d /var/www/html/opencart/
接下来,复制 OpenCart 配置文件:
sudo cp /var/www/html/opencart/upload/{config-dist.php,config.php} sudo cp /var/www/html/opencart/upload/admin/{config-dist.php,config.php}
我们将需要更改一些文件夹权限:
sudo chown -R www-data:www-data /var/www/html/opencart/
步骤 4. 为 OpenCart 配置 OpenCart。
默认情况下,MariaDB 未加固。mysql_secure_installation
您可以使用脚本保护 MariaDB 。您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
接下来,我们需要登录 MariaDB 控制台并为 OpenCart 创建一个数据库。运行以下命令:
mysql -u root -p
这将提示您输入密码,因此请输入您的 MariaDB 根密码并按 Enter。登录到数据库服务器后,您需要为 OpenCart 安装创建一个数据库:
MariaDB [(none)]> CREATE DATABASE opencart; MariaDB [(none)]> CREATE USER 'opencart'@'localhost' IDENTIFIED BY 'Your-Strong-Password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON opencart . * TO 'opencart'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit;
步骤 5. 为 OpenCart 配置 Apache 虚拟主机。
现在我们为 OpenCart 创建一个 Apache 虚拟主机:
nano /etc/apache2/sites-available/opencart.conf
添加以下文件:
<VirtualHost *:80> ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/opencart/upload/ ServerName your-domain.com ServerAlias www.your-domain.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/opencart/upload/> Options FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
保存并关闭文件,然后重新启动 Apache 网络服务器以进行更改:
sudo a2ensite opencart.conf sudo a2enmod rewrite sudo a2enmod ssl rewrite sudo systemctl restart apache2
第 6 步。使用 Let's Encrypt 保护 OpenCart。
首先,您需要安装 Certbot 以使用 Let's Encrypt 获取 SSL 证书:
sudo apt install certbot python3-certbot-apache
接下来,按照以下步骤使用 Let's Encrypt 获取您的 SSL 证书:
sudo certbot --apache
您将需要按照交互式提示安装证书。由于我有两个域,我将为这两个域安装 SSL 证书:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): idroot@your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N Account registered. Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: your-domain.com 2: www.your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2 Requesting a certificate for your-domain.com and www.your-domain.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/your-domain.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/your-domain.com/privkey.pem This certificate expires on 2022-12-16. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.your-domain.com-le-ssl.conf Successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.your-domain.com-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://domain.com and https://www.your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
步骤 7. 设置自动续订 SSL。
Let's Encrypt 证书的有效期为 90 天,强烈建议在证书到期前更新证书。您可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
步骤 8. 配置防火墙。
现在,我们使用 Apache 设置了一个简单防火墙 (UFW),以允许对 HTTP 和 HTTPS 的默认 Web 端口进行公共访问:
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
步骤 9. 访问 OpenCart Web 界面。
成功安装后,打开 Web 浏览器并使用 URL 访问 OpenCart 安装向导。您将被重定向到以下页面:https://your-domain.com
感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装带有 LAMP 的 OpenCart。如需其他帮助或有用信息,我们建议您查看OpenCart 网站。