Tunasync 项目简介
Tunasync 是一个开源的镜像站点镜像工具,可以帮助你快速搭建一个镜像站点,也可以帮助你快速的同步镜像站点的镜像。我们所熟知的清华大学镜像站就是使用 Tunasync 来同步镜像的。
准备 workspace
创建目录用于存放 Tunasync 的程序、配置文件和数据库文件:
mkdir /home/username/tunasync
mkdir /home/username/tunasync/conf
mkdir /home/username/tunasync/db
创建目录用于存放镜像文件:
sudo mkdir /srv/mirrors
srv 目录需要 root 权限,将 mirrors 目录的所有者改为当前用户:
sudo chown -R username:username /srv/mirrors
下载 Tunasync
可以从 Tunasync 项目的 Github releases 编译好的程序直接使用。
cd /home/username/tunasync
wget https://github.com/tuna/tunasync/releases/download/v0.8.0/tunasync-linux-amd64-bin.tar.gz
tar -zxvf tunasync-linux-amd64-bin.tar.gz
配置 Tunasync
Manager 配置
创建配置文件/home/username/tunasync/conf/manager.conf
,并添加以下内容:
debug = false
[server]
addr = "127.0.0.1"
port = 12345
ssl_cert = ""
ssl_key = ""
[files]
db_type = "bolt"
db_file = "/home/username/tunasync/db/manager.db"
ca_cert = ""
Worker 配置
创建配置文件/home/username/tunasync/conf/worker-openeuler.conf
,并添加以下内容:
[global]
name = "openeuler_worker"
log_dir = "/srv/mirrors/log/tunasync/{{.Name}}"
mirror_dir = "/srv/mirrors"
concurrent = 10
interval = 1440
[manager]
api_base = "http://localhost:12345"
token = "some_token"
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
listen_port = 16010
ssl_cert = ""
ssl_key = ""
[[mirrors]]
name = "centos"
provider = "rsync"
upstream = "rsync://mirrors.tuna.tsinghua.edu.cn/openeuler/"
use_ipv6 = false
启动 Tunasync
启动 Manager
cd /home/username/tunasync
./tunasync manager -c conf/manager.conf >> /srv/mirrors/log/plog/manager.log &
启动 Worker
cd /home/username/tunasync
./tunasync worker -c conf/worker-openeuler.conf >> /srv/mirrors/log/plog/worker-openeuler.log &
通常可能同步不止一个镜像站点,可以创建多个 Worker 配置文件,然后启动多个 Worker。
创建 web 服务
安装 Apache2:
sudo apt update sudo apt install apache2
修改配置文件:
Ubuntu 中的 Apache2 主要配置文件是
/etc/apache2/apache2.conf
。可以在此文件中进行全局配置,也可以使用专门的配置文件,例如/etc/apache2/sites-available/your-site.conf
。sudo nano /etc/apache2/apache2.conf
在
apache2.conf
文件中,添加以下行,设置DocumentRoot
和目录访问权限:DocumentRoot /mirrors <Directory "/mirrors"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
请确保将
<Directory>
部分添加到正确的位置。可以在文件中找到<Directory /var/www/>
部分,然后在该部分下添加配置。重新启动 Apache2 服务:
在进行配置更改后,需要重新启动 Apache2 服务以使更改生效:
sudo systemctl restart apache2
补充文件:
将
index.html
文件和其他需要的文件添加到/srv/mirrors
目录中。测试:
打开 Web 浏览器,访问
http://your-server-ip
或http://localhost
,应该能够看到/srv/mirrors
目录中的文件。如打不开,需要开启防火墙
sudo ufw allow http sudo ufw allow https
修改 Web 服务端口
编辑 Apache2 配置文件:
sudo nano /etc/apache2/ports.conf
**在文件中找到
Listen
** 行,修改端口:Listen 2081
编辑虚拟主机配置(如果有):
如果你有虚拟主机配置文件(通常在
/etc/apache2/sites-available/
中),确保其中的<VirtualHost>
部分中的端口也被修改为 2081。保存并退出配置文件。
重启 Apache 服务:
sudo systemctl restart apache2
打开防火墙端口
1. **打开 2081 端口:**
```bash
sudo ufw allow 2081
```
2. **检查配置:**
```bash
sudo ufw status
```
确保 2081 端口已经正确添加。
3. **重启防火墙(可选):**
```bash
sudo ufw reload
```
或者
```bash
sudo systemctl restart ufw
```
这样,你就将 Apache2 Web 服务的端口修改为 2081,并且只开放了 2081 端口。确保修改了防火墙规则后,仍能够通过新的端口访问你的网站。