Skip to main content

常规方式安装OneNav

环境要求

  • 5.6 <= PHP <= 7.4
  • 需支持SQLite
  • PHP需支持pdo_sqlite组件

常规安装

  1. 访问项目地址:https://github.com/helloxz/onenav/releases 下载最新版本并解压到站点根目录
  2. 访问您的站点首页设置初始用户名、密码

  1. 进行安全设置

备用下载地址:https://git.xiaoz.me/xiaoz/onenav/tags

注意:新手请注意权限问题,否则可能提示权限原因安装失败,宝塔、Oneinstack、lnmp.org的站点用户均为www,可通过ls -l 站点路径查看文件是否是www用户。

安全设置

如果您使用的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个方法完成:

  1. 直接将域名解析到您服务器IP,然后访问http://域名:端口进行访问
  2. 如果您不希望带上容器端口,也可以通过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;
    }
}