分享屋 https://free.gd/ zh-CN 万物皆可分享 Mon, 26 Jul 2021 17:22:50 +0800 Mon, 26 Jul 2021 17:22:50 +0800 Mac + Win10 + Manjaro 三系统达成(二、安装篇) https://free.gd/macos-win10-manjaro-install.html https://free.gd/macos-win10-manjaro-install.html Mon, 26 Jul 2021 17:22:50 +0800 渴口可乐 前言

本文接上一篇,开始进入系统的安装操作

[post cid="153" /]

第二篇文章着重说明三系统安装过程,以及会出现的一些小坑,主要是我自己走过的一些弯路吧!

准备工作

要安装三系统,首先需要做一定的准备工作:

  1. 支持黑苹果的硬件(支持列表:https://blog.daliansky.net/Hackintosh-long-term-maintenance-model-checklist.html
  2. 大于16G的U盘一个,PE启动盘一个(内含WIN10系统镜像),Linux启动盘一个
  3. 找到适合自己的EFI文件
  4. 可使用的MacOS系统镜像、balenaEtcher、磁盘分区工具、与自己OpenCore版本匹配的OpenCore Configure、ProperTree

硬件略过不提,看支持列表即可,U盘大于16G是因为MacOS镜像较大,需要大容量U盘支持,最后的适合自己的EFI,则需要自己费心找找,若和我一样是R5900X + B550-A 吹雪 + RX5X0,可以使用我提供的EFI.zip

U盘制作

首先制作MacOS恢复启动盘,镜像使用的黑果小兵提供的11.4版本,请自行下载:MacOS Big Sur 11.4

下载balenaEtcher,并创建恢复盘,完成后通过磁盘分区工具将U盘中的EFI分区挂载到电脑中,并使用自己的EFI替换其中的EFI文件夹。

插入U盘,关机重启后对主板BIOS进行配置,配置方案引用网络列表:

BIOS设置选项列表

禁用清单

  1. Fast Boot - 快速启动
  2. VT-d (can be enabled if you set DisableIoMapper to YES) - VT-d(如果DisableIOMapper Quicks设置为YES,则可以启用)
  3. CSM - CSM 兼容性支持模块
  4. Thunderbolt - 雷雳
  5. Intel SGX - 英特尔SGX
  6. Intel Platform Trust- 英特尔平台信任
  7. CFG Lock (MSR 0xE2 write protection) - CFG锁(MSR 0xE2写保护)(必须关闭,如果找不到该选项,则在OpenCore的config-内核-> Quirks下启用与CFG Lock相关选项)
  8. secure Boot - 安全启动
  9. Parallel Port - 并口
  10. Serial/COM Port - 串行/COM端口

启用

  1. VT-x - VT-x
  2. UEFI Boot Mode UEFI启动模式。请不要使用Legacy
  3. 硬盘模式:改为AHCI。不能用IDE和RST RAID。
  4. Above 4G decoding - 大于4G地址空间解码
  5. Hyper-Threading - 超线程
  6. Execute Disable Bit - 执行禁用位
  7. EHCI/XHCI Hand-off - EHCI / XHCI接手控制
  8. OS type: Windows 8.1/10 UEFI Mode - 操作系统类型:Windows 8.1 / 10 UEFI模式
  9. DVMT Pre-Allocated(iGPU Memory): DVMT预分配(iGPU内存):64MB(如果能设Max就设)
  10. Legacy RTC Device - 传统RTC设备

以上内容,若在自己BIOS中没有的,则无需理会,同时,这里我遇到了一个小坑,特意说明下:

由于我使用的是M.2插槽的固态硬盘,某些主板在关闭CSM情况下,可能会导致主板认不出M.2固态,但如果不关闭CSM,又有可能导致MacOS跑代码时出RTC错误卡死,这里我就遇到了,至于解决方案,就是查看下是否SATA接口与M.2接口存在冲突,更换下SATA接口即可。

系统安装

MacOS引导安装

插入MacOS引导U盘,启动后进入引导界面,点击“Install macOS”进入安装界面

640.png

选择“磁盘工具”进行磁盘分区

640-2.png

分区划分为三个分区(不同硬盘安装可只划分MacOS分区),这里由于安装时无法截图,使用手机拍照,请谅解,大体就是给三个系统划分不同的分区,MacOS划分为APFS格式,其余两个系统以自己的需求决定,这里注意下,所有分区记得填写卷名,避免待会儿不知道该安装到哪个分区。

分区完成后关闭磁盘工具,点击“安装 macOS”,并选择刚才划分的分区进入系统安装,期间会重启多次。

640.webp

640-3.png

剩余的按照正常安装流程即可,完成安装后重启,并插入PE启动盘进行Win10的安装。

Win10安装

启动至PE系统中,打开磁盘工具,并挂载EFI分区(系统自动创建,FAT32格式,大约200M左右),给予一个盘符,如Z盘。

格式化Win10所用分区,格式NTFS,打开PE中的“Windows安装器”,使用安装器进行Win10安装,EFI分区选择刚才挂载的Z盘,具体安装细节就不详细说了。

Manjaro安装

使用U盘引导至Live系统,并开始安装,这里需要注意几点,首先是分区方式选择手动分区

linux_01.png

一定要选择macOS所在磁盘,并将 "/boot/efi" 挂载到分区上,同时选择 “boot” 标记

linux_02.png

其余与日常安装一致,无需再说

引导修复

完成安装后,会发现目前我们无法进入macOS系统,只能通过Manjaro引导进入Windows,所以需要对引导进行修复。

插入刚才安装系统时所用的macOS引导U盘,进入macOS系统,输入命令:

diskutil list

可查询出自己当前的磁盘状况,依据查询列表找到引导分区位置,这里注意,真正的引导分区名称只有EFI,而U盘的是EFI OC,不要弄错了,如下:

freegd@freegd-Mac ~ % diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI ⁨EFI⁩ 209.7 MB disk0s1
2: Apple_APFS ⁨Container disk3⁩ 200.1 GB disk0s2
3: Linux Filesystem ⁨⁩ 53.7 GB disk0s3
4: Linux Filesystem ⁨⁩ 746.2 GB disk0s4
................
/dev/disk5 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *31.5 GB disk5
1: EFI ⁨OC⁩ 209.7 MB disk5s1
2: Microsoft Basic Data ⁨CLOVER⁩ 209.7 MB disk5s2
3: Microsoft Basic Data ⁨PE⁩ 716.8 MB disk5s3
4: Apple_HFS ⁨Install macOS Big Sur⁩ 13.7 GB disk5s4

                (free space)                         16.6 GB    -

可以看到,我的系统引导分区在disk0,而U盘引导分区在disk5,执行命令挂载两个分区

sudo diskutil mount disk0s1
sudo diskutil mount disk5s1

挂载后可在访达中看到新挂载的两个分区分别为EFI和OC

截屏2021-07-26 下午4.47.08.png

进入EFI分区,将其中的MicrosoftManjaro两个文件夹复制出来,然后删除EFI分区中的所有内容

截屏2021-07-26 下午4.48.17.png

进入OC分区,将其中的EFI文件夹复制到EFI分区中,再把刚才复制出来的MicrosoftManjaro两个文件夹复制到EFI分区的EFI文件夹中。

截屏2021-07-26 下午4.49.21.png

此时拔出U盘并重启,发现已经无需再使用U盘进行引导,系统自动进入macOS引导界面,若未进入的,请在BIOS中设置引导磁盘为EFI所在磁盘,不过此时会发现,并没有Manjaro的引导选项,还需要单独对Manjaro进行配置。

Manjaro引导修复

进入macOS引导界面,并选择"openshell.efi"进入命令行

WechatIMG17.jpeg

记住列表中的"FSx:",逐一尝试进入,并查询是否存在EFI文件夹,并确认是否为系统引导的EFI文件夹

FS0:
ls
ls EFI

若存在刚才复制的MicrosoftManjaro两个文件夹,则回到根目录,并执行命令:

FS0:
map > map_table_linux.txt

此时重启系统并进入macOS,通过刚才的方式挂载EFI分区,在分区中找到刚才导出的map_table_linux.txt文件,打开它,内容为刚才看到的列表,我们需要的是找到EFI分区所在的列表位置,并复制下方的文本,如:

Mapping table

  FS0: Alias(s):HD0b:;BLK1:
      PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000)

将其中的PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000)这一串复制出来

打开OpenCore Configurator,调整到"Misc-其他设置"下的"Entries-自定义条目",并点击下方的加号添加一条记录

截屏2021-07-26 下午5.07.34.png

路径位置将刚才复制的内容粘贴进去,并添加Manjaro的引导路径,格式如下:

PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000)/\EFI\Manjaro\grubx64.efi

名称位置填写一个自己设定的名称,比如Manjaro,并勾上启用

截屏2021-07-26 下午5.11.09.png

完成后保存,可得到一个plist文件,此时下载ProPerTree,执行".command"文件,并打开EFI分区内OC文件夹下的config.plist以及刚才保存的plist文件,并分别定位到"Misc-Entries",将config.plist中的内容删除,并复制刚才保存的Entries下的0这条记录,粘贴到config.plist相同位置

此时保存config.plist已经可以正常引导macOS、Win10、Manjaro三个系统,但还有其余的引导选项没有删除,导致引导界面内容过多,在config.plist中定位到"Misc-Boot-HideAuxiliary",将选项改为"true"

同时,咱们在引导macOS时,启动界面是跑代码界面,不美观,若想关闭此项,在config.plist中定位到"NVRAM-boot-args",将其中的"-v"去除即可。

]]>
0 https://free.gd/macos-win10-manjaro-install.html#comments https://free.gd/feed/macos-win10-manjaro-install.html
Mac + Win10 + Manjaro 三系统达成(一、硬件篇) https://free.gd/Mac-win10-manjaro-hardware.html https://free.gd/Mac-win10-manjaro-hardware.html Mon, 26 Jul 2021 14:04:00 +0800 渴口可乐 前言

又是好长好长时间没更新了,最近工作真的太忙太忙,各种政府项目、公司指标,压得差不多透不过气来,郁闷啊!

借着这几天难得有空,加上自己原有的电脑是在太旧,索性重新配了一套,也顺便给自己放松下心情,电脑拿到手,组装也经历了各种波折,前前后后花了一周多时间,终于把各种配件凑齐,也把心仪已久的三系统整套搞定,本次就记录下这些经历吧!

硬件篇

在硬件的选择上,本次目的其中之一就是能够适配黑苹果,首选当然是Intel平台,不过考虑到AMD的高核心、高线程,以及目前AMD已经可以支持黑苹果的安装,所以就选择AMD平台来进行搭建。

本次搭配硬件,由于实在是太久没有关注硬件相关信息,所以导致期间出了几次小问题,稍后会一一讲解,也希望各位朋友在搭配电脑硬件的时候,一定要将硬件规格、参数了解清楚,避免出现我这样的问题!

本次硬件搭配如下:

CPU:AMD R5900X
主板:华硕 ROG B550-A 吹雪
内存:英睿达C9BLJ 16Gx4
硬盘:三星 980 Pro 1TB
机箱:联力包豪斯mini雪白
电源:酷冷至尊V750 750W;海韵FOCUS GX750W白色
显卡:华硕ROG RX580 2048SP 8G
散热:利民冰封远景 240水冷;联力极圈360一体水
风扇:利民TL-C12-W白色x1;酷月晶钻RGBx6
显示器:AOC Q32N2WG5 31.5寸

全套配置下来,总价17000多,又要还很长时间的花呗了,唉~

这次组装,可以说颇多曲折,不过究其原因,无外乎两点:一是自己太久没接触,手生了,二就是购买前没注意产品参数,导致不匹配。。。

从上面的硬件搭配中就可以看到,我的电源购买了两个,水冷购买了两个,风扇是因为需要,所以不算,而为什么电源和水冷我会购买两个呢?这就太打脸了,尴尬啊!

首先要从搭配说起,这次的主题设备主要以白色系为主,就是因为看中了联力的包豪斯mini雪白机箱,于是在搭配硬件时,就优先以白色系为主要搭配依据,所以电源当初选择了海韵的GX750W白色进行搭配,水冷选择了联力自家的360,觉得应该与机箱很搭。

结果呢。。。由于没注意看机箱参数,电源只支持SFX、SFX-L电源,我购买的GX750不能使用,于是退货重买,可惜SFX白色系太贵,只能选择了黑色的酷冷。而联力水冷同样是没注意机箱参数里,支持360水冷是在主板非ATX的情况下,由于吹雪是ATX主板,360水冷只能装在底部,再加上购买前没有了解联力的质保政策,联力水冷漏液不包赔,于是放弃,改换利民240冰封远景,同样白色,而且利民的漏液包赔是写在产品简介中的,稍微放心。

再说说显卡,显卡也是其中唯一的首次购买就是非白色系产品,其实主要原因如下:

  1. 本人平时不玩游戏,对显卡需求不高,甚至核显都能满足
  2. 为了使用黑苹果,首选A卡,其中RX580是免驱的
  3. 白色系较高知名度的就是名人堂,可惜1050Ti没货

所以,最终选择了上面列出的那款显卡,可再次被自己的无知打击了一次,这张显卡是他妈阉割版,并不免驱,于是只能刷新BIOS,却因为自己的粗心,把原版BIOS格式化了。。。。

总的来说,这次组装非常费劲,而主因就是自己的不认真、不细心,所以奉劝各位,选购硬件前,一定一定一定要关注好硬件的各种参数信息再确定是否入手,否则将会如我这般吃了大亏啊!

显卡刷BIOS

前面说了,这次选择的显卡竟然是一张阉割版,导致黑苹果最后无法免驱,但好在万能的网友解决了这个问题,该系列阉割版显卡其实就是RX750换壳售卖,也就是说可以通过一些骚操作,将显卡降级为RX750,以达到黑苹果免驱的效果。

这里就说下降级的操作,提醒:刷BIOS有风险,操作需谨慎!!!

首先在Windows下使用GPU-Z查看自己显卡的品牌与颗粒,并记录下来(由于当时没有截图,所以这里使用网络图片)

5e647e6ba33733387.png_e1080.jpg.png

5e647e91e4a8a9797.png_e1080.jpg.png

5e647e9868f907151.png_e1080.jpg.png

可以看到,品牌为:Elpida,颗粒为:EDW4032BABG

TeachPowerUp查找对应的产品VBios,查找的时候要记得,我们是RX580,现在要查找的是RX570

5e647ea8473bd2513.png_e1080.jpg.png

查找时请注意,这里需要关注几个条件:

  1. 同品牌优先
  2. 无同品牌则蓝宝石优先
  3. 相同显存优先
  4. 确保颗粒参数一致

比如我手里的是华硕的RX580 8G,颗粒为:Samsung K4G80325FC,那么我首先需要查找华硕的RX570 8G,找到后查看颗粒参数是否为Samsung K4G80325FC,若不是,则找其他品牌显卡,很不幸,我手中的显卡并没有与之相同的华硕RX570 8G验证过的产品,于是找到了其他第三方的不安全VBios以及蓝宝石、微星的同型号VBios。

当找到VBios后,在GPU-Z中将原版VBios保存下来,万一显卡黑屏了,还有办法补救,否则完蛋,切记切记,这里我也犯了粗心的大问题,把原版VBios搞丢了,罪过啊!

5e647e732e2482152.png_e1080.jpg.png

接下来,就到了最关键的刷VBios环节,在刷之前,请先确认以下条件是否达到:

  1. 勇于承担显卡“爆炸”的风险
  2. 拥有一张备用显卡或核显CPU

当准备好,并确定要刷VBios后,请下载AMD VBFlash,这里注意下,请下载2.93版,新版貌似不支持强刷。

下载到本地,保存到一个路径简单的地方,比如C:\flash,并打开其中的win.exe文件,若提示错误,请下载最新版本,运行其中的"installer"文件安装驱动,再返回使用2.93版本。

一切准备就绪,插好显卡,备份好原版VBios,使用管理员权限打开CMD,并切换到C:\flash目录下,执行命令:

amdvbflash.exe -i

可以看到自己的显卡信息,记录下前面的序号,并将下载好的VBios文件改为简单的名字,存放到C:\flash目录内,如:asus.rom,执行命令刷新VBios

amdvbflash.exe -f -p 0 asus.rom

写入完成后重启,能进系统则成功,可以打开GPU-Z查看信息是否已经变更。

显卡救援

重头戏来了,若显卡刷新后重启黑屏怎么办?还记得之前让准备的备用显卡或核显么?将显示器接入备用显卡或核显,若自己的是核显,则开机进入BIOS,并确认是否在BIOS中将显示选项调整为核显显示(部分主板)

使用核显或备用显卡进入系统,使用刚才的命令刷回原版BIOS即可。

VBios刷新后的问题

显卡刷新为RX570后,黑苹果直接免驱动,各种操作都不会卡顿了,可以说效果满满,但也并非没有缺点,我刷新为RX570后,首先就是在苹果及Windows下,显卡风扇不会转动,这个问题正在找着解决办法。

最后来两张电脑组装完成的照片,搭配光污染,自认为还是蛮不错的,当然现在是白天,光效不是太好,夜晚效果更佳!

WechatIMG18.jpeg

WechatIMG20.jpeg

]]>
0 https://free.gd/Mac-win10-manjaro-hardware.html#comments https://free.gd/feed/Mac-win10-manjaro-hardware.html
FreeBSD下安装iRedMail搭建自己的邮件服务器 https://free.gd/freebsd-install-iredmail.html https://free.gd/freebsd-install-iredmail.html Fri, 11 Dec 2020 01:05:00 +0800 渴口可乐 导读

对于很多站长来说,拥有一个属于自己的域名邮箱是一件理所当然的事,而对于域名邮箱,一般来说是直接使用各大服务商提供的服务,比如腾讯、阿里、或者Google或者yandex什么的,但是否想过搭建一个属于自己的私人域名邮箱服务器呢?

本文将讲解如何在自己的服务器上搭建一个属于自己的邮件服务器,本次选择使用 FreeBSD 作为服务器,使用 iRedMail 作为搭建程序。

准备

在开始搭建前,请先确认您具备了以下条件:

  1. 一台服务器或VPS(最低 2GB 内存)
  2. 一个拥有管理权限的域名
  3. 一个独立的公网 IPv4 地址(支持设置 rDNS 解析)
  4. 一定的命令行操作基础

系统安装

本次操作,可乐依然在 Proxmox 内进行,由于 FreeBSD 属于 Unix 类系统,所以无法在 Proxmox 中直接以 LXC 方式创建,需要创建为 KVM,首先将 FreeBSD镜像 下载到 Proxmox 服务器 /var/lib/vz/template/iso 目录中,随后跟着下面图示开始创建虚拟机。

选择下载的 FreeBSD 安装镜像文件,并设置类型为 Other

镜像选择

选择硬盘总线设备为 VirtIO

硬盘配置

设置CPU,根据需求配置核心与线程

CPU配置

内存最低 2GB,推荐 4GB 以上

内存设置

网卡选择之前配置的对外桥接网卡,模型为 VirtIO

网卡配置

若需要使用内网,则可以在配置完成后再添加一块内网网卡

内网网卡

配置完成后可启动虚拟机,进入安装引导

安装引导

注意设置自己的主机名为 mail.free.gdmx.free.gd 这样的格式,不要直接使用根域名

主机名称

网络配置的话按照提示配置自己的网络即可

网卡选择

IPv4

手动配置

配置网络

网络配置完成后,若无特殊需求,直接一路同意,之后会自动下载并安装

下载文件

设置管理员密码

管理员密码

选择需要自启动的服务

启动服务

可以添加一个帐号,因 FreeBSD 默认不允许使用 root 帐号登录 SSH,可乐因为使用 Proxmox,也就无所谓了

添加帐号

重启完成安装,并登录系统执行以下命令:

portsnap fetch extract update
pkg install bash-static

iRedMail 搭建

确认自己的主机名称设置正确

hostname -f

查看结果是否为自己配置的主机名称,如 mail.free.gd,若不是,请修改 /etc/rc.conf,内容为 hostname="mail.domain.com"

下载最新版 iRedMail 安装程序并启动安装

fetch https://github.com/iredmail/iRedMail/archive/1.3.2.tar.gz
tar zxf 1.3.2.tar.gz
cd iRedMail-1.3.2/
bash iRedMail.sh

根据提示完成配置,由于安装时忘记截图,这里直接使用官方的图片

确认安装

邮件保存位置

数据库选择

这里可设置为根域名

根域名

默认管理员帐号为 postmaster@domain.com 且无法修改(domain.com 为您刚才设置的邮件域名)

管理员密码

FreeBSD 版本只有 iRedAdminRoundcubemailSOGo

选择组件

输入 y 确认安装

确认安装

完成后重启服务器

解析设置

此时您已经完成了系统的搭建,若尝试发送或接收邮件,会发现无法实现,这是因为咱们还没有完成域名解析的工作。

此处以可乐真实数据作为演示:

  1. 根域名 free.gd
  2. 邮件域名 mail.free.gd
  3. 公网地址 104.216.2.154

rDNS 解析

rDNS 解析也就是 PTR,此项解析是针对 IP 地址的,需要您的服务器或VPS服务商提供此功能才可设置,而设置 rDNS 的作用是为了避免邮件被判定为垃圾邮件。

设置方法就是根据服务商提示自己手动配置或直接要求服务商帮忙配置,检测方法:

dig -x 104.216.2.154 @8.8.8.8
nslookup 104.216.2.154 8.8.8.8

A 记录

mail.free.gd 的 A 记录指向 104.216.2.154,检测方式:

dig mail.free.gd @8.8.8.8
nslookup mail.free.gd 8.8.8.8

MX 记录

MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址,优先级为 10,检测方式:

dig free.gd MX +noall +answer @8.8.8.8
nslookup -type=mx free.gd 8.8.8.8

SPF 记录

SPF 记录是为了防止垃圾邮件而设定的,告知收件方,从设置的允许列表中发出的邮件都是合法的,设置方式为添加一条根域名的 TXT 解析记录,内容为 v=spf1 mx ~all,检测方式:

dig -t txt free.gd @8.8.8.8
nslookup -type=txt free.gd 8.8.8.8

DKIM 解析

DKIM 可说是避免被判定为垃圾邮件的一大利器,DKIM 属于一种类似加密签名的解析记录,只有包含此加密数据,且公钥与密钥相匹配才属于合法邮件,要设置 DKIM 记录,首先要查询 DKIM 信息,在系统中执行命令查看:

amavisd showkeys

得到这样一组数据

; key#1 2048 bits, i=dkim, d=free.gd, /var/lib/dkim/free.gd.pem
dkim._domainkey.free.gd. 3600 TXT ( "v=DKIM1; p="
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAviCll3+5qwbprg4QdQPe"
"vjYzUm6w8s7hM875GNfUlDmTmDzr53yCZ645/DZZKGssWZ8Dx1HLhzyUz/QSIYG0"
"G987P3SReVutztxWoau1pmdgJ4FxWHdrChsB6Nwlu6hJqAQFe4dxoQ4r0z9SH0mT"
"i6LnlL+Efzlt1vF6VHfTlRxkxgOXfXyOCg4ZaDjL5/+/WXSgYWoW53iV8TzWlaPu"
"KQ+7LJ0w8AM0iBYN1px3fX2fxIAi7Ogakv1L2EMAwQZ/YOxN9tjUKFFOUpJHtXR9"
"LVHn46E3QCYH7T2dub3isjndUu4DirX0boG8u1WV8ipXVc1yl6q9M94I0HROOb+U"
"2QIDAQAB")

将括号内的文本去除引号与空格并相连就是咱们的 DKIM 数据,在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是咱们组合出的文本传,测试方式:

dig -t txt dkim._domainkey.free.gd @8.8.8.8
nslookup -type=txt dkim._domainkey.free.gd 8.8.8.8

DMARC 记录

DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内,添加方法就是增加一条 _dmarc 的 TXT 解析,内容为配置选项,比如 v=DMARC1; p=none; rua=mailto:dmarc@free.gd,检测方式:

dig -t txt _dmarc.free.gd @8.8.8.8
nslookup -type=txt _dmarc.free.gd 8.8.8.8

配置证书

为了更好的体验,避免在使用网页版或客户端时出现不受信任证书的情况,咱们需要使用自己的可受信任的证书,Let’s Encrypt 证书就是非常不错的可受信任免费证书。

证书的申请不再说明,使用 acme.sh 以 DNS 方式验证即可,证书申请后执行命令完成证书替换:

acme.sh --installcert -d mail.free.gd --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt --reloadcmd "service postfix reload;service dovecot reload;service nginx reload"

邮件测试

当全部完成,且解析全部生效后,咱们应该进行一次测试,检查自己的邮件服务器是否达到标准,避免被接收方转入垃圾邮件。

打开 https://www.mail-tester.com 网站,会得到一个邮箱地址,使用自己的邮件服务器随意发送一封邮件到此地址,并查看邮件得分即可。

邮件得分

可以看到,这里可乐测试了得到 10 分的满分,这样就可以保证邮件发送后不会进入对方的垃圾邮箱内,非常完美!

]]>
1 https://free.gd/freebsd-install-iredmail.html#comments https://free.gd/feed/freebsd-install-iredmail.html
服务器重新调整并更换博客程序 https://free.gd/server-adjustment.html https://free.gd/server-adjustment.html Wed, 09 Dec 2020 23:26:00 +0800 渴口可乐 前言

在今天之前,可乐的服务器一直都是以 IPv6 为外网,外挂 Cloudflare 进行 IPv4 转换,这样的好处是每个 VPS 都能够拥有自己独立的公网地址,只需要通过 Cloudflare 进行转换就可让所有用户都能访问。

在服务器上,可乐架设了一个 V2Ray,通过路由实现自动爬墙,说起来也是挺不错的,不过最近突然发现,在路由器中通过 V2Ray 开启 Socks5 模式代理时无法使用的情况。

由于可乐的 V2Ray 是通过 Cloudflare 进行套壳,达到防屏蔽以及免 IPv4 的目的,随后自己检查了下,发现似乎是因为可乐的 V2Ray 没有 IPv4 公网的原因,导致了 Socks5 连接失败。

于是可乐就购买了几个 IPv4 公网地址,配置后果然可用了,不过仅仅使用一个,其余两个空闲,那似乎也是浪费,再考虑了下自己服务器目前的配置方式,似乎可以换一种形式进行配置,于是就有了这篇文章。

本次服务器调整,主要是将原有的直接对外 VPS 转为内网访问,所有对外窗口皆通过此小鸡进行转换,这样做的好处就是服务器上除对外 Web 环境外,其余小鸡均无外网访问权限,可一定程度上降低安全风险,同时所有 VPS 均能有效合理分配,各司其职,避免交叉配置。

规划

既然定下了方式,那就对服务器配置方案进行规划,首先是考虑服务器中具体需要划分为哪些服务?

考虑后随手画了一个简单的网络拓扑图

网络架构.png

其中互联网直接对应的是服务器上的 OPNsense,而 OPNsense 除了作为防火墙的作用外,还包括了内外网络的管理,内网路线仅可数据传出而不能从外网传入,外网部分则传入传出都可以。

这样配置后,服务器上除对外开放的 Web 服务外,其余服务均走内网,而对应的网站程序则由 Web 服务进行内网反代,保护内网服务不直接暴露在外部环境中。

同时,对于需要开设的服务进行设定,比如数据库使用哪个内网地址,需要多少内存、硬盘、以及系统是什么等等。

实施

规划完成后,即可对服务器进行配置,首先将所有数据备份到本地,随后删除现有 VPS,接着下载 OPNsense 安装镜像到服务器进行开设并配置,使得 OPNsense 有独立的对外公网地址以及对内私网地址。

同时配置 OPNsense 进行网络地址分配,也就是将 OPNsense 作为网关使用,并对所有服务器设置对应的防火墙规则。

最后逐一安装配置对应服务,并恢复数据,改造完成!

博客更换

在服务器改造之前,可乐使用的是 WordPress 这款非常受欢迎的博客程序,并以 OpenLiteSpeed 作为 Web 服务器,由于 OpenLiteSpeed 拥有 LSCache 这款优秀的缓存模块,并特别针对 WordPress 做了优化,所以访问速度其实是非常优秀的,但实在是钟爱 Markdown 写作方式,以及痛恨 WordPress 的臃肿,还是决定将博客程序更换为 Typecho 这款国产的轻便博客程序。

同时选择了 Handsome 这款优秀的主题,这也是用惯了的程序,使用起来非常方便美观,再将静态文件通过 jsdelivr 来访问,也算是小小的加速了一把。

]]>
0 https://free.gd/server-adjustment.html#comments https://free.gd/feed/server-adjustment.html
Proxmox中FreeBSD虚拟机IPv6配置方式 https://free.gd/proxmox-freebsd-ipv6.html https://free.gd/proxmox-freebsd-ipv6.html Sun, 06 Dec 2020 13:49:00 +0800 渴口可乐 导读

可乐购买了一台独立服务器,在其上安装了及其方便的 Proxmox,这样就可以在服务器上通过安装一台台独立的虚拟机来运行不同的程序,不过由于服务器只有一个 IPv4 和一个 IPv6/64 网段,所以若想让虚拟机达到能够外网直接访问,那就只有两种方式,一种是通过 NAT 端口转换,一种就是开启独立 IPv6 虚拟机,显然,综合考虑后,IPv6 虚拟机是最完美的方式!

但在构建可乐最中意的 FreeBSD 时,却发现 IPv6 地址无论如何都配置不上去,甚至连网关都无法 PING 通,这就尴尬了,这也导致可乐一直只能使用 Linux 来运行自己的网站程序,无法使用 FreeBSD 真是非常痛苦,通过不停尝试后,终于发现了问题,本文也将讨论如何在 Proxmox 中开启一台同时支持 IPv4 私网与 IPv6 公网的虚拟机。

Proxmox 配置

其实 Proxmox 的配置不太想多说,因为在 Hetzner服务器内安装Proxmox并开通IPv6小鸡 一文中已经讲过,而非 Hetzner 其实也差不多,这里还是给个配置文件吧,假设可乐独立 IPv4 地址为 123.123.123.123,网关地址 123.123.123.122,IPv6 网段为 2606:4700:4700::/64,网关地址为 2606:4700:4700::1

[post cid="18" /]

# /etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet manual
  up sysctl -p
  up ip route add 123.123.123.123/30 dev eth1

auto vmbr0
iface vmbr0 inet static
  address 123.123.123.123
  netmask 255.255.255.252
  gateway 123.123.123.122
  bridge_ports eth1
  bridge_stp off
  bridge_fd 0

iface vmbr0 inet6 static
  address 2606:4700:4700::abc:a01
  netmask 128
  gateway 2606:4700:4700::1

auto vmbr1
iface vmbr1 inet static
  address 10.10.10.1
  netmask 255.255.255.0
  bridge_ports none
  bridge_stp off
  bridge_fd 0
  post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
  post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

/etc/sysctl.conf 中配置:

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

重启服务器或网络即可。

创建 FreeBSD 虚拟机

FreeBSD 是属于类 Unix 系统,并不是 Linux 系统,所以单纯的 LXC 是无法开启的,这里需要创建 KVM 虚拟机,将 FreeBSD 安装镜像下载到服务器 /var/lib/vz/template/iso/ 中,随后创建虚拟机并选择该安装镜像。

选择镜像

硬盘总线设备建议选择 “VirtIO Block”

硬盘总线

网络模型选择 “VirtIO (半虚拟化)”,桥接选择 “vmbr0”,这是使用 IPv6 的,接着再添加一张网卡,桥接选择 “vmbr1”,这是用于私网 IPv4 的。

IPv6网卡

IPv4网卡

添加完成后开机,并安装正常流程安装。

网络配置

当 FreeBSD 安装完成后,我们需要对网络进行配置,这就是本文重点要说的内容,因为可乐在这里尝试了很长时间,最后终于搞定了!

使用 ee 打开 /etc/rc.conf,并配置网络,这里可乐设定我的 IPv6 地址为 2606:4700:4700::abc:a02,网关为 2606:4700:4700::abc:a01,私网地址为 10.10.10.2,网关 10.10.10.1,而对应的 vmbr0 网卡为 vtnet0,而 vmbr1 网卡为 vtnet1

ifconfig_vtnet0=""
ifconfig_vtnet0_ipv6="inet6 2606:4700:4700::abc:a02/64"
ipv6_default="2606:4700:4700::abc:a01"
ifconfig_vtnet1="inet 10.10.10.2 netmask 255.255.255.0"
defaultrouter="10.10.10.1"

配置完成后重启网络

/etc/netstart restart

现在说下可乐到底是哪里遇到了坑,其实这也是可乐自己的问题,源于独服配置的 IPv6 前缀是 128,在开启 LXC 虚拟机时,只需要配置 IPv6/128,然后网关设置为独服的 IPv6 地址即可,但在 FreeBSD 中不行。

最终想了下,其实很简单,128 在 IPv6 中其实仅仅表示了一个 IPv6 地址,这样的话两个 IPv6 并不属于同一个网段,那当可乐配置网关时,肯定是无法跨网段连接的,而当可乐更改为 /64 后,两个地址就都属于一个网段中,那就没问题了,所以还是可乐对于 IPv6 不太了解造成的问题。

其实这样如果可乐设置为 /120 也是可以的,主要就是将两个地址都归属于一个网段中就可正常连通。

]]>
0 https://free.gd/proxmox-freebsd-ipv6.html#comments https://free.gd/feed/proxmox-freebsd-ipv6.html
Linux下安装小说精品屋Plus https://free.gd/linux-install-novel-plus.html https://free.gd/linux-install-novel-plus.html Sat, 05 Dec 2020 17:40:00 +0800 渴口可乐 导读

小说精品屋Plus 是一款 Java 语言编写的在线小说阅读系统,具有极快的采集速度以及简便的搭建方式,本文将以 Ubuntu 为基础,对 小说精品屋Plus 进行搭建。

演示地址:https://book.free.gd

环境搭建

本次选用的操作系统为 Ubuntu 20.04,系统安装完成后,需要安装 MySQL 以及 JDK8,MySQL 的安装不多重复,这里简单说下 JDK 的安装。

网上很多人介绍 JDK 安装时都是直接在官网下载,但目前官网已经启用了登录下载模式,这样极不方便,本次安装选择使用 apt 安装,安装命令:

apt install openjdk-8-jdk

接着就是创建数据库以及用户:

CREATE DATABASE book DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON book.* TO 'book' IDENTIFIED BY 'bookpasswd';

这样就创建了一个数据库 book,同时创建了一个用户 book,密码为 bookpasswd

程序更改

将程序包下载到服务器并解压:

wget https://github.com/201206030/novel-plus/releases/download/v3.0.2/novel-plus-install-v3.0.2.zip -O ~/novel.zip
unzip novel.zip
cd ~/novel-plus-install-v3.0.2

解压后会出现四个目录,分别是:

novel-admin:程序后台(个人觉得没什么用)
novel-crawl:爬虫程序
novel-front:程序前台
sql:数据库文件

将sql文件导入数据库:

mysql -ubook -pbookpasswd book < sql/novel_plus.sql

接着修改每个文件夹下的 .yml 文件,主要是修改数据库连接信息:

jdbc:mysql://127.0.0.1:3306/novel_plus?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: root
127.0.0.1:3306 修改为自己的 MySQL 地址与端口
novel_plus 修改为自己的数据库名称
username 为数据库连接用户名
password 为数据库连接密码

同时关注下各程序所运行的端口号:

#端口号
server:
  port: 80xx

前台文件夹的 yml 文件中,有一项可以修改图片的保存方式:

pic:
  save:
    #图片保存方式, 1不保存,使用网络图片 ,2本地保存
    type: 2 
    #图片保存路径
    path: /var/pic

爬虫文件夹的 yml 文件中,有一项是修改爬虫系统管理员信息的:

#登录用户名密码
admin:
 username: admin
 password: admin

程序运行

当完成修改后,即可运行程序,所有程序都是分别运行,互不干扰却又互相依赖。

需要全部运行则依次执行如下命令:

cd ~/novel-plus-install-v3.0.2/novel-front
setsid java -jar novel-front-3.0.2.jar
cd ~/novel-plus-install-v3.0.2/novel-crawl
setsid java -jar novel-crawl-3.0.2.jar
cd ~/novel-plus-install-v3.0.2/novel-admin
setsid java -jar novel-admin-2.11.0.jar

接下来,根据 yml 文件中各程序的运行端口号,即可通过 http://ip:port/ 方式打开程序了!

爬虫执行

爬虫程序需要通过网页来开启,若未修改,一般爬虫程序的运行端口为 8083,咱们用浏览器打开 http://ip:8083,可看到一个登录界面,输入爬虫配置文件中的用户名及密码即可登录。

这里需要注意下,也不知道是可乐本地网络问题还是什么,每次打开都必须要禁用缓存,否则不会出现源列表,若各位没有此问题,那直接启动采集即可。

爬虫启动后,稍等片刻,即可看到小说飞快的涌入网站数据库中,真心的很快!

]]>
0 https://free.gd/linux-install-novel-plus.html#comments https://free.gd/feed/linux-install-novel-plus.html
KVM下通过DD方式安装Windows https://free.gd/kvm-dd-windows.html https://free.gd/kvm-dd-windows.html Wed, 02 Dec 2020 22:45:00 +0800 渴口可乐 导读

目前大多数VPS都是仅支持Linux/Unix类系统,而使用Windows系统则需要支付一定的授权费用,这对于国内很多站长来说是很困难的,那有没有一种方法能够在不支付授权费的情况下可使用Windows系统呢?

本文讲解基础为Proxmox下安装的KVM虚拟机,同时也支持Xen等大多数全虚拟化VPS,使用此方法,可通过直接写入硬盘的方式,将Windows安装到自己的VPS中,达到偷渡式的Windows使用。

注意,此方式仅可保证能够正常安装Windows,若因偷用Windows而产生的版权原因等,本站概不负责!

准备

首先准备一台KVM或Xen类型的VPS虚拟机,同时给VPS安装一个Debian 9的操作系统,使用SSH登录到VPS中,执行以下命令:

apt install wget net-tools -y
wget qiu.sh/dd -O dd.sh

接着查看下自己的网络配置

cat /etc/network/interfaces

IPv4:

address 123.123.123.123
netmask 255.255.255.252
gateway 123.123.123.122

IPv6:

address 2606:4700:4700:1111::2
netmask 64
gateway 2606:4700:4700:1111::1

写入Windows

IPv4环境

bash dd.sh \
-dd "https://fr1.teddyvps.com/iso/cn_windows2019_v2.gz" \
--ip-addr "123.123.123.123" \
--ip-mask "255.255.255.255" \
--ip-gate "123.123.123.122"

纯IPv6环境

因脚本会自动设置DNS服务器为8.8.8.8,故此为了兼容纯IPv6环境,需替换为IPv6地址,这里选择CF的

sed -i 's@d-i netcfg/get_nameservers string 8.8.8.8@d-i netcfg/get_nameservers string 2606:4700:4700::1111@g' dd.sh

bash dd.sh \
-dd "https://fr1.teddyvps.com/iso/cn_windows2019_v2.gz" \
--ip-addr "2606:4700:4700:1111::2/64" \
--ip-mask "2606:4700:4700:1111:ffff:ffff:ffff:ffff" \
--ip-gate "2606:4700:4700:1111::1"

此处需要注意,自己的IPv6掩码是多少,这个可以网上找个计算器计算下。

结尾

若在安装过程中出现“Starting up the partitioner”一直不动的情况,请勿担心,DD的时候是不会动的,耐心等待即可,完成后系统会自动重启。

当Windows安装完成后,即可使用远程桌面进行连接,默认帐号:administrator,默认密码:Teddysun.com

新安装的Windows并没有自动激活,需手动激活,本文中的DD包是来自 秋水逸冰 的 Windows Server 2019 Datacenter,请自行网络搜索 KMS 激活方法,若纯 IPv6 无法激活,请使用可乐自建的 KMS地址:kms.free.gd

]]>
0 https://free.gd/kvm-dd-windows.html#comments https://free.gd/feed/kvm-dd-windows.html
VPS搭建owllook小说搜索引擎 https://free.gd/vps-install-owllook.html https://free.gd/vps-install-owllook.html Sun, 29 Nov 2020 14:09:00 +0800 渴口可乐 导读

摘录自项目主页说明:

owllook 是一个基于其他搜索引擎构建的垂直小说搜索引擎,owllook目的是让阅读更简单、优雅,让每位读者都有舒适的阅读体验,如搜书、阅读、收藏、追更、推荐等功能。

owllook 是一款使用 Python 编写的小说搜索引擎,无论结构以及用户体验来说都挺不错,系统使用 MongoDBRedis 做数据存储,且附带众多规则,搭建后可迅速开设一个简单的小说搜索引擎。

本次,可乐将以 CentOS7 作为基础系统,一步步搭建出一个简单的小说搜索引擎。

演示可观看:https://read.free.gd

系统安装

由于程序依赖于 Python、MongoDB、Redis 等,在安装之前,我们需要先解决依赖环境!

因可乐是在 Proxmox 中进行安装,所以 MongoDB 以及 Redis 都会存放在不同的 LXC 中,避免单机压力过大问题。

MongoDB

在 Proxmox 中开设一台 LXC 小鸡,系统选择 Ubuntu 20.04,并配置网络 10.10.10.2,开启后进入控制台开始安装:

apt update && apt upgrade -y && apt install wget -y
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.16.tgz
tar zxf mongodb-linux-x86_64-4.0.16.tgz
mv mongodb-linux-x86_64-4.0.16 /usr/local/mongodb
mkdir -p /var/lib/mongodb
useradd -s /sbin/nologin mongod
chown -R mongod:mongod /var/lib/mongodb
cat > /etc/mongod.conf << EOF
# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.

systemLog:
  destination: file
  logAppend: true
  path: /var/lib/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

#  engine:
#  mmapv1:
#  wiredTiger:
# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  unixDomainSocket:
    enabled: false

# security:
#  authorization: enabled
# operationProfiling:
# replication:
# sharding:
EOF
cat > /lib/systemd/system/mongod.service << EOF
[Unit]
Description=MongoDB Database Server
After=multi-user.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /etc/mongod.conf"
EnvironmentFile=-/etc/sysconfig/mongod
ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS
ExecStartPre=/bin/mkdir -p /var/run/mongodb
ExecStartPre=/bin/chown mongod:mongod /var/run/mongodb
ExecStartPre=/bin/chmod 0755 /var/run/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod.pid
Type=forking
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
LimitNOFILE=64000
LimitNPROC=64000
LimitMEMLOCK=infinity
TasksMax=infinity
TasksAccounting=false

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service

Redis

在 Proxmox 中开设一台 Alpine 小鸡,配置网络 10.10.10.3,进入控制台执行命令:

apk update
apk upgrade
apk add redis
rc-update add redis default
service redis start

Python

最后再开启一台小鸡,这次选用 CentOS 7 操作系统,配置 IPv6 为 2606:4700:xxxx::xxxx,内网地址为 10.10.10.3,其实本次选择三个不同的系统,也只是想说明下,任何东西其实在不同的系统中都可以完成对应的操作,只是取决于是否适合而已。

yum -y update
yum -y install epel-release
yum -y install wget git curl screen bzip2
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
chmod -R a+x Anaconda3-2019.10-Linux-x86_64.sh
./Anaconda3-2019.10-Linux-x86_64.sh

根据提示一次输入:EnteryesEnter

完成后刷新一次 Shell 并创建 Python 3.6 环境:

source ~/.bashrc
conda create -n python36 python=3.6

owllook

继续在 CentOS 7 中执行命令:

git clone https://github.com/howie6879/owllook.git /root/owllook
cd owllook
pip install pipenv
pipenv install --python ~/anaconda3/envs/python36/bin/python3.6

若上面最后一条命令执行失败,请执行下面两条命令:

pipenv run pip install pip==18.0
pipenv install

安装完成后,修改 /root/owllook/owllook/config/config.py,将

VAL_HOST = os.getenv('VAL_HOST', 'true')

修改为

VAL_HOST = os.getenv('VAL_HOST', 'false')

同时查找所有涉及到 MongoDB 及 Redis 地址的文件,将其改为自己的 MongoDB 与 Redis 地址。

开启反代

在启动程序之前,咱们先安装一个 Nginx 对程序进行反代,否则每次访问都得加上端口号。

yum install -y nginx
systemctl enable nginx

创建文件 /etc/nginx/conf.d/owllook.conf

server {
    listen                  80;
    server_name             read.free.gd;

    location / {
        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;
        proxy_set_header    Host $http_host;
        proxy_set_header    X-NginX-Proxy true;
        proxy_pass          http://0.0.0.0:8001;
        proxy_redirect      off;
        proxy_http_version  1.1;
        proxy_set_header    Upgrade $http_upgrade;
        proxy_set_header    Connection "upgrade";
    }
}

启动 Nginx:

systemctl start nginx

启动 owllook

最后,在控制台中执行如下命令启动 owllook

cd /root/owllook
pipenv run gunicorn -c owllook/config/gunicorn.py --worker-class sanic.worker.GunicornWorker owllook.server:app

接着打开网站看看,已经成功可用了!

]]>
0 https://free.gd/vps-install-owllook.html#comments https://free.gd/feed/vps-install-owllook.html
Cloudflare各运营商推荐IP段 https://free.gd/cloudflare-ips.html https://free.gd/cloudflare-ips.html Fri, 20 Nov 2020 22:05:00 +0800 渴口可乐 导读

Cloudflare 是一家提供优质 CDN 的国外服务商,线路遍布全球,使用 Cloudflare 提供的 CDN 能够起到网站加速、真实 IP 地址隐藏等诸多好处,以及最受站长欢迎的 IPv6 开站,但对于国内用户来说,Cloudflare 却往往被称之为减速器的存在,究其原因大家也懂,那是否国内用户就无法有效的使用 Cloudflare 了呢?

其实也可以,Cloudflare 在使用过程中是可以通过一些特殊的方式来进行自选 IP 的,而能够自选 IP,也就能够针对特定的线路进行 IP 优化,这里提供一份针对国内三大运营商较为友好的线路,大家可以尝试下。

运营商Cloudflare节点IP段
移动香港移动直连104.19.80 - 88
移动香港NTT104.20.48
移动日本大阪府大阪 telstra.com(仅限南方移动)104.20.17
移动日本东京都东京 telstra.com(仅限南方移动)104.23.243
移动美国华盛顿州西雅图 level3.com(仅限南方移动)104.23.135
电信荷兰北荷兰省阿姆斯特丹 level3.com104.27.240
电信美洲198.217.251
电信美洲172.64.0 - 15
电信美国加利福尼亚州圣何塞 ctamericas.com104.16.32 - 63
电信美国加利福尼亚州圣何塞 ctamericas.com104.28.18 - 29
联通美国加利福尼亚州圣何塞 gtt.net104.16.32
联通美国德克萨斯州达拉斯 gtt.net172.64.144
联通美国德克萨斯州达拉斯 gtt.net104.23.135
联通美国纽约州纽约 gtt.net172.64.112
联通美国加利福尼亚州圣何塞 cogentco.com104.20.1
联通德国黑森州法兰克福 gtt.net104.27.240 - 243
]]>
0 https://free.gd/cloudflare-ips.html#comments https://free.gd/feed/cloudflare-ips.html
在Alpine下安装Gitea与Chevereto https://free.gd/alpine-install-gitea-chevereto.html https://free.gd/alpine-install-gitea-chevereto.html Fri, 20 Nov 2020 22:03:00 +0800 渴口可乐 导读

前面的两篇文章里分别介绍了如何在 Hetzner 里安装 Proxmox,以及如何在 VPS 里使用 OpenLiteSpeed 搭建一个 请输入链接描述 网站。

[post cid="18" /]

[post cid="35" /]

如果一台独立服务器,仅仅用来搭建一个 WordPress,那显然是太浪费了,为了更大程度的利用咱们的服务器,于是可乐决定在上面再搭建两样东西,一个是 Gitea,另一个是 Chevereto,这俩玩意儿分别是一个类似于 Github 的代码管理平台,另一个是较多人使用的图床程序。

Gitea

Gitea 是一个功能与 Github 等类似,提供 Git 代码托管服务,程序使用 Golang 语言开发,是 Gogs 的独立分支,而为何要单独开发分支的原因,在官方网站也有说明,感兴趣的可以看看。

其实 Gitea 与 Gogs 可以说非常相似,不过由于 Gogs 仅仅是个人作品,而 Gitea 是社区作品,所以这里可乐选择了使用 Gitea,若您喜欢 Gogs,其实也是一样的。

安装

首先咱们开通一台 Alpine 的 VPS,使用 Alpine 的原因就是它够轻便。

在 Alpine 中安装 Gitea 非常简单,只需要一条命令即可:

apk add gitea

安装完成后启动程序:

service gitea start

此时打开 http://ip:3000 ,一般会跳转到 Gitea 的安装页面,若没有跳转,请手动输入 http://ip:3000/install ,然后按照提示完成安装即可。

反代

此时,咱们的 Gitea 是可以正常运行的,但会发现访问地址是需要添加端口号 3000 的,这样非常不方便,为了能够正常访问,咱们添加一个用于反代 Gitea 的 Web 前端,这里选择了 Caddy,原因同样是轻便。

同样一条命令安装:

apk add caddy

接着修改默认配置文件 /etc/caddy/caddyfile

g.free.gd {
    gzip
    tls admin@free.gd
    proxy / http://localhost:3000
}

保存后启动程序,会自动配置 SSL

service caddy start

一切正常的话,使用 https://git.free.gd 再次访问,发现已经可以正常访问,咱们再添加下服务自启动即可。

rc-update add caddy default
rc-update add gitea default

Chevereto

Chevereto 是一款基于 PHP 语言开发的图片管理程序,程序功能强大,操作简单,深得众多网友喜欢,程序分为收费版与免费版,对于个人站长而言,免费版的功能是完全够用的,故此,本文中的 Chevereto 也一律代指免费版。

安装

同样开启一台 Alpine 系统的 VPS,然后使用命令安装 PHP7 及 caddy:

apk add caddy php7 php7-fpm

然后根据搜索结果安装自己所需要的 PHP 扩展:

apk search php7
apk add php7-curl php7-pdo_mysql *****

安装完成后,咱们对 Caddy 进行配置:

i.free.gd {
        gzip
        tls admin@free.gd
        root /data/www
        fastcgi / /data/run/php-fpm.sock php
        log /data/log/access.log
        errors /data/log/caddy.log
        rewrite {
                to {path} {path}/ /index.php?{query}
        }
}

再配置 /etc/php7/php-fpm.conf

[global]
pid = /data/run/php-fpm.pid
error_log = /data/log/php-fpm.log
log_level = warning

emergency_restart_threshold = 30
emergency_restart_interval = 60s
process_control_timeout = 5s
daemonize = yes

[caddy]
listen = /data/run/php-fpm.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = caddy
listen.group = caddy
listen.mode = 0666
user = caddy
group = caddy

pm = dynamic
pm.max_children = 30
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 50
pm.max_requests = 2048
pm.process_idle_timeout = 10s
request_terminate_timeout = 120
request_slowlog_timeout = 0

slowlog = /data/log/php-slow.log
rlimit_files = 51200
rlimit_core = 0

catch_workers_output = yes
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

接着执行命令:

mkdir -p /data/www
mkdir -p /data/run
mkdir -p /data/log
wget --no-check-certificate https://github.com/Chevereto/installer/raw/master/installer.php -O /data/www/installer.php
chown -R caddy:caddy /data
service php-fpm7 start
service caddy start
rc-update add php-fpm7 default
rc-update add caddy default

打开 https://ip/installer.php 出现安装界面,按照提示顺序安装即可。

]]>
0 https://free.gd/alpine-install-gitea-chevereto.html#comments https://free.gd/feed/alpine-install-gitea-chevereto.html