分类 电脑 下的文章

用 nginx 反向代理 https 站点(SNI)

新注册了 drserver.cn 的域名,首先是想到放国内,因为访问速度快。但一想到ICP备案,打算域名访问到境外的机子,但通过反向代理浏览国内机子的内容。

环境:debian 9,nginx;国内站点访问 drserver.anqun.org

过程:

1.apt install nginx # 境外debian9上安装好nginx
nginx-reserv-ssl-1.png

2.vi /etc/nginx/sites-enabled/drserver.cn # 创建drserver.cn站点配置文件,内容如下。请根据情况调整SSL证书,主机名等参数

server {
        listen 80;
        listen 443 ssl http2;  # your server's public IP address
        server_name  drserver.cn www.drserver.cn;      # your domain name

        ssl on;
        ssl_certificate           /etc/nginx/ssl/drserver.cn.pem;
        ssl_certificate_key       /etc/nginx/ssl/drserver.cn.key;

        location / {
          # proxy_ssl_name $host;
          proxy_ssl_server_name on;
          proxy_pass         https://drserver.anqun.org;
          # proxy_redirect     off;
          # proxy_set_header   Host             $host;
          proxy_set_header   X-Real-IP        $remote_addr;
          proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
          proxy_set_header        X-Forwarded-Proto $scheme;
        }
}

3.systemctl restart nginx # 保存好站点配置文件后重启nginx

4.访问测试,正常
nginx-reserv-ssl-2.png

参考:

为 wdcp 的 php7.0 安装 xsl 扩展

新版本的wdcp面板,提供了多版本的php安装,多数情况下,能满足站点运行需要。本例是在安装magento2时,提示缺少xsl扩展,为php7.0安装xsl扩展的过程。

php-xsl-1.png

1.找到phps.sh安装文件所在的目录,一般包含有src的目录,这里存放着php的安装包文件

2.tar xzvf php-7.0.18.tar.gz # 解压php7.0安装文件

3.cd php-7.0.18/ext/xsl/ # 转到xsl扩展目录

4./www/wdlinux/phps/70/bin/phpize # 执行phpize

5../configure --with-php-config=/www/wdlinux/phps/70/bin/php-config # 配置

6.make # 编译

7.make install # 安装

8.xls.so 文件会被复制到这里 /www/wdlinux/phps/70/lib/php/extensions/no-debug-non-zts-20151012/
php-xsl-2.png

9.在配置文件 /www/wdlinux/phps/70/etc/php.ini 末尾,添加一行:extension=xsl.so

10./www/wdlinux/phps/70/bin/php-fpm restart # 重启php-fpm进程

11.在phpinfo的输入信息中,可以显示xsl扩展的版本信息了
php-xsl-3.png

参考:https://www.wdlinux.cn/bbs/thread-995-1-1.html

在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前台也正常

参考: