要想建设同款的论坛/博客(以下简称博客)网站,需要购买一个Linux云服务器和一个域名。
Step 1:域名购买
这里推荐使用阿里云购买域名,未注册的域名还能享受优惠价。比如下面的top域名,购买和续费都比较便宜,如果想长期使用的,建议购买10年的。我在阿里云购买了一个十年的域名math-enthusiast.top,价格仅为188元。
Step 2:服务器购买
服务器不建议购买长期的,因为不可控的因素有很多,建议最多购买一年。新手可以购买一个月尝试一下。
这里我推荐量芯云的云服务器,便宜还好用。
注册并登录后,点击云服务器-立即选购。
这里建议选择香港或者美国的服务器,免备案,建站效率更高一点。下面的基础配置建议选1H2G(如果售罄了就买2H2G,反正怎么便宜怎么买)。
往下 『 存储配置 』,『 网络与安全 』都不用修改,保持默认即可。
之后操作系统镜像,可以选择 宝塔Ubuntu22.04,也可以像我一样选择1Panel。
再往下建议自定义密码,方便后续ssh登录。
全部选择完后,点击立即购买(没有余额需要先充值余额)即可。
Step 3:进入控制命令
系统已默认为你开放所以端口,并安装了1panel面板
点击管理面板—远程连接—在线ssh工具
在当前页面也可以找到你的公网ip,这个地址以后经常会用到,可以先复制到一边备用。
(当然也可以在命令行窗口(Windows按win+R键,输入cmd回车),并输入
ssh root@你的ip地址
然后输入你刚才设置的或者随机生成的密码。)
1panel默认设置安全入口,在ssh中输入以下命令查看安全入口:
1pctl user-info
会出现类似这样的界面,第一行是你的1panel的后台登录地址,复制并将“127.0.0.1”修改成你的公网ip。第二行是默认用户名,也要复制到一边备用。
输入最后一行的提示命令:
1pctl update password
输入两次新密码即可(注意输入密码时界面会没有变化,不显示密码或者*,都是正常现象)
Step 4:进入1panel管理界面并下载Halo
进入1panel管理界面
输入刚才的『 Panel address 』到浏览器,输入『 Panel user 』和你刚才重置的密码,并登录。
如果你没有加上安全入口的网站,会显示这样:
下载Halo
点击应用商店,先安装『 OpenResty 』和『 MySQL 』,注意安装时要在高级设置里勾选『 端口外部访问 』,否则外部无法访问你的应用数据。
之后,再安装Halo,并勾选端口外部访问。
Step 5:进入Halo后台管理Halo
切换到『 已安装 』界面,查看Halo的服务端口,这里默认8090.
在浏览器输入 你的ip+:8090并访问(注意是英文冒号),例如:
127.0.0.1:8090
这时候会让你注册一个管理员账号,按提示注册即可。
注册好之后,使用这个账号登录,进入后台页面。
这时候就快成功了,再次访问 你的ip+:8090,你就会看到博客首页(类似比如下面这样,不过我这是深色背景)。
点击右上角『 控制台 』,可以再次回到后台管理页面。
在后台管理页面点击 文章—⊕新建(右上角)即可进行文章创造,创作完后点击右上角发布即可发步到网页中。
Step 6:域名解析并设置反向代理
域名解析
这时候,你可以使用公网ip+端口的形式访问你的网站,但是还不能通过域名的形式进行访问。
进入刚才购买域名的控制台,点击解析。
创建三条解析记录
第一条 记录类型A,主机记录@,记录值改成你的ip(类似127.0.0.1)不要端口号和http。这样,主域名(类似于mathenthusiast.top)就得到了解析。
第二条 记录类型CNAME,主机记录www,记录值改成你的主域名(这样访问www.mathenthusiast.top就跳转到mathenthusiast.top)。
第三条 记录类型A,主机记录*(星号,表示泛解析),记录值改成你的ip(这样你就可以设置任意二级域名,你就不用重复解析,例如forum.mathenthusiast.top)。
反向代理
只有设置完反向代理才能使用域名访问你的网页。
在1panel页面,点击 网络—网络—创建—反向代理
主域名就是你想要访问的域名(因为现在你就1个页面Halo,所以你就直接填类似mathenthusiast.top的主域名)
其它域名填写含有www的二级域名(例如www.mathenthusiast.top)
代号会自动生成,可以不用修改
代理地址填写127.0.0.1:8090(注意这里前面的127.0.0.1不要改,后面的8090可以改成你的端口)
设置完成后就可以使用http://你的域名 进行访问了(例如http://mathenthusiast.top)。
申请并配置SSL证书
如果没有为网站配置SSL证书,访问网站时,左上角会显示“此链接未加密”或者“不安全”等字样,而且不能访问https。比如使用端口登录的1panel面板:
当配置了SSL证书之后,就能正常访问https了,而且左上角也会显示当前连接是安全的。
我找到一篇还不错的教程,可以先参考一下,以后有时间了再具体说一下怎么申请的。
小白也能看懂的 1panel 申请和自动续签泛域名证书教程 - leeoo 的博客
我建议申请阿里云的Access key和Secret key
Centos7不再维护,安装软件报错解决办法
Centos7和8已经不再维护,因此使用官方的方法下载一些应用会报错(找不到合适的安装包等),好在量芯云官方有发布解决方法:
关于Centos官网停止维护导致源失效解决方案 - 量芯云 - 提供CN2高速香港美国云服务器_专业高防服务器租用 |BGP线路|DDoS防护|24H运维
安装官方的方法更换系统源即可解决报错问题。
使用FTP管理静态网页
下载并配置FTP
首先,我们先安装FTP服务。以下是1panel官方安装教程:FTP - 1Panel 文档
1、安装 epel 源
yum install -y epel-release
2、安装 Pure-FTPd
yum -y install pure-ftpd
3、修改默认配置
# 默认配置位于 /etc/pure-ftpd/pure-ftpd.conf,在配置文件中找到下面几个参数进行修改:
# 指定路径,PureDB用户数据库文件
PureDB /etc/pure-ftpd/pureftpd.pdb
# 开启日志
VerboseLog yes
# 拒绝匿名登录
NoAnonymous yes
# 开启被动端口范围 (这里需要根据实际需求调整端口范围)
PassivePortRange 39000 40000
4、启动 Pure-FTPd 服务
systemctl start pure-ftpd.service
5、查看 Pure-FTPd 服务状态。
systemctl status pure-ftpd.service
需要注意的是,在第三步修改配置时,一定要安装步骤修改4个配置,因为有的地方前面加了“#”,就把那句代码注释掉了,因此不要看到和
教程代码一样就不仔细看,就不修改了。
创建静态网页
按照下图步骤,创建静态网站,勾选“创建FTP”。
创建好后,就可以使用FTP工具登录到文件管理页面,然后上传或修改你的网页文件。
地址:填写你的公网ip地址
用户名:填写创建FTP时的用户名
密码:填写创建FTP时的密码
如果忘记用户名和密码,可以在 工具箱—FTP中查看。
使用FTP可以让不同的人单独管理不同的页面和二级域名,更加方便和高效。
防止暴力破解ssh登录
打开 系统—SSH管理—登录日志 我们可以查看SSH登录失败的ip和时间。
由下图我们发现一共有5万多条暴力破解记录,因此我们务必开启防暴力登录的软件。
一个常用的软件是Fail2ban,1panel官方也有安装教程Fail2ban - 1Panel 文档
1、安装 epel 源
yum install -y epel-release
2、安装 Fail2ban
yum install -y fail2ban
3、启动 Fail2ban 服务
systemctl start fail2ban
4、开机自启动
systemctl enable fail2ban
5、查看 Fail2ban 服务状态。
systemctl status fail2ban
1、安装 Fail2ban
sudo apt-get install fail2ban
2、Debian 12 及以上的版本需要手动安装 rsyslog
sudo apt-get install rsyslog
3、启动 Fail2ban 服务
sudo systemctl start fail2ban
4、开机自启动
sudo systemctl enable fail2ban
5、查看 Fail2ban 服务状态。
sudo systemctl status fail2ban
选择自己的系统进行安装,安装好后,打开 工具箱—Fail2ban,在里面可以自行配置。
注意要先在IP白名单里加上你自己的IP,否则自己有可能会登录不进SSH!
打开IP黑名单,就可以看到已封禁的IP。