Skip to content

Using Rust to develop a CMS (content management system) can be used as a personal blog, company website

License

Notifications You must be signed in to change notification settings

TianLangStudio/rust_cms

Repository files navigation

Rust CMS

Demo run on Ali Cloud

⚠Don't use it in production!!!. It is a project for learning.

English|中文

Features

  • Login & Logout

  • File Upload  

  • Articles list

  • Got new Articles

  • Got Recommend Articles

  • Publish Article Page 

  • Article Details Page

  • actix-web demo

  • diesel demo

  • Support Session

  • Login auth base on Session

  • Tera Demo includes custom define Functions

  • Support Markdown in write Article

  • My article page

  • Support under review 
    enable this feature by config tl.app.approval.enable=true and set who can approve through this configuration item tl.app.approval.users=usernameA,usernameB...

  • Support graphql


How to run

git clone git@github.com:TianLangStudio/rust_cms.git     
cd rust_cms

If you have installed Rust and Docker, just execute the script below.

./bin/start.sh

This command will run script to initial a MySQL database using docker and then run rust_cms using Cargo run

You could use a exists MySql database, installing Rust is required

  • import doc/rust_cms.sql to your Mysql, this will create a database named rust_cms.
  • edit conf/application_dev.yaml to change the database link information.
  • now you can execute command cargo run to run rust_cms

build error

  1. throw an error when building third part lib Maybe it is because of the version conflict, you can remove the file named Cargo.lock then build again

  2. cannot find -lmysqlclient

    error: linking with cc failed: exit status: 1
    ....
    /usr/bin/ld: cannot find -lmysqlclient

    install mysqlclient then build again ex. install mysqlclient in Ubuntu

    sudo apt-get install libmysqlclient-dev

Contact FusionZhu for more help