安装Präsentor(.NetCore3.1/PostgreSQL版)在Ubuntu 20.04上
我打算在Ubuntu上安装.NET Core 3.1版的Pretender,但由于官方页面上只有RHEL/CentOS的安装方法,所以我尝试了一下。
总结来说,一切都正常运行。
将Pleasanter与PostgreSQL安装在RHEL8/CentOS8上更加愉快。
https://pleasanter.net/fs/publishes/1490231/edit
安装.NET Core 3.1
$ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt update
$ sudo apt install -y apt-transport-https
$ sudo apt update
$ sudo apt install -y dotnet-sdk-3.1
$ sudo apt install -y libgdiplus
安装PostgreSQL12
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-add-repository 'deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main'
$ sudo vi /etc/apt/sources.list
deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main
↓
deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt focal-pgdg main
$ sudo apt update
$ sudo apt install postgresql-12 pgadmin4 postgresql-contrib
# 成功しました。以下のようにしてデータベースサーバを起動することができます:
#
# pg_ctlcluster 12 main start
#
# Ver Cluster Port Status Owner Data directory Log file
# 12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
日志输出设置
我們將進行以下設置。
$ sudo vi /etc/postgresql/12/main/postgresql.conf
log_destination = 'stderr'
logging_collector = on
log_line_prefix = '[%t]%u %d %p[%l]'
用户设置和数据库创建
设定密码后,启动PostgreSQL。
$ sudo passwd postgres
$ su - postgres
$ psql -U postgres
postgres=# alter role postgres with password 'パスワード';
# DB作成
postgres=# create database "Implem.Pleasanter";
安装用于全文搜索的模块(pg_trgm)。
postgres=# \c "Implem.Pleasanter";
Implem.Pleasanter=# CREATE EXTENSION pg_trgm;
引入發言者
请下载Pleasanter并解压缩。
$ unzip Pleasanter.NetCore_1.1.5.1.zip
数据库的结构
请按照以下方式设置 pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json。
{
"Dbms": "PostgreSQL",
"Provider": "Local",
"TimeZoneInfo": "Tokyo Standard Time",
"SaConnectionString":"Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=<設定したパスワード>",
"OwnerConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD",
"UserConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD",
"SqlCommandTimeOut": 600,
"MinimumTime": 3,
"DeadlockRetryCount": 4,
"DeadlockRetryInterval": 1000
}
移动到Implem.CodeDefiner文件夹并运行CodeDefiner。
$ cd pleasanter/Implem.CodeDefiner
$ dotnet Implem.CodeDefiner.NetCore.dll _rds
请使用以下命令运行Pleasnter,并进行启动确认。
$ cd ../Implem.Pleasanter
$ dotnet Implem.Pleasanter.NetCore.dll
在另一个终端上访问”http://localhost:5000/”,并确认是否返回正常响应。
$ curl -v http://localhost:5000/
* About to connect() to localhost port 5000 (#0)
* Trying ::1...
* Connected to localhost (::1) port 5000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:5000
> Accept: */*
>
< HTTP/1.1 302 Found
< Date: Mon, 25 May 2020 15:13:08 GMT
< Server: Kestrel
< Content-Length: 0
< Location: http://localhost:5000/users/login?ReturnUrl=%2F
確認できたらCtrl+Cで終了します。
创建更愉快的服务脚本
$ sudo vi /etc/systemd/system/pleasanter.service
[Unit]
Description = Pleasanter
Documentation =
Wants=network.target
After=network.target
[Service]
ExecStart = /usr/bin/dotnet Implem.Pleasanter.NetCore.dll
WorkingDirectory = /home/hogehoge/pleasanter/Implem.Pleasanter
Restart = always
RestartSec = 10
KillSignal=SIGINT
SyslogIdentifier=dotnet-pleasanter
User = root
Group = root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy = multi-user.target
注册和启动作为服务
$ sudo systemctl daemon-reload
$ sudo systemctl enable pleasanter
$ sudo systemctl start pleasanter
安装Nginx(Web服务器)。
$ sudo apt install nginx-extras
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo addgroup ユーザー名 www-data
反向代理服务器的配置
请使用以下内容创建 /etc/nginx/conf.d/pleasanter.conf 文件。
server {
listen 80;
server_name 192.168.0.200;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
$ sudo systemctl restart nginx
如果能做到这一点,请访问以下网址:
http://192.168.0.200/
请提供上述内容的中文原生语版本,仅需要一种选项。
在RHEL8/CentOS8上安装Pleasanter with PostgreSQL
请访问https://pleasanter.net/fs/publishes/1490231/edit
在Ubuntu 20.04上安装.NET Core SDK 3.1。
链接:https://qiita.com/tabizou/items/d9af326ede9d35d03c68
在安装了Ubuntu 20.04和Posgtgres12之后,尝试使用C#+Npgsql进行访问。
在Ubuntu 20.04上安装PostgreSQL [快速入门]
https://www.digitalocean.com/community/tutorials/how-to-install-postgresql-on-ubuntu-20-04-quickstart
在Ubuntu上安装PostgreSQL 12,并创建数据库和表定义。