首页 >PC >正文

一锅乱炖——老旧服务器再利用

#大男孩的快乐#征稿活动火热进行中。只要投稿就有50金币等你拿,更有三千元乐高大奖与达人Z计划专属权益等待优秀的你~>活动详情戳这里< 开头照例,我又来编故事骗金币了

一锅乱炖——老旧服务器再利用

前段时间淘汰了几台老旧服务器,堆在仓库里怪可惜,不如拿来练手玩玩。正好前段时间大妈这边好多大神在玩Proxmox虚拟平台,而我一直用的是VMware的产品,所谓肥肉吃多了,换点瘦肉尝尝看。

硬件情况

安装系统

集群和高可用

安装NextCloud

硬件情况

这几台服务器分别是:两台Dell PowerEdge R200、一台Dell PowerEdge R710、一台IBM System x3850 X5、一台曙光天阔A950,看图说话吧:

一锅乱炖——老旧服务器再利用

一开始是这几台,后来变了

都是老机器了,其中R200配置为:单颗四核 Intel(R) Xeon(R) CPU X3330 @ 2.66GHz、4GB内存、两块147GB硬盘、双千兆网卡;R710配置为:四颗六核 Intel(R) Xeon(R) CPU E7- 4807 @ 1.87GHz、64GB内存、三块300GB硬盘、四千兆网卡;x3850 X5配置为:两颗六核Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz、8GB内存、五块300GB硬盘、双千兆网卡;A950配置为:四颗AMD Opteron处理器(具体型号忘记了,因为机器挂掉无法开机了

一锅乱炖——老旧服务器再利用

)、8GB内存、八块300GB硬盘、双千兆网卡。

说实话,Dell和IBM的机器都很好用,这些年都没关过机。除了IBM那台坏过两块硬盘,就再没出过毛病。而曙光那台则命运多舛,从一开始就磕磕绊绊的,时不时启动不了,坏过一块硬盘,噪音还超级大,可能是个体差异吧,这么多年就用过这一台曙光的。

京东

一锅乱炖——老旧服务器再利用

中科曙光(Sugon)2U机架式服务器主机 I420-C30 Intel 至强Xeon 3106 128G内存/2*480G SSD+6*4T硬盘/RAID5

50399元起

实时价格37分钟前已更新

去购买

活动

满30000.00减800.00

查看更多商城

京东

一锅乱炖——老旧服务器再利用

戴尔 DELL PowerEdge R230 1U机架式服务器主机(E3-1220V6/8G/1T*2 SATA企业级/DVDRW/250W电源)三年质保务

8599元起

实时价格36分钟前已更新

去购买

活动

满3000.00减200.00

查看更多商城

京东

一锅乱炖——老旧服务器再利用

戴尔(DELL)PowerEdgeR740服务器主机金牌6130*2/32G*4/1.2TSAS*5热/H730/750W双电/导轨/五年质保

84899元

去购买

System找不到货了,就其他俩牌子吧。怎么说都是在大妈家,还得按大妈的家规行事

一锅乱炖——老旧服务器再利用

本来一切正常,系统都做好了,结果隔了一天过去一看,先是曙光那台系统启动不了,也没有任何报错,得,默哀吧。第二天过去一看,R710也挂了,信息屏上提示说找不到内存,WTF,拆机拔插内存也不行,上网一查估计是硬件坏鸟,算了,本来也是瞎折腾,没必要修了,尸体留着当备件吧。

一锅乱炖——老旧服务器再利用

就在我准备继续折腾其他三台时,同事在库房的破烂堆里发现了一台旧的曙光服务器和一台连箱子都没拆过的长城服务器(由于某些历史原因,我们和别的单位合并了,所以继承了一些他们遗留的物资)。什么鬼?

一锅乱炖——老旧服务器再利用

搬出来看看先。两台都看不到具体型号,其中长城的配置是:两颗六核 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz、8GB内存、五块300GB硬盘、双千兆网卡;曙光的配置是:两颗四核 AMD Opteron(TM) Processor 6212、8GB内存、五块300GB硬盘、双千兆网卡。这俩机器长得太像了,跟双胞胎似的,尤其是屁股后面,不仔细看都分辨不出来(双兔傍地走安能辩我是雌雄?)长城的机箱稍微短一点点。我估计是一个模具做出来的,省了开模钱了

一锅乱炖——老旧服务器再利用

。话说回来,曙光咋这么喜欢用AMD的处理器?

一锅乱炖——老旧服务器再利用

最后就用这几台了,请忽略挂掉的R710

这几台机器共同的特点,一是都有千兆网卡,二是都带Raid卡,且都不能直通。

我是想折腾一下PVE的ceph,如果能直通,每块硬盘都能独立的挂到ceph上,现在只能折中了。R200最绝,连单块盘做 Raid 0 都不行,只能两块盘做 Raid 1,当做一块盘来用好了。其他几台机器都是单块盘做 Raid 0 的,相当于直通了。

安装系统

为了不浪费可怜的硬盘空间,我把系统都装在了 U盘里,每台服务器插一个。反正启动之后都加载到内存中了,对系统盘读写不怎么频繁。

装系统没啥特别的,到官网下载最新的 PVE,用 UltraISO 之类的软件写到一个 U盘中,用这个 U盘启动服务器,按照安装界面提示填好相关信息就行了。注意把系统盘位置选到作为系统盘的那个 U盘。

值得一提的是,挂掉的那台曙光天阔A950,竟然进不到安装界面,有一条错误提示忘记拍照了,网上查到的原因是不兼容显卡?管他呢,反正后来也挂掉了

一锅乱炖——老旧服务器再利用

。另外就是x3850和R710在安装界面看不到鼠标指针,但是明显感觉鼠标是活动的,因为右键有反应。这个事儿浪费了我一下午,上网查询后学会了按住 alt 键调出快捷键提示,这才继续下去,可是到选择系统盘位置那里又卡住了,因为没有下拉菜单的快捷键

一锅乱炖——老旧服务器再利用

只好用看不到的鼠标右键乱点来定位,摸瞎点出来下拉菜单,这才顺利装完。谁承想R710第二天也给挂了呢

一锅乱炖——老旧服务器再利用

还有就是长城那台和后来的曙光那台,用 USB键鼠怎么都不好使,最后还是插了PS/2口的键鼠才顺利装完。唉,老服务器不好惹呀。

系统更新

装好系统,插上网线,先把系统更新一下:

rm /etc/apt/sources.list.d/pve-enterprise.list

wget http://mirrors.ustc.edu.cn/proxmox/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

echo 'deb http://mirrors.ustc.edu.cn/proxmox/debian buster pve-no-subscription'>/etc/apt/sources.list.d/pve-install-repo.list

sed -i 's/ftp.debian.org/mirrors.163.com/g' /etc/apt/sources.list

sed -i 's/security.debian.org/mirrors.163.com/debian-security/g' /etc/apt/sources.list

apt update && apt dist-upgrade

更新完最好重启一下。推荐设置一下SSH,就能远程管理了。我懒,反正也是玩,就没弄。


为了不在登录时看到讨厌的“无有效订阅”提示:

一锅乱炖——老旧服务器再利用

无有效订阅

还得编辑俩文件:“/usr/share/pve-manager/js/pvemanagerlib.js”和”/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js“。用系统自带的”nano“编辑就行,蛮好用的,用”Ctrl + w“查找”if (data.status !== 'Active') {“这一句,注释掉,换成”if (false) {“。俩文件都是这么改。


设置第二块网卡

据说ceph的数据吞吐量比较大,所以单独给它一块网卡用吧。单击“网络”,创建一个“Linux Bridge”:

一锅乱炖——老旧服务器再利用

图是后补的

一锅乱炖——老旧服务器再利用

图是后补的

安装NTP服务

ceph 集群对时间同步的要求很高,需要安装 ntp 服务: “apt-get install ntp -y”。安装完成之后会自动启动并同步时间服务器。注意,是联网的情况下,如果不连接外网,需要设定内网的 ntp 服务。

集群和高可用

到这里就可以开始设置集群和高可用了。

PVE有个好处:去中心化管理。也就是说建好集群后,随便登录一台主机都能管理整个集群,不像VM那种中心化管理,一旦vCenter挂掉就不好玩了。

建立集群

用浏览器访问第一台服务器的IP,加上端口号”8006“,单机左侧菜单里的”数据中心“,然后单击右边菜单的”集群“,然后单击右边的”创建集群“:


一锅乱炖——老旧服务器再利用

创建集群


输入一个集群名称,然后单击”创建“按钮。貌似不能用中文名:


一锅乱炖——老旧服务器再利用

貌似不能用中文

稍等片刻,看到”TASK OK“,集群就创建好了:


一锅乱炖——老旧服务器再利用

TASK OK

能看到建好的集群信息,现在有一个节点:


一锅乱炖——老旧服务器再利用

一个节点

单击”加入信息“,这里显示的内容是供其他服务器加入这个集群用的验证信息,单击”拷贝信息“就行:


一锅乱炖——老旧服务器再利用

把加入信息拷贝下来

现在用浏览器登录到其他几台服务器,单击”数据中心“->”集群“中的”加入集群“按钮,在”信息“栏中粘贴刚才复制的信息,然后填入第一台服务器的 root 用户密码,单击”加入“按钮就可以加入集群了:


一锅乱炖——老旧服务器再利用

粘贴信息,填入密码

稍等片刻,浏览器会退出登录并提示重新登录,这时就可以看到刚才的集群里有两个节点了:


一锅乱炖——老旧服务器再利用

加入集群

以此把所有的服务器都加入到这个集群中来:


一锅乱炖——老旧服务器再利用

全都加到集群中

其实用命令行效率更高,在其中一台机器上输入“pvecm create ***”来创建集群,其中的“***”是集群名称。在其他的服务器上输入“pvecm add *.*.*.*”来加入集群,其中的“*.*.*.*”是建立集群的那台服务器的IP地址。建好以后,可以在任意一台服务器上用命令“pvecm status”来查看集群状态。

ceph


集群建好之后,就可以开整 ceph 了,这是一种分布式文件系统,百度的介绍跟没说一样:


一锅乱炖——老旧服务器再利用

这算什么解释?

前面说过,PVE是去中心化管理的,所以登录任意一台服务器,都能看到和管理集群中所有的节点。单击每一台主机,在主机菜单中单击”ceph“,然后会弹出提示让安装:


一锅乱炖——老旧服务器再利用

安装ceph

直接点安装,然后按照提示来就好了:


一锅乱炖——老旧服务器再利用

跟着提示走,速度有点慢,别急

如果遇到网络很慢,一直下载失败的情况,可以根据屏幕提示,把需要的安装包文件用工具下载下来,上传到服务器的“/var/cache/apt/archives”目录中,然后用命令“pveceph install”来安装。


装好之后就到了配置界面,这里可以给ceph单独设置一块网卡,在“Cluster Network”里填写第二块网卡的IP地址(这个Cluster指的是ceph的集群,并非前面为服务器建立的集群),记得要输掩码个数:

一锅乱炖——老旧服务器再利用

初始化配置

一锅乱炖——老旧服务器再利用

安装成功

一锅乱炖——老旧服务器再利用

查看配置

ceph最少需要三个监视器(mon),刚才“初始化配置”那张图里可以看到已经建立了第一个监视器,再另外添加两个,或者把所有的服务器都当作监视器也未尝不可:


一锅乱炖——老旧服务器再利用

建立监视器

接下来就是创建“OSD”,也就是ceph用于存储数据的磁盘,单击“Ceph”->“OSD”->“创建”:OSD”,一块一块的把服务器上的空闲磁盘都添加为OSD:


一锅乱炖——老旧服务器再利用

创建OSD

一锅乱炖——老旧服务器再利用

把所有空闲硬盘都创建为OSD

有人看了上图可能会有疑问,是不是没做完呢?不,你没看错,我翻车了

一锅乱炖——老旧服务器再利用

。先是发现用U盘当系统盘超级慢,估计是服务器老了,U口速率不好,还有U盘也不是啥好鸟,综合起来速度奇慢,没法用。所以只好用硬盘来装系统。这样一来,两台R200就没有空余的磁盘可以贡献给OSD了。另外就是,给服务器重装好系统后,x3850就挂了,是的,就挂了

一锅乱炖——老旧服务器再利用

,信息屏显示PCI故障。算了,就用4台玩吧,顺便把牺牲的三台机器的内存拔下来看看能不能利旧

一锅乱炖——老旧服务器再利用

OSD创建完之后就可以创建pool供服务器使用了,单击“Ceph” -> “Pools” --> “创建”,给pool起个名字,“pg_num”这个数值比较关键,如果不合适的话,Ceph会告警,官方建议:若少于5个OSD, 设置pg_num为128;5~10个OSD,设置pg_num为512;10~50个OSD,设置pg_num为4096:

一锅乱炖——老旧服务器再利用

创建Pool

创建后,每台服务器下的存储就会多出一个:

一锅乱炖——老旧服务器再利用

每台服务器都带有Ceph Pool了

一锅乱炖——老旧服务器再利用

做好以后,ceph状态正常

高可用HA

建立高可用的目的在于,当一台服务器或一块磁盘出故障时,虚拟机可以动态漂移到其他正常服务器上去,对业务冲击较小。单击“数据中心”->“HA”->“群组”->“创建”,添加资源,把服务器都添加进来:

一锅乱炖——老旧服务器再利用

创建HA组

一锅乱炖——老旧服务器再利用

添好HA组

然后在“数据中心”->“HA”->“资源”里把需要的虚拟机添加进来就可以了:


一锅乱炖——老旧服务器再利用

添加需要高可用的虚拟机

安装NextCloud

之前在VMWare环境下搞过NextCloud,这东西还是有一定可玩性的。这次在PVE环境下再搞一遍,理论上应该没有什么区别。大妈上好多人都是用docker来弄,我没怎么玩过docker,还是用传统方式来安装吧。

拷贝一段文字简单介绍一下NextCloud吧,貌似还是有人不知道这东西的:

Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。Nextcloud也提供了许多应用安装,包括但不限于Markdown在线编辑、OnlyOffice(需另外部署服务端)、思维导图、日历等,你可以自行选择以丰富个人网盘的功能。

所以呢,这次需要两台虚拟机,一台装NextCloud做网盘服务器,一台装OnlyOffice给NextCloud提供在线编辑文档功能。我喜欢FreeBSD,所以还是用它装NextCloud。OnlyOffice官方并没有提供FreeBSD的安装手册,我还是不折腾了,就用Debian吧。

新建虚拟机


新建两个虚拟机,一个装FreeBSD,一个装Debian。从官网下载ISO文件,上传到PVE里,然后新建虚拟机,光驱选择上传好的ISO文件,开机运行就好了:


一锅乱炖——老旧服务器再利用

上传ISO文件

一锅乱炖——老旧服务器再利用

创建虚拟机

一锅乱炖——老旧服务器再利用

选择ISO

一锅乱炖——老旧服务器再利用

相关设置

一锅乱炖——老旧服务器再利用

设置硬盘格式和大小,操作系统不需要太大,后面单独给他分配一块磁盘作为文件存储

一锅乱炖——老旧服务器再利用

调整CPU参数

一锅乱炖——老旧服务器再利用

设置内存大小

一锅乱炖——老旧服务器再利用

设置网络

一锅乱炖——老旧服务器再利用

已建好虚拟机

一锅乱炖——老旧服务器再利用

给虚拟机再添加一块硬盘。我是瞎玩,真正部署的话,不要这么操作,不利于系统和数据分离。

按照同样的方法再创建一个Debian的虚拟机。


安装FreeBSD

启动系统,在启动选项中按回车键进入系统安装界面。

(01)在“Welcome”界面选择“Install”


(02)在“Keymap Selection”界面选择“Continue with default keymap”

(03)在“Set Hostname”界面输入主机名

(04)在“Distribution Select”界面选择“lib32”、“ports”和“src”三项

(05)在“Partitioning”界面选择“Auto(UFS)”自动分区(也可以选择“Manual”手动分区)

(06)在“Partition”界面选择“Entire Disk”全部磁盘空间

(07)在“Partition Scheme”界面选择“MBR”或“GPT”(磁盘大于2T或BIOS只支持EFI时必选)

(08)在“Partition Editor”界面对分区进行调整后选择“Finish”

(09)在“Confirmation”界面选择“Commit”进行确认,等待分区完成

(10)分区完成后,在“New Password:”提示符后输入root用户的密码,再输一遍予以确认

(11)在“Network Configuration”界面选择要设置的网卡,本例中为“em0”

(12)选择“Yes”配置网卡的IPv4

(13)选择“No”手工配置IP信息(选择“Yes”启用DHCP,自动获取IP)

(14)手工输入IP地址,子网掩码和默认网关

(15)选择“No”不启用网卡的IPv6

(16)手工输入DNS信息

(17)在“Time Zone Selector”界面依次选择“5 Asia”-“9 China”-“1 Beijing Time”

(18)在“Confirmation”界面选择“Yes”确认

(19)在“Time & Date”校准日期和时间

(20)在“System Configuration”界面选择“moused”、“powerd”两项(按需选择sshd远程控制)

(21)在“System Hardening”界面设置系统强化选项,推荐全选

(22)在“Add User Accounts”界面选择“No”(“Yes”为添加用户登录账户)

(23)在“Final Configuration”界面选择“Exit”退出安装

(24)在“Manual Configuration”界面选择“No”

(25)在“Complete”界面选择“Reboot”重新启动


FreeBSD属于UNIX类操作系统,建议在初次安装时仅安装基本系统,然后更新系统源代码和软件ports树(注意,此操作需要连接互联网)。用root用户登录系统,然后修改“/etc/rc.conf”文件,去掉不必要的启动项,比如“sendmail”,添加必要的选项,如“SSH”。

然后配置一下SSH,这样后续操作可以用ssh登录上去做(当然也可以在浏览器虚拟出来的控制台做,或者用虚拟桌面工具登上去,按需食用)。输入命令“ssh-keygen-t dsa”产生连接密匙,按照提示输入一个“Passphrase”密码,此密码用于防止陌生人使用ssh客户端进行远程连接:

一锅乱炖——老旧服务器再利用

配置SSH

编辑“/etc/ssh/sshd_config”文件:

找到“#PermitRootLogin no”,改为“PermitRootLogin yes”

去掉“#PasswordAuthentication no”前面的“#”


进入“/root/.ssh/”,把“id_dsa.pub”复制一份为“authorized_keys”:

一锅乱炖——老旧服务器再利用

复制密匙

重启系统使之生效。然后将“id_dsa”和“id_dsa.pub”文件复制到客户端电脑上,用SSH客户端软件加载之后即可通过SSH方式远程登录操作,SSH客户端可以选择SecureCRT、SSH Secure Shell Client、Bitvise SSH Client等。

登录之后,先把前面给服务器分配的另一块硬盘初始化一下:

# gpart create -s GPT da1

# gpart add -t freebsd-ufs -a 1M da1

# newfs -U /dev/da1p1

按照本文后面的方法安装的NextCloud,安装位置是在“/usr/local/www/nextcloud”,我们把这块新硬盘专门给他存数据,所以要新建一个挂载点:

# mkdir /NextCloudData

# mkdir /NextCloudData/DataBase

//存放数据库文件

# mkdir /NextCloudData/Data

//存放数据文件

然后把新硬盘挂载上“mount /dev/da1p1 /NextCloudData/Data”,还需要给“/etc/fstab”文件里添加一句“/dev/da1p1 /NextCloudData/Data ufs rw 2 2”,以便于重启系统以后能够自动挂载:

一锅乱炖——老旧服务器再利用

挂载新硬盘

接下来输入命令“freebsd-update fetch”获取更新,当看到“(END)”时,按“q”键退出,然后输入命令“freebsd-update install”更新系统。下面的几个步骤可能都得等很久,冲杯咖啡休息一下眼睛吧。

更新完之后,编辑文件“/etc/portsnap.conf”,将ports源“SERVERNAME=portsnap.freebsd.org”改为国内的镜像,比如“portsnap.hshh.org”。然后输入命令“portsnap fetch && portsnap extract && portsnap update”更新ports树。

安装subversion用以更新系统代码“cd /usr/ports/devel/subversion && make install clean”。

安装完成后输入以下命令更新系统代码:“svn checkout svn://svn.FreeBSD.org/base/stable/12 /usr/src && svn update /usr/src”。

FreeBSD可以根据需要自定义系统核心,例如将不需要的设备驱动剔除,添加某些优化命令,使系统核心尽可能的小巧高效和安全稳定。FreeBSD的优点之一就在于此,那么我们现在来精简一下核心吧!要定义一个专用的系统核心,首先需要复制一份核心配置文件,对其进行修改:

# cd /usr/src/sys/amd64/conf

//64位系统为amd64,32为系统为i386

# mkdir /root/kernels

# cp GENERIC /root/kernels/MYKERNEL

//默认核心配置为GENERIC,复制一份为MYKERNEL

# ln -s /root/kernels/MYKERNEL

//将新复制的核心文件连接到核心所在地

# ee MYKERNEL

核心配置文件的内容可以参考《FreeBSD Handbook》,这里不骗大家流量了。优化定制好的核心需要重新安装才能生效,以下命令用于安装新的核心:

# cd /usr/src

# make buildkernel KERNCONF=MYKERNEL

//建立新核心

# make installkernel KERNCONF=MYKERNEL

//安装新核心

# rm -rf /usr/obj/usr/src/sys/MYKERNEL

//删除临时文件

核心装好之后,编辑一下“/etc/rc.conf”文件,添加一些必要项,例如防火墙什么的。如果用的是“IPFilter”防火墙,顺带编辑一下策略文件,防止联不了网。

安装MariaDB

MySQL被Oracle收购了以后,它的创始人另外开了一家分店,起名叫MariaDB,据说比MySQL优化的更好。

输入命令“cd /usr/ports/databases/mariadb104-server && make install clean”进行安装。过程有点慢,别着急。FreeBSD的ports方式安装,好处是可以一并把缺少的组件安装好,缺点是,一环套一环,需要不停的点同意安装

一锅乱炖——老旧服务器再利用

。安装完成后进行必要的设置:

# echo ‘mysql_enable=”YES”’ >> /etc/rc.conf

//让MySQL随系统启动

# /usr/local/etc/rc.d/mysql-server start

//启动MySQL服务

# /usr/local/bin/mysqladmin –u root password YourPassword

//修改MySQL的root用户密码

移动一下数据库文件的存储目录。先看看当前数据库文件存在哪里“more /usr/local/etc/rc.d/mysql-server”:

一锅乱炖——老旧服务器再利用

默认的数据库文件位置

开始转移:

# /usr/local/etc/rc.d/mysql-server stop

# mysqladmin -u root -p shutdown

//停止相关服务

# mv /var/db/mysql /NextCloudData/DataBase/

//移动源数据到新位置

修改数据库启动脚本“/usr/local/etc/rc.d/mysql-server”,把“: ${mysql_dbdir="/var/db/mysql"}”改为“: ${mysql_dbdir="/NextCloudData/DataBase/mysql"}”。

Apache HTTP Server

这个不用解释了吧?可以换成别的Http服务器。输入命令“cd /usr/ports/www/apache24 && make install clean”进行安装。装好之后,把“apache24_enable="YES"”和“apache24_http_accept_enable="YES"”写进“/etc/rc.conf”,确保apache能够跟随系统启动。当然,还有一些其他的安全设置,可以参考其他资料来设置。

编辑“/usr/local/etc/apache24/httpd.conf”文件,配置一下apache运行参数:


找到“Options Indexes FollowSymLinks”,改为“Options FollowSymLinks”,禁止浏览网站文件列表;

找到“Listen 80”,改为“Listen Your IP:80”,开放服务器地址的80端口给Web功能;

找到“ServerAdmin you@example.com”,改为管理员的邮箱地址,此为非必要设置;

找到“ServerName www.example.com:80”,改为“ServerName Your IP:80”,设置服务器地址;

找到“#Include etc/apache24/extra/httpd-mpm.conf”,去掉前面的“#”号,启用mpm提高性能;

找到“DocumentRoot”,将后面的内容改为“DocumentRoot "/usr/local/www/nextcloud"”,指定网站根目录;

找到“<Directory "/usr/local/www/apache24/data">”,改为“<Directory "/usr/local/www/nextcloud">”,设置根目录参数;

找到“Options FollowSymLinks”,将其下方的“AllowOverride None”改为“AllowOverride All”;

找到“<IfModule alias_module>”,设置phpmyadmin的虚拟目录,为之后安装phpmyadmin做准备。

安装PHP

NextCloud是由PHP语言写成的,所以我们也必须安装PHP。输入命令“cd /usr/ports/lang/php74 && make install clean”安装。然后安装php7的apache24支持模块“cd /usr/ports/www/mod_php74 && make install clean”。

PHP安装后需要配置两个文件,分别是PHP的配置文件“php.ini”和apache的配置文件“httpd.conf”。“php.ini”需要手工建立,或者复制一份范例“cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini”,然后编辑这个文件:

找到“file_uploads”,将其参数改为“on”,打开文件上传功能;

找到“upload_max_filesize”,设置最大可上传文件大小;

找到“post_max_size”,设置网页“post”方式可传输的最大文件;

找到“max_input_time”,设置最大网页输入等待时间;

找到“memory_limit”,设置PHP脚本最大可用内存数;

找到“max_execution_time”,设置PHP脚本最大可执行时间;

找到“open_basedir =”,设置PHP脚本可访问目录:“/usr/local/www/apache24/data/:/dev/urandom:/usr/local/www/nextcloud:/var/log/nextcloud:/usr/local/bin/clamscan:/tmp/:/usr/local/bin:/usr/local/lib/X11/fonts/TTF/:/NextCloudData/Data/”;

找到“expose_php =”,将其参数改为“off”,隐藏PHP版本号输出;

找到“opcache.enable”将其设置为“opcache.enable=1”;

找到“opcache.enable_cli” 将其设置为“opcache.enable_cli =1”;

找到“date.timezone =”,将其参数改为“"Asia/Shanghai"(包括英文引号)”,更改时区。

然后编辑“/usr/local/etc/apache24/httpd.conf”文件。找到类似“AddType application/x******”的行,在其下添加如下两行,使apache可以识别并执行PHP文件:

<FilesMatch ".ph(p[2-6]?|tml)$">

SetHandler application/x-httpd-php

</FilesMatch>

找到“DirectoryIndex index.html”,改为“DirectoryIndex index.html index.php”,添加PHP格式的首页文件。

当然,我这只是简单的设置了一下,如果真的作为生产环境,还需要大量的调优和安全设置。

安装php74-extensions

“php74-extensions”是PHP的扩展库,包括对数据库等的支持都需要此扩展库。通过以命令“cd /usr/ports/lang/php74-extensions && make install clean”安装,注意选择需要的扩展。

扩展“mbstring”需要单独安装,使用命令“cd /usr/ports/converters/php74-mbstring/ && make install clean”。

安装Clam AntiVirus

网络安全常记心间,哈哈,杀毒软件还是需要配一个滴,虽然感觉没啥用

一锅乱炖——老旧服务器再利用

。用命令“cd /usr/ports/security/clamav && make install clean”安装。装完之后稍微设置一下:

# echo "clamav_clamd_enable='YES'" >>/etc/rc.conf

# freshclam

//升级病毒库,或者到官网上下载main.cvd、daily.cvd、bytecode.cvd三个文件,放到/var/db/clamav/中

# /usr/local/etc/rc.d/clamav-clamd start

//启动clamav

安装phpMyAdmin


数据库管理工具。输入以下命令进行安装:

# cd /usr/ports/databases/phpmyadmin5

# make fetch

# cd /usr/ports/distfiles

# tar -xvjf phpMyAdmin-5.0.2-all-languages.tar.xz

# mv phpMyAdmin-5.0.2-all-languages /usr/local/www/apache24/data/phpmyadmin

安装完成后进行必要的设置:

# cd /usr/local/www/apache24/data/phpmyadmin

# mkdir tmp

# chown www:www tmp

# cp libraries/config.default.php config.inc.php

编辑“config.inc.php”文件:

找到“$cfg['PmaAbsoluteUri'] =”,将等号后的内容改为“ 'http://YourIP/phpmyadmin/';”


找到“$cfg['blowfish_secret'] =”,将等号后的内容改为随机字符串;

找到“$cfg['Servers'][$i]['auth_type'] =”,将等号后的内容改为“ 'cookie'; ”;

找到“$cfg['Servers'][$i]['pmadb'] =”,将等号后的内容改为“ 'phpmyadmin';”;

找到“$cfg['Servers'][$i]['bookmarktable'] =”,将等号后的内容改为“ 'pma__bookmark'; ”。同理,往下找类似的行,将等号后面改为注释中以“pma__”打头的字符。

配置好之后,使用命令“mysql –u root –p < sql/creat_tables.sql”导入“phpmyadmin”数据库。然后打开浏览器,输入地址“http://IP/phpmyadmin”访问,检查一下有没有问题。

安装NextCloud

其实安装NextCloud最简单的办法就是像刚才的phpmyadmin一样,直接“make fetch”下来解压缩就好了。不过这不符合“不折腾不死心星人”的风格,我还是按照ports的标准方法来装,虽然有点脱裤子放屁的赶脚,而且巨慢

一锅乱炖——老旧服务器再利用

。不过貌似可以安装很多需要的支持程序,不会遗漏下啥。这是命令“cd /usr/ports/www/nextcloud && make install clean”。posts目录里还有一些官方插件,也一并安装了:

# cd /usr/ports/www/nextcloud-calendar

# make install clean

# cd /usr/ports/www/nextcloud-contacts

# make install clean

# cd /usr/ports/www/nextcloud-notes

# make install clean

# cd /usr/ports/www/nextcloud-tasks

# make install clean

# cd /usr/ports/www/nextcloud-deck

# make install clean

打开浏览器访问NextCloud,在页面中创建一个管理员账户,选择数据库类型,输入数据库管理员及密码,然后单击“安装完成”按钮。系统会自动为NextCloud创建一个数据库以及管理该数据库的用户和密码:

一锅乱炖——老旧服务器再利用

用浏览器访问,填写配置信息进行安装

一锅乱炖——老旧服务器再利用

装好了

安装OnlyOffice

登录到装好的Debian里,以“root”用户运行命令“apt update && apt dist-upgrade”更新一下系统。然后安装一下“curl”工具:“apt-getinstall curl”。接着安装“Node.js”包:

curl -sL https://deb.nodesource.com/setup_14.x | bash -


apt-get install -y nodejs


OnlyOffice需要用到“PostgreSQL”数据库的支持,所以也要先装一下,设置数据库时需要用到“sudo”也得装一下:


apt-get install sudo

//装好之后,编辑“/etc/sudoers”文件,添加一行“”username” ALL=(ALL) ALL”

apt-get install postgresql

sudo -i -upostgres psql -c "CREATE DATABASE onlyoffice;"

sudo -i -upostgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"

sudo -i -upostgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

安装“redis”和“rabbitmq”:

apt-get install redis-server

apt-get install rabbitmq-server

然后开始安装“OnlyOffice”:

apt-get install dirmngr

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5

echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

apt-get update

apt-get install onlyoffice-documentserver

装好之后,把中文字体(“.ttf”格式)拷贝到“/usr/share/fonts/”目录,然后到“/usr/bin”目录下执行命令“documentserver-generate-allfonts.sh”。

现在通过浏览器访问NextCloud服务器,用管理员账号登录进去,单击右上角的管理员头像,选择“应用”,在应用商店里安装“OnlyOffice”插件。或者是到官网下载,解压缩以后上传到“/usr/local/www/nextcloud/apps”目录里,然后到应用管理中启用。装好之后,就可以在设置里看到了:

一锅乱炖——老旧服务器再利用

在应用市场里装好“OnlyOffice”插件

一锅乱炖——老旧服务器再利用

在设置菜单里对OnlyOffice进行配置

把“OnlyOffice”服务器的地址填写上去保存一下就好了,然后就可以创建或者上传文档进行编辑了:

一锅乱炖——老旧服务器再利用

编辑Word文档

一锅乱炖——老旧服务器再利用

编辑PPT文档

一锅乱炖——老旧服务器再利用

编辑Excel文档

建几个用户,邀请几个朋友一起嗨吧

一锅乱炖——老旧服务器再利用

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索