标签 宝塔面板 下的文章

前言:群晖自带的 Docker 容器中有很多宝塔面板的版本,并且环境已经预装好。然而,一般在创建容器后会遇到各种错误。因此,最佳的方式是创建一个 CentOS 容器,然后在其中拉取官方版本的宝塔面板。

步骤一:拉取 CentOS 镜像

  1. 进入 Docker 注册表,搜索并拉取 CentOS 镜像。

f2e78acb6a46a2396c18de6678dcf48e.png

  1. 创建 CentOS 容器目录。

cefb33174c5d0668b9d7b62a1a2c1851.png

步骤二:开启 Open vSwitch 功能

为了使 CentOS 容器与群晖共享局域网,便于搭建网站,需要开启群晖自带的 Open vSwitch 功能。

90efcb2b7af4fae020fab7b587fca457.png

步骤三:创建 macvlan 网络

通过 SSH 连接到 NAS,并创建 macvlan 网络:

  1. 查看网关和 IP 段:

    netstat -nr | grep default
    

    例如,返回结果为:

   default via 192.168.0.10 dev ovs_eth0 src 192.168.0.109

其中 192.168.0.10 是网关,192.168.0 是 IP 段,ovs_eth0 是网络接口名称。

  1. 创建 macvlan 网络:
 docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.10 -o parent=ovs_eth0 bridge-host

  1. 如果输入有误,删除网络:
 docker network rm bridge-host

步骤四:配置 CentOS 容器

  1. 创建 CentOS 容器并查看详情以获得 IP 地址。

%7BC8DEE323-8D6E-4ac1-9AD6-382C285B0020%7D.png
e3a6e85c7977dacd0f10d3cadae7eafa.png

  1. 如果不喜欢在容器内操作,可以配置 CentOS 的 SSH 登录。安装 SSH 服务:
   yum install passwd openssl openssh-server -y
  1. 启动 SSH 服务:

    /usr/sbin/sshd -D
    

    如果提示文件不存在,执行以下命令:

    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
    
    
  2. 再次启动 SSH 服务:

    /usr/sbin/sshd -D &
    

    尽管会提示 WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several problems.,按回车键继续执行启动即可。

/usr/sbin/sshd -D 

  1. 修改 SSH 密码:

    passwd
    

步骤五:安装宝塔面板

  1. 拉取宝塔官方版本:

    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
    
  2. 如果出现 URL 不存在错误,解决方法如下:

    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    yum install PACKAGE
    

    安装成功后,再次安装宝塔即可。

宝塔安装成功后,返回的内网登录地址即为宝塔网址。为了安全,删除安全入口:

rm -f /www/server/panel/data/admin_path.pl

然后,你可以通过 CentOS IP 加上宝塔端口愉快地使用宝塔面板了。

前言:在云服务器的不稳定情况下,备份是确保数据安全的关键。为了避免突发崩溃导致数据丢失,建立备份习惯至关重要。下面是如何设置备份网站目录和数据库的步骤:

  1. 备份网站目录

通过定期备份网站目录,你可以在服务器崩溃时保留网站数据。首先,进入宝塔的计划任务,选择shell脚本,并创建一个名为“minio备份网站”的任务。设定定时任务每天0点执行一次。

MINIO_ACCESS_KEY="" # MinIO的访问密钥
MINIO_SECRET_KEY="" # MinIO的私密密钥
MINIO_ENDPOINT=""   # MinIO的端点
MINIO_BUCKET="web" # MinIO的储存桶名

SOURCE_DIRECTORY="/www/wwwroot/backup_directory"  # 网站备份目录

TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")

BACKUP_FILE="/tmp/backup_web_$TIMESTAMP.tar.gz"

echo "正在创建 $SOURCE_DIRECTORY 的tar归档文件..."

tar -czf "$BACKUP_FILE" -C "$(dirname "$SOURCE_DIRECTORY")" "$(basename "$SOURCE_DIRECTORY")"

echo "正在上传备份文件至 MinIO 存储桶..."

mc alias set minio "$MINIO_ENDPOINT" "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY" --api S3v4

mc cp "$BACKUP_FILE" "minio/$MINIO_BUCKET/backup_website_web/" 

echo "清理中..."

rm "$BACKUP_FILE" 

echo "备份成功。"

确保修改以上脚本中的参数以适应你的环境,如MinIO的访问密钥、私密密钥、端点和储存桶名等。

  1. 备份数据库

宝塔自带了数据库的备份功能,你可以设置每天0点定时备份数据库,并保留一份数据。此外,然后通过以下脚本创建一个上传数据库备份至MinIO的任务,定时每天2点执行一次:

MINIO_ACCESS_KEY="" # MinIO的访问密钥
MINIO_SECRET_KEY="" # MinIO的私密密钥
MINIO_ENDPOINT=""   # MinIO的端点
MINIO_BUCKET="web" # MinIO的储存桶名

SOURCE_DIRECTORY="/www/backup/database/mysql/crontab_backup/database_name"  

TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")

BACKUP_FILE="/tmp/backup_sql_$TIMESTAMP.tar.gz"

echo "Creating tar archive of $SOURCE_DIRECTORY..."

tar -czf "$BACKUP_FILE" -C "$(dirname "$SOURCE_DIRECTORY")" "$(basename "$SOURCE_DIRECTORY")"

echo "Uploading backup file to MinIO bucket..."

mc alias set minio "$MINIO_ENDPOINT" "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY" --api S3v4

mc cp "$BACKUP_FILE" "minio/$MINIO_BUCKET/backup_database_sql/"

echo "Cleaning up..."

rm "$BACKUP_FILE" 

echo "Backup completed successfully."
  1. 安装MinIO mc

为了使用MinIO mc工具,你需要先安装它。以下是安装MinIO mc的步骤:

# 下载mc
wget https://dl.minio.org.cn/client/mc/release/linux-amd64/mc
# 赋予执行权限
chmod +x ./mc
# 移动到全局
cp ./mc  /usr/local/bin/

安装完成后,输入 mc -help 来验证是否安装成功。

以上脚本针对单个网站或数据库,如果需要备份全部网站或数据库,只需调整目录即可。如果需要按需备份,需要自行修改脚本。