Magento是基于PHP Zend Framework的电子商务网站的开源电子商务软件和内容管理系统。 它使用MySQL或MariaDB作为数据库后端。 Magento开发于2008年由Varien开始。
在本教程中,我将向您展示如何在FPM模式下使用Nginx, PHP 7.0和MariaDB作为数据库安装Magento 2。 我将使用ubuntu 16.04(Xenial Xerus)作为服务器操作系统。 如果您还没有最小的服务器设置,请参阅本教程以获得正确的基本设置。
先决条件:
- Ubuntu 16.04 - 64位。
- 根特权。
第1步 - 安装Nginx
使用root帐户登录到您的Ubuntu服务器(例如通过SSH)并更新存储库。
sudo su
apt-get update
然后安装Nginx:
apt-get install nginx -y
通过检查端口来验证nginx是否已正确安装:
netstat -plntu | grep 80
第2步 - 安装和配置PHP-FPM
在这一步中,我们将在PHP-FPM模式下安装PHP 7。 另外我们将安装magento需要的以下PHP扩展。
- php-gd
- php-mhash
- php-mcrypt
- php-xsl
- 梨梨
- php-soap
使用apt命令安装软件包:
apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y
现在编辑php.ini文件为fpm和cli。
vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini
并增加内存限制和php执行时间,并通过在文件末尾添加以下行来打开zlib压缩:
memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On
保存文件并退出编辑器。
重新启动PHP-FPM服务以应用配置更改:
systemctl restart php7.0-fpm
第3步 - 安装和配置MariaDB
我将使用MariaDB而不是MySQL。 使用apt命令安装MariaDB:
apt-get install mariadb-server mariadb-client -y
使用以下命令设置MariaDB root用户密码:
mysqladmin -u root password mypassword
mysql_secure_installation
Set root password? [Y/n]Y
New password:
Re-enter new password: <-- Enter the new password
Remove anonymous users? [Y/n] Y
... Success!
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
... Success!
然后使用root密码连接到MySQL shell(使用mysql启动的MariaDB shell),使用' magentouser @ '密码创建一个名为' magentodb '的数据库和一个用户' magentouser '。 请为服务器上的“magentouser”选择一个安全的密码,而不是我在这个例子中使用的 ' magentouser @ ' !
登录到MySQL shell:
mysql -u root -p
在MySQL shell中,运行以下命令:
create database magentodb;
create user magentouser@localhost identified by 'magentouser@';
grant all privileges on magentodb.* to magentouser@localhost identified by 'magentouser@';
flush privileges;
\q
创建和配置数据库。
第4步 - 安装和配置Magento 2
我们将在目录“/ var / www / magento2”中安装Magento。 对于Magento安装,我们需要PHPComposer。
- 安装phpComposer
转到根目录,使用curl下载Composer安装程序文件,并运行它来安装Composer者。
cd ~/
curl -sS https://getcomposer.org/installer | php
将文件'composer.phar'文件移动到服务器的bin目录,并将其重命名为composer,以便轻松执行:
mv composer.phar /usr/bin/composer
现在验证composer命令是否正常工作:
composer -v
- 下载并提取Magento 2
转到网络目录“/ var / www /”,并从它的Github资源库下载Magento,然后解压缩下载的tar.gz文件:
cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz
tar -xzvf 2.0.7.tar.gz
mv magento2-2.0.7/ magento2/
完成
- 配置Magento键
在Magento网站repo.magento.com上注册一个帐户。 该帐户需要使用Magento和MagentoComposer商店。 注册后,进入“ 我的帐户”>“开发人员>安全密钥 ”,然后生成密钥。
- 为Magento安装第三方组件
转到Magento 2安装目录“/ var / www / magento2”并运行composer命令:
cd /var/www/magento2/
composer install -v
您将被要求获得Magento身份验证,使用公钥作为用户名,密码为私钥。
- 配置Nginx Virtualhost
Magento提供了一个现成的Nginx虚拟主机配置,因此我们只需将其包含在我们的配置中。
转到Nginx虚拟主机目录并创建名为magento的新文件:
cd /etc/nginx/sites-available/
vim magento
粘贴配置如下:
upstream fastcgi_backend {
server unix:/run/php/php7.0-fpm.sock;
}
server {
listen 80;
server_name www.newmagento.com;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}
用您的商店使用的网站的域名替换www.newmagento.com。
保存并退出。
现在激活虚拟主机并重新启动Nginx:
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx
- 安装Magento
我们将在命令行上安装magento。 在Magento目录'/ var / www / magento2 /'中有二进制文件,名称为'magento',用于安装和管理magento。 运行命令:
bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="magentouser@" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
--admin-password=admin123@ \
--admin-email=admin@newmagento.com \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database
backend-frontname =我们的magento网站的管理页面,我们使用' adminlogin '。
Key =我们的magento键,我们可以生成它,或者在http://randomkeygen.com/上随机找到它。
Base-url =确保与虚拟主机配置相同。
在安装过程结束时,您应该看到这些行:
[SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /adminlogin
在我们测试Magento安装之前,确保web目录所有者是“ www-data ”,然后重新启动nginx。
cd /var/www/magento2/
chmod 700 /var/www/magento2/app/etc
chown -R www-data:www-data .
systemctl restart nginx
现在在浏览器中打开Magento域:
在我的情况下,域名是:www.newmagento.com 。
尝试登录Magento管理信息中心:
www.newmagento.com/adminlogin
注意 :
如果您收到有关缺少Magento索引器cronjob的错误,那么可以通过将以下cronjob添加到您的服务器来解决此问题:
crontab -u www-data -e
添加以下行:
* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log * * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log * * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log
保存并退出。
Ubuntu 16.04上的带有Nginx和PHP-FPM 7的Magento 2现已安装。
结论
Magento是基于PHP Zend Framework的开源电子商务平台。 它是一个复杂的电子商务软件,可帮助您完成在线业务。 Magento使用MVC(Model-View-Controller)架构和MySQL或MariaDB作为数据库。 Magento易于安装,我们可以使用Nginx或Apache Web服务器进行安装。 Magento已成为互联网上最受欢迎的电子商务软件之一,并被全球许多成功的商店网站使用。