magento - 搬站 - Symbolic link not allowed or link target not accessible - 403拒绝访问

问题:将magento2的web目录,从A服务器打包到B服务器。访问B服务器的magento2站点,部分图片不能显示,apache日志记录有403错误,如 AH00037: Symbolic link not allowed or link target not accessible: /var/www/magento2/pub/static/adminhtml/Magento/backend/en_US/images/magento-logo.svg

解决:删除magento的pub/static目录,然后重新生成静态目录里的文件。

1.php bin/magento setup:static-content:deploy -f
2.php bin/magento cache:flush

debian9-apache-magento-1.png

参考:https://magento.stackexchange.com/questions/64802/magento-2-404-error-for-scripts-and-css

关闭magento管理后台网址里的会话字符串

问题:magento默认是往管理后台URL网址中添加随机生成的长字符串Secret Key,可增强安全性。但如果有“洁癖”,也可以禁用。
magento-admin-secret-key-1.png

过程:

1.登录到后台,浏览到 Stores -> Settings -> Configuration -->Advanced --> Admin --> Security ,将 Add Secret Key to URLs 设置为 No
magento-admin-secret-key-2.png

2.清除magento缓存后,管理后台的URL网址中没有长长的字符串Secret Key了
magento-admin-secret-key-3.png

参考:

CSS - background-image - 用相对的图片地址

问题:布置一键包的magento2,里边有程序也有图片文件,所有都打包好的。测试时发现首页弹出的订阅框光有文字,没有好看的背景图。

css-background-image-url-3.png

过程:

1.在浏览器里使用“开发者工具”查看“网络”内容列表,查得有张图片的详细地址是 http://127.0.0.1/...

2.在网站文件中,查找包含 127.0.0.1/... 内容的文件,查到是某个CSS样式表文件
css-background-image-url-1.png

3.编辑该CSS样式表内容,将background-image属性里的url地址从http://打头的,换成/picture.png的相对地址
css-background-image-url-2.png

4.刷新测试,弹框有背景图片显示了
css-background-image-url-4.png

参考:https://www.w3schools.com/cssref/pr_background-image.asp

Magento2的SMTP Pro测试发送gmail邮件失败 - cPanel

现象:WHM/cPanel环境里安装了Magento2,想通过SMTP Pro用gmail的邮件服务发邮件。邮件发送测试时提示出错:SMTP Pro Self Test Results: Exception message was: Unable to connect via TLS

过程:

1.确认php环境是支持openssl的,发信测试也是一样的失败结果
magento-smtp-gmail-ssl-1.png

2.搜索得,需要在WHM的Tweak Settings中,将“Restrick outgoing SMTP to root, exim, and mailman(FKA SMTP Tweak)”的功能关闭(设置为Off)
magento-smtp-gmail-ssl-3.png

3.重新测试发信,正常了

参考:https://magento.stackexchange.com/questions/22227/transactional-emails-not-going-out/22233#22233?newreg=72b194287746436db1f4744ce11838b4

用rsync来远程传送备份大文件

网站文件打包后,两个文件加起来约有10GB。在Linux系统里,用rsync来传输备份的文件,挺方便的。如:rsync -avz --progress root@ip-address:/www/backup/ /home/liujia/m 是将远程服务器的/www/backup目录传送到本地的/home/liujia/m 目录里。参数a如同cp命令里的a作用,附加权限、递归等效果;参数v是显示执行信息;参数z是压缩传送;progess是显示传送速率等详细信息。

如果目标服务器的ssh端口非默认的22(如改到2222),可以加 -e 'ssh -p 2222' 的参数来运行。

rsync-1.png
参考: