[LINUX] Installation de la version Pleasanter .NetCore (CentOS7 .NetCore2.2 SQL Server 2019)

Ce qui est écrit dans cet article

PostScript 2020/6: la prise en charge de .NetCore3.1 / PostgreSQL a été annoncée. Annonce officielle: la version compatible PostgreSQL a été publiée.

Cliquez ici pour la procédure d'installation de la version compatible .Net Core 3.1 Essayez d'installer Pleasanter avec PostgreSQL sur CentOS7 \ -Qiita Essayez d'installer Pleasanter With PostgreSQL sur CentOS8. \ -Qiita


Je souhaite exécuter Plesanter dans le plus récent environnement possible. alors, ** Depuis le 5 janvier 2020, Pleasanter ne prend pas en charge .NetCore 3.1 ** Acceptez .NetCore2.2 **. NetCore3.1 / SQL Server 2019 ne prend pas en charge CentOS8 ** Mettre en place avec CentOS7 ** SQL Server 2019 semble fonctionner avec CentOS7 **

Il s'agit de la procédure d'installation utilisant la version .Net Core distribuée par le Pleasanter officiel. (Ne construisez pas) La procédure d'installation officielle de Pleasanter est un peu organisée pour Linux et installée + C'est un journal de travail avec la procédure suivante ajoutée.

Environnement d'exploitation

Forfaits requis Environnement d'exploitation Date de fin du support étendu
.NetCORE 2.2 RHEL 6 x64
RHEL/CentOS/Oracle 7 x64
Fedora28,29
Debian9
Ubuntu 16.04,18.04,18.10
Linux Mint 17,18
OpenSUSE 15+
SLES 12 SP2+
Alpine Linux 3.7+
MacOS 10.12+
Hors support le 23 décembre 2019
SQL Server 2019 RHEL7.3,7.4,7.5,7.6
SUSELinuxEnterpriseServerv12SP2,SP3,SP4
Ubuntu16.04
Docker
6 à 10 ans après la libération devrait s'appliquer
2025-2029
Microsoft ODBC Driver 17 for SQL Server Debian 8,9,10
RHEL 6,7,8
SUSE Linux Enterprise Server 11 SP4,12,15
Ubuntu 14.04,16.04,18,04,18,10,19.04
MacOS
inconnue
Pleasanter

Lors de l'utilisation d'Ubuntu, il semble préférable de sélectionner Ubuntu 16.04 pour remplir toutes les conditions. (Si vous le concevez 18.04 semble également fonctionner) RedHat Enterprise Linux (RHEL) semble être en mesure de choisir différentes versions raisonnables, mais RHEL 8 n'est pas encore pris en charge. De plus, bien que CentOS ne soit pas inclus dans l'environnement d'exploitation de SQL Server, [FAQ](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-faq?view=sql-server -Il fonctionnera avec linux-ver15). C'est commenté. Et cela fonctionne réellement. J'ai décidé d'utiliser CentOS7 en raison d'une version raisonnable du système d'exploitation et de faibles obstacles à l'installation.

Flux d'introduction

Présentation de .NetCORE 2.2

$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
$ sudo yum -y update
$ sudo yum -y install dotnet-sdk-2.2

Présentation de SQL Server 2019

Présentation de MS SQL Server

$ sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
$ sudo yum -y install mssql-server

Configuration initiale MS SQL

$ sudo /opt/mssql/bin/mssql-conf setup
usermod:Il n'y a pas de changement
Sélectionnez l'édition de SQL Server:
  1) Evaluation (Gratuit, pas de droits sur les produits, délai de 180 jours)
  2) Developer (Gratuit, aucun droit d'utilisation du produit)
  3) Express (gratuit)
  4) Web (Payé)
  5) Standard (Payé)
  6) Enterprise (Payé) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (Payé) - CPU Core utilization up to Operating System Maximum
  8)J'ai une clé de produit à acheter et je saisis une licence via un canal de vente au détail.

Pour plus d'informations sur les éditions, voir
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x411

Pour utiliser l'édition payante de ce logiciel, vous devez obtenir une licence distincte auprès de:
Programme de licences en volume Microsoft.
Choisir une édition payante c'est
Vous vous êtes assuré que vous disposiez du nombre correct de licences pour installer et exécuter ce logiciel.

Veuillez saisir l'édition(1-8): 3
Les conditions de licence de ce produit
/usr/share/doc/mssql-Vous pouvez le parcourir sur le serveur ou le télécharger à partir de l'emplacement suivant::
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x411

Une déclaration de confidentialité est disponible sur::
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x411


Sélection de la langue SQL Server:
(1) English
(2) Deutsch
(3) Espanol
(4) Francais
(5) Italiano
(6)Japonais
(7) ???
(8) Portugues
(9) Русский
(10)chinois? ?corps
(11)Chinois (Traditionnel)
Option 1-Entrez 11: 6
Entrez votre mot de passe d'administrateur système SQL Server: <Définir le mot de passe administrateur>
Confirmez et entrez le mot de passe de l'administrateur système SQL Server:
Configurer SQL Server...

ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
L'installation s'est terminée avec succès. Démarrage de SQL Server.
$
$ systemctl status mssql-server

Spécifiez une chaîne de caractères forts pour le mot de passe de l'administrateur système (mot de passe SA).

Présentation des outils de ligne de commande MS SQL Server

Mise à jour d'UnixODBC et introduction de mssql-tools Prend en charge SQL Server 2019 depuis 17.3. Faites attention à la version installée.

$ sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
$ sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
Il n'y a peut-être pas de cible de suppression. Veuillez passer au suivant sans vous en soucier.
$ sudo yum install -y mssql-tools unixODBC-devel

J'ai la question suivante deux fois"YES"Répond s'il te plait
Do you accept the license terms? (Enter YES or NO)
YES

Introduction du pilote Microsoft ODBC 17 pour SQL Server

Comme msodbcsql a déjà été installé en même temps que les outils de ligne de commande MS SQL Server, il est omis.

Installation GDI

Installez l'API compatible GDI +

$ sudo yum install -y epel-release
$ sudo yum install -y libgdiplus

Introduit Pleasanter

Placement des fichiers d'exécution

Obtenez-le sur le Site de téléchargement officiel. Il existe un questionnaire simple, alors remplissons-le. Après avoir extrait le fichier obtenu vers un emplacement approprié, remplacez SetSaPWD dans la ligne SaConnectionString de Rds.json par le mot de passe administrateur SQL Server.

$ sudo mkdir /Pleasanter
$ unzip -q Pleasanter.NetCore.1.0.0.0.zip
$ sudo mv Pleasanter/* /Pleasanter/
$ sudo vi /Pleasanter/Pleasanter.NetCore/Implem.Pleasanter/App_Data/Parameters/Rds.json
{
    "Provider": "Local",
    "TimeZoneInfo": "Tokyo Standard Time",
    "SaConnectionString": "Server=(local);Database=master;UID=sa;PWD=SetSaPWD;Connection Timeout=30;",
    "OwnerConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD;Connection Timeout=30;",
    "UserConnectionString": "Server=(local);Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD;Connection Timeout=30;",
    "SqlCommandTimeOut": 600,
    "MinimumTime": 3,
    "DeadlockRetryCount": 4,
    "DeadlockRetryInterval": 1000
}
$

Configuration DB pour Pleasanter

$ cd /Pleasanter/Pleasanter.NetCore/Implem.CodeDefiner/
$ dotnet Implem.CodeDefiner.NetCore.dll _rds

Confirmation de démarrage plus agréable

Si vous pouvez confirmer le démarrage, appuyez sur Ctrl + C pour quitter.

$ cd ../Implem.Pleasanter/
$ dotnet Implem.Pleasanter.NetCore.dll
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {a11dba1c-f2da-4782-ae6d-ace09095eeac} may be persisted to storage in unencrypted form.
Hosting environment: Production
Content root path: /Pleasanter/Pleasanter.NetCore/Implem.Pleasanter
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.

Créer un script de service pour Pleasanter

Créez un script de service pour démarrer automatiquement Pleasanter au démarrage du système d'exploitation.

$ 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 --urls=http://localhost:5000
WorkingDirectory = /Pleasanter/Pleasanter.NetCore/Implem.Pleasanter
Restart = always
RestartSec = 10
User = root
Group = root
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy = multi-user.target

$ sudo systemctl daemon-reload
$ sudo systemctl start pleasanter
$ sudo systemctl enable pleasanter

Paramètres de proxy inverse (NginX)

Configurez le proxy inverse de sorte qu'un serveur Web normal soit accessible avec le même Port80. Je ne le présenterai pas ici, mais je pense qu'il est facile d'utiliser un proxy inverse lors de la conversion en https.

$ sudo vi /etc/nginx/conf.d/pleasanter.conf

server {
        listen  80;
    server_name   pleasanter.example.com;
    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 sysetmctl restart nginx

Paramètres de Firewalld

Ajoutez un paramètre d'autorisation à 80 / tcp (http) pour permettre au client d'accéder au service Web.

Vérifier la zone valide
$ sudo firewall-cmd --get-active-zone
public
  interfaces: enp1s0

Vérifier les règles du pare-feu
$ sudo firewall-cmd --list-all

Port 80/Déprotéger le TCP
$ sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
success
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all

Paramètres du serveur de courrier sortant

[Paramètres liés à Pleasanter Mail](https://github.com/Implem/Implem.Pleasanter/wiki/%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3% 82% BF% E8% A8% AD% E5% AE% 9A% EF% BC% 9A Mail.json)

$ sudo vi /Pleasanter/publish/Implem.Pleasanter/App_Data/Parameters/Mail.json
{
    "SmtpHost": "localhost",
    "SmtpPort": 25,
    "SmtpUserName": null,
    "SmtpPassword": null,
    "SmtpEnableSsl": false,
    "FixedFrom": null,
    "AllowedFrom": null,
    "SupportFrom": "\"Pleasanter.org\" <[email protected]>",
    "InternalDomains": "",
    "AddressValidation": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]+\\b"
}

Paramètres de rappel

Introduction de Python36, pyodbc / paramètres de rappel

$ sudo yum -y install python36
$ sudo mkdir /Pleasanter/tools
$ sudo cp -P /Pleasanter/Implem.Pleasanter.NetCore/Tools/Reminder.py /Pleasanter/tools/
$ sudo vi /Pleasanter/tools/Reminder.py

Remplacez la partie localhost par un nom d'hôte accessible par le client
urllib.request.Request("http://localhost/pleasanter/reminderschedules/remind?NoLog=1")

paramètres cron
$ sudo crontab -e
@reboot python3 /opt/pleasanter-tools/Reminder.py

$ python3 /opt/pleasanter-tools/Reminder.py

Installation du script de sauvegarde MS SQL

Quand je l'exécute sur python3, je me fâche quand je n'ai pas pyodbc. Quand je l'ai exécuté avec python, cela fonctionnait bien si pyodbc introduit à partir d'epel pouvait être utilisé.

$ sudo yum -y install pyodbc
$ sudo vi /Pleasanter/Implem.Pleasanter.NetCore/Tools/DbBackup.py

Définissez le mot de passe sa sur la ligne suivante
pwd = "SetSaPWD"

$ python /Pleasanter/Implem.Pleasanter.NetCore/Tools/DbBackup.py
Backedup: /var/opt/mssql/data/backup/Implem.Pleasanter/20190815_121020.bak
Shrinked: Implem.Pleasanter
$

Informations sur le compte initial

Éléments de réglage valeur initiale Remarques
Compte de gestion administrator
Mot de passe initial pleasanter Il vous sera demandé de changer lors de votre première connexion

Note

Comment réinitialiser le mot de passe SA

J'avais des problèmes pendant le travail, alors prenez note

$ sudo systemctl stop mssql-server
$ sudo /opt/mssql/bin/mssql-conf set-sa-password
Entrez votre mot de passe d'administrateur système SQL Server: <Nouveau mot de passe administrateur>
Confirmez et entrez le mot de passe de l'administrateur système SQL Server:
Configurer SQL Server...

ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Le mot de passe de l'administrateur système a changé.
'sudo systemctl start mssql-server'Pour démarrer SQL Server.
$

Recommended Posts

Installation de la version Pleasanter .NetCore (CentOS7 .NetCore2.2 SQL Server 2019)
Procédure d'installation de CentOS 8 (dernière version)
Erreur d'installation de centOS 7
Installation de CentOS 8
Installation de PHP (CentOS 8)
Installation de CentOS 7 + ffmpeg
Installation d'OpenMDAO (version 1.7.1)
Commande de confirmation de version CentOS
Installation sur la boîte virtuelle CentOS8
Installation de Python 3.5 (yum) (CentOS 6.8)