记录
一. 主机篇
1.1 DIY主机
京东选择带U主板.
需24Pin电源DC-ATX电源
可找服务器小电源
支持itx主板机箱
板子支持最大16G内存
1.2 购买品牌主机
英特尔® NUC
1.3 购买旧主机
准备接手朋友的小机器先用着.N3150
本着省心省事的原则,选择1.3方式,刚好有朋友要处理自用的主机.
二. 本地环境搭建
2.1 安装centos7
2.1.1下载镜像
从http://isoredirect.centos.org/centos/7/isos/下载镜像centos7.7
下载64位系统http://isoredirect.centos.org/centos/7/isos/x86_64/
阿里云镜像http://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/
下载DVD版CentOS-7-x86_64-DVD-1908.iso
2.1.2 安装U盘制作
使用UltraISO刻录到U盘
2.1.3安装系统
开机选择U盘启动,不同主板不同方式,具体可以网上查找方法或主板官网查找说明
U盘启动进入安装步骤
选择Install Centos 7,按e修改
将配置改为vmlinuz initrd=initrd.img inst.stage2=hd......quiet改为vmlinuz initrd=initrd.img linux dd quiet。
回车系统会进入磁盘设备列表,查看U盘的设备名。
记住设备名(sdb4),然后按ctrl + alt + del 重启,进入安装界面,按TAB编辑配置,改为vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet nomodeset
然后就可以顺利安装系统了.
这里安装系统有点曲折,刚开始下载了centos8的系统,半小时就安装好了.然后安装相关程序时遇到一些不兼容问题,就直接放弃,更换centos7系统了.
3.安装相关环境
3.1安装宝塔面板及web环境
安装宝塔面板见httPS://www.bt.cn/bbs/thread-19376-1-1.html
root登录系统选择安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
然后就是修改默认的路径和web环境安装,我这里安装环境如下
Nginx 1.16.1
PHP-7.3
MySQL 5.7.27
3.2 安装nextcloud
3.3 配置FRP客户端
三. 关联环境搭建及使用
远程访问及管理
电视播放
手机播放
通过VPS中frp服务端实现内网穿透.域名访问nextcloud.
centos7中配置ssh,实现远程访问家用网络(可远程管理家里的设备)
Tunnelier连接ssh后设置转发,可以访问家用路由器和电脑.
centos7中搭建Aria2下载工具,实现离线下载。
nextcloud中安装ocDownloader插件,管理并使用Aria2实现离线下载.
手机安装nextcloud客户端,配置自动备份图片视频
电视安装KODI,配置webdav(来自nextcloud)
电视端安装Moliplayer播放器,DLNA连接本地存储中的图片视频
centos7中挂载外部存储(家里的电脑硬盘拆下来用)
nextcloud中配置本地存储(上面挂载的硬盘)
centos7中安装minidlna(实现局域网影视服务器功能)
电视端安装Moliplayer播放器,DLNA连接本地存储中的图片视频
初步实现
手机电视播放硬盘中的影视资源
远程管理家中的网络设备
网站放在家中,外网通过域名访问管理.
四. 问题解决
4.1 安装centos7
U盘安装centos7遇到只有鼠标没有界面出来,经测试是分辨率问题
选择Install Centos 7,按e修改
将配置改为vmlinuz initrd=initrd.img inst.stage2=hd......quiet改为vmlinuz initrd=initrd.img linux dd quiet。
回车系统会进入磁盘设备列表,查看U盘的设备名。
记住设备名(sdb4),然后按ctrl + alt + del 重启,进入安装界面,按TAB编辑配置,改为vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet nomodeset
其中nomodeset可以解决只有鼠标没有界面出来的问题.
4.2 电视安装KODI
电视系统为安卓4,无法安装最新版KODI,只能安装老版本
各种皮肤插件不能用最新的.
4.3 nextcloud手动上传文件
通过直接上传到数据文件夹中资料后,在nextcloud中无法查看,需要使用occ进行扫描
cd /www/wwwroot/pan.xxx.net/
sudo -u www php occ files:scan --all
或者直接
sudo -u www php /www/wwwroot/pan.xxx.net/occ files:scan --all
如果服务器安装多个php,则需要指定php的位置
sudo -u www /www/server/php/73/bin/php /www/wwwroot/pan.***.net/occ files:scan --all
其中pan.xxx.net为nextcloud安装的目录
4.4 FRP服务的重启
定时查询FRP服务是否运行,未运行则重启FRP服务
利用宝塔计划任务实现
添加计划任务
脚本内容
chown -R www:www /www/wwwroot/pan.****.net/data/****/files/
wait
chmod 770 -R /www/wwwroot/pan.****.net/data/****/files/
wait
sudo -u www php /www/wwwroot/pan.****.net/occ files:scan --all
wait
pgrep -x frpc &> /dev/null
if [ $? -ne 0 ];then
systemctl restart frpc.service
fi
如果服务器安装多个php,则需要指定php的位置
修改sudo -u www php /www/wwwroot/pan.****.net/occ files:scan --all为以下
sudo -u www /www/server/php/73/bin/php /www/wwwroot/pan.***.net/occ files:scan --all
同时先修改文件用户为www,权限为770
同时自动更新最新文件到nextcloud
4.5 minidlna开机启动
相关文件路径
请注意权限设置,否则会造成无法启动
主程序位置/usr/sbin/minidlnad(权限755)
配置文件位置 /etc/minidlna.conf(权限644)
内容
port=8200
media_dir=APV,/media
log_dir=/var/log/minidlna
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1
服务文件位置/etc/systemd/system/minidlna.service(权限644)
内容
[Unit]
Description=MiniDLNA
After=network.target
[Service]
ExecStart=/usr/sbin/minidlnad -S
[Install]
WantedBy=default.target
相关命令
systemctl force-reload minidlna.service (扫描媒体文件)
systemctl status minidlna.service -l
systemctl start minidlna.service
systemctl stop minidlna.service
systemctl restart minidlna.service
卸载
yum list minidlna
yum remove minidlna
4.6 nfs配置及启动
rpm -aq | grep rpcbind
rpm -aq | grep nfs
yum install nfs-utils rpcbind
systemctl list-unit-files --type=service
systemctl enable nfs.service
systectl status nfs.service
启动顺序 先启动rpcbind,再启动nfs
systemctl start rpcbind.service
systemctl start nfs.service
systemctl restart rpcbind.service
systemctl restart nfs.service
/etc/exports
/www/wwwroot/pan.xxxx.net/data/imenglei/files 192.168.2.*(rw) 192.168.1.*(rw) *(ro)
nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口
/etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
使用rpcinfo -p 192.168.1.9 查看nfs服务
使用showmount -e localhost 查看配置的nfs文件夹
使用chown -R nfsnobody.nfsnobody /home/nfs修改nfs文件夹权限
4.7 autossh
autossh.service
[Unit]
Description=Auto SSH Tunnel
After=network-online.target
[Service]
ExecStart=/usr/bin/autossh -NR 开启的端口:本地ip地址:本地端口 -i /home/huchao/.ssh/id_rsa vps用户@vps的ip地址 -p vps端口 >> /dev/null 2>&1
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
KillMode=process
Restart=no
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target
4.8 服务器位置和内网访问
主路由
斐讯K2
192.168.10.1
次路由绑定IP
192.168.10.99
次路由
无线AP方式连接主路由
腾达A5
192.168.2.1
服务器绑定IP
192.168.2.99
DMZ主机
192.168.2.99
访问方法:
连接主路由网络
通过IP192.168.10.99进行访问
连接次路由网络
通过IP192.168.2.99进行访问
4.9 安装samba实现SMB服务
Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能。其中,smbd负责为客户机提供服务器中共享资源(目录和文件等)的访问;nmbd负责提供基于NetBIOS协议的主机名称解析,以便为Windows网络中的主机进行查询服务。
yum install samba -y
启动服务文件
/usr/lib/systemd/system/smb.service
systemctl enable smb.service
systemctl start smb
systemctl status smb
systemctl restart smb
systemctl enable nmb.service
systemctl restart nmb.service
配置文件
/etc/samba/smb.conf
参考配置
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[Anonymous]
path = /home/smb
browsable =yes
writable = yes
guest ok = yes
read only = no
[smb]
path = /home/smb2
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
chmod -R 0755 /home/smb
chown -R nobody:nobody /home/smb
chmod -R 0755 /home/smb2
chown -R smb:smbrp /home/smb2
配置的文件夹路径需要设置对应要登录的用户名权限
添加一个用户来访问文件
groupadd smbgrp
useradd -g smbgrp smb
passwd smb
创建samba用户
smbpasswd -a smb
列出所有smb用户
pdbedit -L
查看用户详情
pdbedit -vL smb
测试命令
testparm
说明:win7不支持连接
测试登录方法
查询用户共享
smbclient -L 192.168.10.9 -U smb
如遇错误 session setup failed: NT_STATUS_LOGON_FAILURE
执行smbclient命令的用户ID没有成为samba服务的用户,解决方法如下:
先将改用户ID加入到samba中
smbpasswd -a 某用户ID
按要求设置密码
登录
smbclient //192.168.10.9/Records -U smb
相关命令
ls用于列表目录
pwd查看当前路径
get和mget用于下载文件
put和mput用于上传文件