分类 电脑 下的文章

在Linux nginx php5.6 环境中安装 DokuWiki

环境:nginx + php5.6,DokuWiki 2018-04-22a "Greebo"

过程:

1.访问 https://download.dokuwiki.org/ ,下载 DokuWiki 安装文件,可以仅挑选自己所需的语言,减少下载文件大小
doku-1.png

2.将解压到的文件上传到站点根目录,访问install.php安装,如 https://drserver.anqun.org/install.php?l=zh ; 填写安装表单里的各项,保存。本例设置DokuWiki的权限为,不允许注册用户,且仅用户可编辑
doku-2.png

3.完成安装
doku-3.png

4.本例,还需在nginx站点配置文件里,设置拒绝访问 data,conf,bin,inc和 install.php 文件或目录
doku-4.png

5.DokuWiki站点首页
doku-5.png

6.DokuWiki管理页面
doku-6.png

参考:

下载 php manager 安装包文件

php manager for IIS7 是可在 Windows 2008 R2 安装,方便php配置、多版本切换的软件。原先是发布在 codeplex.com 的,现在看起来, codeplex.com 进入了只读的维护状态,原先的下载链接,现在不一定有效了。

过程:

1.访问 https://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7 ,点击右上角的 Download this extension
iis-php-1.png

2.会弹出对话框,确认。大概意思是说,该文件由社区提供,微软不担保,用户下载后自行判断是否安全,建议扫毒
iis-php-2.png

3.之后,会跳转到 https://archive.codeplex.com/?p=phpmanager 页面,点击右上角的 download archive
iis-php-3.png

4.下载得到 phpmanager.zip 文件,解压,其中 releases 目录包含各版本的安装文件,如可将 phpmanager/release/6 里的第二个文件(64位平台)改为.msi的后缀,就可以双击安装了
iis-php-4.png

5.因为测试机是Windows 2016系统,所以安装php manager时,会提示IIS版本不符
iis-php-5.png

升级Discuz 到 X3.4 - 支持php7.0 - 转换GBK到UTF-8 - 添加https访问

客户要求,将现有的Discuz论坛模式更换,因为“交互式”网站审核很严格。

曾考虑将Discuz转换到CMS类的程序,转了一圈,没有现成的。网上建议是通过Discuz的RSS功能,导入到WordPress。但论坛的帖子多,且多数是带图片的附件,Discuz自带的RSS功能有限,此方法不通。

再搜索,有网友曾写php脚本,直接从Discuz的数据库里往WordPress发文章,测试了一下,是从portal里的文章数据表读取内容发到wordpress的,本例是纯论坛,没有门户,此方法也不通。

登录到论坛后台,启用门户,将楼主的帖子生成文章(551个文章)。安装模板,将forum.php重定向到portal.php,仅保留门户首页、文章列表及文章内容的静态化。之后,将 Discuz! X3.2 Release 20150609 升级到了 Discuz! X3.2 Release 20160601 ,同时启用了https访问。强制http跳转https后,门户频道链接会死循环,需要修改/source/module/portal/portal_list.php文件内容。

到此,客户基本满意了。

延伸,想将原备份的数据升级到X3.4,因为需要支持php7。发现discuz.net不提供X3.4版本的安装程序,需要到“码云”网站下载(如果没有码云账号还需要注册新账号或用第三方账号关联登录),下载后发现没有GBK版本的,需要使用提供的工具自行将UTF8版本的转为GBK。这里尝试的操作顺序,是在php5.4环境中,将X3.2升级到了X3.4,再通过Discuz后台的数据库备份功能导出utf-8的数据库文件。最后在php7.0环境中新安装discuz x3.4,及在后台导入备份的数据库文件。发现的问题是,在新站会员登录时提示mysql用户被拒绝,搜索得,需确认conf/config_ucenter.php文件中的信息正确。未解决的问题是,discuz后的“文件校验”功能,显示两百多个被修改的文件,和缺失六十多个文件。

在php7.0环境中,测试https访问,discuz首页和会员登录正常。

discuz-1.png
图1:搬站后,会员登录提示错误,Error:SELECT command denied to user Errno:1142 ,错误信息中没有包含数据库名称信息

discuz-2.png
图2:conf/config_ucenter.php 文件中的 UC_DBTABLEPRE 中的数据库名称不符合实际情况

discuz-3.png
图3:https访问,discuz后台正常

discuz-4.png
图4:https访问,discuz前台也正常

参考:

关闭 mailjet 邮件链接跟踪(Email tracking)功能

在当前阿里云等主机商对ECS实例主动关闭与外部25端口连接新规下,系统不能发信。多数人选择使用外部服务器发信, mailjet 是可以免费注册使用(日限200封),且不用添加信用卡资料的。

邮件链接跟踪(Email tracking)功能,可收集和分析邮件营销的效果,mailjet 可能默认启用了这个功能。但在一些场景中,如重置网站账户密码的通知邮件中,如果邮件中的超链接是替换成 mailjet 的,且是http的,可能会让用户产生怀疑。所以,可以关闭邮件链接跟踪功能。

过程:

1.经 mailjet 发出的邮件,内容中的超链接被替换成包含跟踪代码的链接,如 http://nyz5.mjt.lu/link/...
mailjet-3.png

2.登录到 mailjet 账户,点击 Account Preferences 中的 Settings
mailjet-2.png

3.关闭“Email tracking”中的两个功能,Track Openers
mailjet-1.png

4.再次通过 mailjet 发出邮件,内容中超链接没有被替换了
mailjet-4.png

安装Mercury/32,通过阿里云免费邮箱账户用php mail发邮件

环境:Windows 2012, Mercury/32 Mail Transport System 4.8

过程:

1.安装欢迎界面,请点击 New installation
mercury-1.png
2.无需NetWare支持,请点击 No NetWare Support
mercury-2.png
3.安装路径,默认C:\MERCURY,请点击 OK, accept the directory
mercury-3.png
4.无需Pegasus Mail,请点击 No pegasus Mail interation
mercury-4.png
5.邮件存储路径,默认C:\MERCURY\MAIL,请点击 OK, accept this dirctory
mercury-5.png
6.协议组件,本例仅发信,所以只勾 MercuryS,请点击 OK, continue installation
mercury-6.png
7.选择SMTP Client模块,本例是用外部邮局,所以选Install MercuryC
mercury-7.png
8.这里填写基本信息,如需要连接外发的服务器地址,本例写smtp.aliyun.com,后边也可以改,请点击,OK, continue installation
mercury-20.png
9.选择SMTP relaying模式,一般选择Normal
mercury-9.png
10.设置发信队列存储目录,默认在C:\MERCURY\QUEUE,请点击 OK, continue installation
mercury-10.png
11.配置好,准备安装,请点击 Install Mercury/32
mercury-11.png
12.因为以Windows服务运行需要授权,所以本例点击 Continue
mercury-12.png
13.本例不安装其它附加功能,所以点击 Done
mercury-14.png
14.完成安装,请点击 Exit
mercury-15.png
15.点击自动创建的快捷方式来运行Mercury
mercury-16.png
16.在MercuryC SMTP Relay Client Configureation里,填写阿里云邮箱账户关键信息,如 smart host name 里填写 smtp.aliyun.com,connection port里填写465,模式选择 SSL encryption using direct connection,Login username里填写阿里云邮箱账户,Password里填写密码
mercury-23.png
17.在Mercury SMTP Server设置框里允许relay,即不勾选 Do not permit SMTP relaying of non-local mail
mercury-25.png
18.在Mercury里发测试邮件,注意from里要填写阿里云账号的地址
mercury-22.png
19.在php里用mail函数发送测试,注意from里要填写阿里云账号的地址
mercury-24.png
20.收件箱里能收到两封测试邮件
mercury-26.png

参考: