在 docker 文件夹中,创建一个新文件夹,并将其命名为 onenav(注意:装载路径保持下方不变,不要擅自修改)
文件夹 | 装载路径(固定,不要修改) | 说明 |
---|---|---|
docker/onenav | /data/wwwroot/default/data | 存放onenav数据 |
端口不冲突就行,这里用了 9680
本地端口 | 容器端口 |
---|---|
9680 | 80 |
保存并运行,在浏览器中输入 http://群晖IP:9680,就可以看到主界面了
详细说明可参考这篇文章:简单好用的书签管理器OneNav
配置文件说明
配置文件位于站点根目录下的data/config.php
,用户名、密码保存在这个配置文件中,如果忘记了用户名、密码可以查看这个文件,如果需要重新设置用户名、密码,可以将data/config.php
删除,然后重新初始化。
安全设置
如果您使用的Nginx,请务必将以下规则添加到站点配置中,否则数据库可能被下载(非常危险):
#安全设置
location ~* ^/(class|controller|db|data|functions|templates)/.*.(db3|php|php5|sql)$ {
return 403;
}
location ~* ^/(data)/.*.(html)$ {
deny all;
}
location /db {
deny all;
}
#伪静态
rewrite ^/click/(.*) /index.php?c=click&id=$1 break;
rewrite ^/api/(.*)?(.*) /index.php?c=api&method=$1&$2 break;
rewrite /login /index.php?c=login break;
- 如果使用得Apache则无需设置,已内置
.htaccess
进行屏蔽。 - 如果您使用的Docker安装也无需此配置,默认已内置规则
- 如果使宝塔一键安装用户,不需要此设置
Nginx反向代理
如果您使用的Docker部署,需要通过域名进行访问,您可以通过下面2个方法完成:
- 直接将域名解析到您服务器IP,然后访问
http://域名:端口
进行访问 - 如果您不希望带上容器端口,也可以通过Nginx反向代理绑定域名进行访问
Nginx反向代理配置参考:
server {
listen 80;
#改成你自己的域名
server_name demo.onenav.top;
#指定网站日志路径
#access_log /data/logs/demo.onenav.top_nginx.log xlog;
charset utf-8,gbk;
location / {
proxy_connect_timeout 10;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
#chunked_transfer_encoding off;
proxy_set_header Host $host;
#将3080改成你容器的端口
proxy_pass http://127.0.0.1:3080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}