/himemory

A simple E-Newspaper.

Primary LanguageHTMLApache License 2.0Apache-2.0

Hi, Memory!

欢迎使用HiMemory程序。
这个项目采用PHP5.x/HTML5/CSS3/JAVASCRIPT构建,运行在Nginx/Apache上,且兼容Linux/Windows操作系统。
HiMemory是一种电子报纸。他同正常的报纸不同,他具有迅捷的更新速度和更低的阅读门槛;他同以往的电子报纸也不同,他是响应式的/高度自定义的/内容维护方便的/信息随刻更新的。(在往常,电子报纸通常以PDF/DOCX文件形式下放,这对移动手机十分不友好)
本项目由tiantian520构建,这是他的Github
(他的真实名称由于需要上传至Github暂时隐藏,若您需要知道,那您肯定已经知道了)

运行环境

推荐环境:
PHP 5.X
Nginx
Linux CentOS 7.9.*
2 核心 2.6GHZ 以上 CPU
2 GB 运行内存
30 GB 硬盘空间
5M 宽带
宝塔面板7.9.X(这不是必须的,但是十分推荐的)

安装并部署

在此之前,请先阅读“简介”并检查自己的服务器配置。

0.1.1 安装环境

这您应该在上一章节中已经做好了!

0.2.1 上传源代码文件

首先,您需要获取源代码文件。您可以通过Github、网页共享等方式拿到源代码。在正常情况下,当你正在阅读此文件的话,这一步您已经做好了。

0.3.1 修改网页配置

您需要打开网站目录下的./config/config.php
这里有很多代码,但您千万不要去尝试随意修改它!(除非您正在开发)
您只需要修改这里:

$admin_password = "test"; //管理员密码,必须设置
$admin_username = "test"; //管理员用户名,必须设置

这是十分要紧的事!如果不立即修改,可能会造成对网站的严重威胁!

0.4.1 查看您的首页

尝试看看你的首页吧!输入您的 IP:PORT 并访问,可以看到,HiMemory在正常的工作了!(如果出现空白页面,那么请在config.php中注释掉error_reporting(0);这段代码,看看报错信息并找出原因所在,通常会出现opendir_src设置问题和权限问题)

0.5.1 注册管理员账号

您可能想问:
不是设置过账号密码了?怎么还要注册账号? 刚刚config.php里设置的不算数吗?
并不是不算数。为什么要注册呢,那是因为HiMemory的前端与后台的用户系统是互补的,同时也是分开的。后台密码为了安全,是需要单独去设置的。而前台的管理员账号注册,是为了让数据库中存在管理员这个用户。
在您的首页顶部,应该会有登录字样。点开它!并且点击下方的“还没有账号?立即注册”。您只需要按规定填写您的信息并注册账户,这一切便完成了。(请放心,您的密码采用md5加密存放在SQLite数据库中)
按理来说,您的安装应该结束了!但并不然,我们需要设置一些东西让系统变得井井有条。

0.6.1 设置定时更新新闻

您的首页新闻信息,有一部分是需要您自己设置的,有一部分是自动更新的。可以自己设置的部分在后台页面可以查看到。(./admin/articles.php),其余的部分要不然是还没做好更新,要不然就是自动更新的。
例如,在新闻专栏的左侧(PC端是如此),一些实时新闻是自动更新的,但是需要您自行配置。

0.6.2 宝塔面板配置方法

(若您不是宝塔面板,请参考0.6.3)
打开宝塔面板,并点击计划任务栏。添加一个定时任务,任务类型为访问URL,URL地址为 您的服务器网址/config/request.php,且设置执行周期为30分钟一次。至于任务名称就随你的心意了!
添加任务后,点击“执行”试试看。如果不出意外,回到首页时,你将看到新的新闻内容在新闻专栏中更新了!

0.6.3 非宝塔面板方法

若您不是宝塔面板,也是有别的方法的。若您是在自己的服务器上搭建,且拥有执行程序的权限,那您可以尝试用python脚本来实现这一操作。它可以这样写:
import time
import requests
while True:
    requests.get('您的服务器网址/config/request.php')
    time.sleep(1800)
运行这个脚本的话,您应该就可以实现如同宝塔面板一样的效果了。
请务必注意!Linux用户请安装screen并使用screen将python程序保持运行,否则在您断开ssh后,可能会失效。
如果您是虚拟主机用户,也不要气馁!您可以先咨询您的云服务商寻求帮助。(若使用php脚本后台常驻的话,我想大部分主机商是不允许的,因为这将会大大耗费服务器资源,且十分危险,通常这是黑客的行为)


0.7.1 设置禁止访问的目录

绝大大大大大大大大大大大大大大大大部分的厂商都会允许您设置目录访问权限。(如果没有的话,呃,您应该考虑和他们好好谈谈)
您需要设置的内容如下:
禁止database目录的访问(十分重要!!!)
禁止config目录的访问权限
(如果可以的话)限制admin目录的访问ip,将其设置为您常用的IP段



总结

至此,您的安装就结束了!



Q & A


Q: 遇到问题!访问主页没有内容!
A: 第一步,检查您目录下database目录以及config目录的访问权限,将其设置为777(若您是linux的话);第二步,将nginx/apache/php配置文件中的opendir_src配置(防跨站)注释掉,检查是否解决;若还没有解决,请前往config.php注释掉error_reporting(0);,看看错误信息是什么并且和百度深度交流。通常在这两步结束后,您的问题会得到解决的。
Q: 注册时总是提示我验证码错误!(或注册报错)
A: 检查您的服务起是否开启了PHP SESSION和COOKIE,并检查您是否键入正确的验证码。
Q: 注册/登录时提示我CSRF令牌错误!
A: 这十分常见。为了安全,HiMemory启用了反CSRF令牌机制。您可以重试登录或切换浏览器,若问题还是没有解决,您也需要检查一下PHP SESSION/COOKIE的状态。如果还是没有办法解决的话,您可以尝试修改check.php和register_check.php,注释掉csrf令牌验证的内容。注意!这可能会让您的网站变得危险。







(At the end,呃,error目录下有自定义的404页面,如果需要可以试试?)

在安装后,您应该立刻访问您目录下的readme.php文件。(注意!是php结尾的网页)那里将告诉您更多!