admin avatar

Tetua-基于golang和mysql的开源轻量级cms程序,附上安装和配置教程

🕘 by admin

Tetua-基于golang和mysql的开源轻量级cms程序

使用 mysql 数据库存储,暂支持 github账户登录。注册后只能评论,发帖权限。

文章编辑器采用markdown语法,最优秀的是Tetua还支持云存储,

理论上兼容S3协议的存储可以作为文章附件存储.

下面是Tetua安装和配置教程,首先需要安装mysql数据库

这里不再详细描述,然后创建一个数据库。

CREATE DATABASE myblog;//创建一个数据库

DROP DATABASE myblog;//删除一个数据库

1
2
3
4
5
6
7
//技术有限,本想下载源代码编译的,结果一大堆报错,所以这里使用作者编译好的二进制文件即可。
git clone https://github.com/ngocphuongnb/tetua.git
//tetua需要前端文件,记得把tetua执行程序放在前端文件同一个目录
wget https://github.com/ngocphuongnb/tetua/releases/download/v0.0.5-alpha/tetua_0.0.5-alpha_Linux_x86_64.tar.gz
tar zxvf *.tar.gz
cd tetua
./tetua init //初始化配置文件

修改配置文件 vi config.json

这里有个问题,复制粘贴的时候容易出现空格导致问题 所以建议手工重新一条条代码输入。

1
2
3
4
5
6
7
8
9
10
{
 "app_env": "production", 
 "app_key": "{APP_KEY}",
 "app_port": "3000",
 "db_dsn": "root:demopasswdroot@tcp(127.0.0.1:3306)/myblog?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=true", //这里填写你mysql数据库账户密码和地址
 "github_client_id": "", //这两个一定要填写
 "github_client_secret": "",//这两个一定要填写
//https://github.com/settings/apps //自行到这里创建相关密匙
 "db_query_logging": false
}

创建用户名和密码,如果没有报错,即表示安装成功。

./tetua setup -u admin -p password

./tetua run //运行Tetua,如果成功会显示如下信息

1
2
3
4
5
6
7
8
9
10
 ┌───────────────────────────────────────────────────┐
 │                  Tetua Community                  │
 │                   Fiber v2.30.0                   │
 │               http://127.0.0.1:3000               │
 │       (bound on host 0.0.0.0 and port 3000)       │
 │                                                   │
 │ Handlers ........... 553  Processes ........... 1 │
 │ Prefork ....... Disabled  PID ............. 30014 │
 └───────────────────────────────────────────────────┘

目前发现bug,就是只能把Tetua搭建在本地,然后通过前端的nginx,或apache反向代理才能正常使用

Tetua的守护进程实现,使用supervisor来守护Tetua。

1
2
3
4
5
6
7
8
9
10
11
12
[program:tetua]
directory=/var/lib/tetua
command=/var/lib/tetua run
autostart=true
autorestart=true
startretries=5
user=www
group=www 
#redirect_stderr=true
#stdout_logfile=/var/log/supervisor/tetua.log # the name of the log file.
#stdout_logfile_maxbytes=50MB
#stdout_logfile_backups=10

supervisorctl update && supervisorctl reload

现在使用nginx或apache反向代理到127.0.0.1:3000即可

下面是nginx代理Tetua的配置

1
2
3
4
5
6
7
8
9
location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:3000;
    }

注意,你的首选创建Topic,也就是话题,才能发布文章。

iShot_2022-05-17_21.08.45.png

官方博客

https://tetua.net/?src=vpslala.com

官方GitHub

https://github.com/ngocphuongnb/tetua

💘 相关文章

写一条评论