参考:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=438607
一、安装必备软件
问题:
Media change: please insert the disc labeled
‘Debian GNU/Linux 12.6.0 _Bookworm_ – Official amd64 DVD Binary-1 with firmware 20240629-10:19’
解决:注释掉DVD
nano /etc/apt/sources.list
apt install sudo vim curl wget mdadm
二、配置静态IP
配置ip、netmask和gateway
cp /etc/network/interfaces /etc/network/interfaces_backup
vim /etc/network/interfaces #里面加上:
iface eno1 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8 114.114.114.114
vim /etc/resolv.conf #添加DNS服务器
nameserver 8.8.8.8
nameserver 114.114.114.114
sudo service networking restart #重启网络
三、安装webmin
项目地址:https://webmin.com/
GitHub: https://github.com/webmin/webmin
问题:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 3 ms: Couldn’t connect to server
vim /etc/hosts
#添加:
185.199.111.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
140.82.112.3 github.com
151.101.1.194 github.global.ssl.fastly.net
151.101.65.194 github.global.ssl.fastly.net
151.101.129.194 github.global.ssl.fastly.net
151.101.193.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com
四、挂在raid5
apt install mdadm
mdadm -C /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 #创建3个活动盘
echo "DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1" >> /etc/mdadm.conf # 配置磁盘设备文件名
mdadm -Ds /dev/md0 >> /etc/mdadm.conf # 配置软RAID信息
cat /proc/mdstat #查看阵列状态
mdadm -D /dev/md0 #查看阵列详细
mkfs.ext4 /dev/md0 # 格式化
sudo mkdir /mnt/data #创建目录
sudo mount /dev/md0 /mnt/data #挂载
blkid #查看/dev/md5的UUID, 并记录
cp /etc/fstab /etc/fstab_backup #备份硬盘挂载文件
vim /etc/fstab #编辑备份硬盘挂载文件
UUID=2e9cde83-1aa6-4654-a318-e4569f7a03c6 /mnt/data ext4 defaults 0 2
****安装webmin
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sh setup-repos.sh
apt-get install –install-recommends webmin
****安装v2rayA
项目地址:https://v2raya.org/
添加公钥
wget -qO – https://apt.v2raya.org/key/public-key.asc | sudo tee /etc/apt/keyrings/v2raya.asc
添加 V2RayA 软件源
echo “deb [signed-by=/etc/apt/keyrings/v2raya.asc] https://apt.v2raya.org/ v2raya main” | sudo tee /etc/apt/sources.list.d/v2raya.list
sudo apt update
安装 V2RayA
sudo apt install v2raya v2ray ## 也可以使用 xray 包
启动 v2rayA
sudo systemctl start v2raya.service
设置开机自动启动
sudo systemctl enable v2raya.service
四、home Nas
项目地址:https://github.com/kekylin/Debian-HomeNAS?tab=readme-ov-file
五、安装docker
六、cloudflare配置docker镜像代理:docker.zingcont.cn
七、配置docker图形化界面
下载汉化包到安装目录并解压
https://github.com/eysp/public/releases/tag/public
cd /opt/docker/portainer
wget https://github.com/eysp/public/archive/refs/tags/public.tar.gz
tar -zvxf public.tar.gz
mv public-public public
docker pull portainer/portainer-ce:2.9.1 #拉取指定镜像
#配置镜像
sudo docker run -d –name portainer -p 9000:9000 –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/docker/portainer/data:/data -v /opt/docker/portainer/public:/public portainer/portainer-ce:2.9.1
八、安装jellyfin
docker run -d \
–name=jellyfin \
–user=1000:1000 \
–net=host \
-v /var/www/html/docker/jellyfin/config:/config \
-v /var/www/html/docker/jellyfin/cache:/cache \
-v /home/media:/media \
jellyfin/jellyfin
九、配置iptables防火墙
#端口开放命令IPV4, IPV6
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
#保存:
sudo netfilter-persistent save
sudo netfilter-persistent reload
#查看:
sudo iptables -L -n
九、内网穿透ddns-go
项目地址:https://github.com/jeessy2/ddns-go
mkdir -p /var/opt/ddns-go
cd /var/opt/ddns-go
wget -c https://github.com/jeessy2/ddns-go/releases/download/v6.6.3/ddns-go_6.6.9_linux_x86_64.tar.gz
tar -zxvf ddns-go_6.6.9_linux_x86_64.tar.gz
./ddns-go -s install
十、 配置Apache, mysql, php
sudo apt install libapache2-mod-php8.2 #安装PHP 8.2 Apache模块
sudo a2enmod php8.2 #启用PHP 8.2 Apache模块
sudo apachectl configtest #验证Apache,配置文件
sudo systemctl restart apache2 #重启Apache
sudo systemctl status apache2 #查看Apache状态
十一、bypy同步命令
系统:debian12
环境python3.11
使用工具:pyby
命令: bypy syncup /local/path /remote/path
要求: 编写一个小的shell脚本来先激活虚拟环境,然后运行bypy
命令,并将该脚本作为cron任务运行
实现目标: 系统cron任务中添加每周执行一次
创建文件并赋予权限:
vim /opt
配置脚本:
#!/bin/bash
# 激活虚拟环境
source ~/myenv/bin/activate
# 运行bypy syncup命令
# 注意:确保bypy是作为可执行文件安装的,或者你可以使用python -m bypy(如果它是Python模块)
# 这里假设bypy是可执行的
bypy syncup /local/path /remote/path
# 可选:如果你需要,可以在这里添加命令来退出虚拟环境
# 但通常,在脚本结束时,虚拟环境会自动“退出”
# deactivate
添加到定时任务:
0 0 * * 0 /bin/bash ~/sync_bypy.sh
常用命令:
source /var/opt/myenv/bin/activate #激活虚拟环境
bypy list #显示百度网盘 /apps(我的应用数据)/bypy 目录下的所有文件。
bypy upload [localpath] [remotepath] [ondup] #上传文件到百度网盘
bypy downfile [localpath] #从百度网盘下载单个文件
bypy downdir [remotedir] [localdir] 从百度网盘下载整个文件夹
bypy syncup /local/path /remote/path #同步文件
bypy syncdown /remote/path /local/path #同步文件
同步文件
site-packages/bypy/bypy.py syncup
/mnt/databackup /wwwbackup
bypy提供了多种操作命令,具体如下:
quota:显示百度云存储配额信息
list:列出指定目录下的文件列表
upload:上传本地文件到百度云
download:从百度云下载文件到本地
syncup:将本地文件同步到百度云
syncdown:将百度云文件同步到本地
delete:删除百度云上的文件
makedir:在百度云上创建目录
move:移动百度云上的文件
copy:复制百度云上的文件
compare:比较本地和云文件的差异
Samba:
sudo smbpasswd -a username
将共享路径映射为Windows磁盘
若经常使用的共享,可直接映射为Windows的磁盘,不用每次都输ip,但linux 的ip变了需要重新映射,所以建议将linux 的ip设为固定ip
我的电脑 ->右键 ->映射网络驱动器,文件夹输入框输入\\Debian 的ip\共享名,不能直接输ip,一定要加上共享名,点击完成
接下来就可以在我的电脑里看到映射的网络磁盘了
PHP 扩展
sudo apt install php8.2-curl php8.2-mbstring php8.2-intl php8.2-zip php8.2-gd php8.2-mysql
ufw防火墙
更新:sudo apt update
安装:sudo apt install ufw
开启前放行!放行!放行!
放行ssh(22):sudo ufw allow ssh
sudo ufw allow 7722/tcp
开启:sudo ufw enable
开机自动运行:sudo ufw default deny
查看状态:sudo ufw status verbose
Status: inactive
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
查看已开放:sudo ufw status
删除: sudo ufw delete 3 #根据编号(从上数1,2,3,……)
开启前放行!放行!放行!
放行ssh(22):sudo ufw allow ssh
sudo ufw allow 7722/tcp
启用:sudo ufw enable
关闭:sudo ufw disable
***均使用默认规则
# 开放docker内容器的访问权限
ufw allow from 172.18.0.1/24
# 刷新防火墙配置
ufw reload