在Windows服务器上安装DHIS2

最近,一所大学联系我,询问他们如何在刚刚收到的Windows服务器上安装DHIS2。由于互联网上提供的大多数教程都讨论在运行Linux发行版的服务器上安装DHIS2,他发现很难遵循这些教程中列出的步骤。

我决定为任何对学习如何在Windows服务器上安装DHIS2感兴趣的人编写这篇小教程。

什么是DHIS2?

对于那些不熟悉的人,DHIS2是一个健康信息管理系统,用于收集、分析、报告和传播聚合的和个人级别的健康数据。

DHIS2由奥斯陆大学开发,并在BSD许可下发布,作为全球社区支持的自由和开源软件。

硬体

我安装的DHIS2是一台Amazon LightSail虚拟机,运行Windows Server2019,内存为2 GB,硬盘空间为60 GB。

这些步骤

下载并安装Java

第一步是安装Java。

DHIS2需要Java 11才能运行,下载与您的系统要求匹配的正确JDK非常重要,我最初的尝试失败了,因为我错误地下载了为32位计算机设计的Java运行时环境(JRE),然而,Windows服务器是一台64位计算机。

我建议按照下面的链接在Windows服务器上下载并安装Microsoft版本的OpenJDK。

https://lt.techopen.info/data/images/2023-04-01/165e1e4df59d7da3f67b5ebac9c09487.jpg

尽量避免下载较新版本的JDK,因为您可能会遇到错误,因为在撰写本文时,DHIS2当前支持Java 11。

下载并安装Postgres

DHIS2需要PostgreSQL作为数据库管理系统,因此您必须下载并安装PostgreSQL并将其安装在您的计算机上。

您可以通过此链接下载并安装Postgres for Windows,我建议您下载并安装用于DHIS2的PostgreSQL版本14。

https://lt.techopen.info/data/images/2023-04-01/15b4f6cad789abb68f778d8c36b93a5f.jpg

下载安装程序并在您的Windows服务器上安装PostgreSQL。安装Postgres之后,重要的是安装PostGIS扩展,这是DHIS2正常运行所必需的。

你可以通过打开“Stack Builder”应用程序来安装PostGIS,你可以在开始菜单中的Postgres下找到它。

堆栈生成器应用程序

从Stack Builder应用程序中,选择最新的PostGIS版本作为要安装的版本,在向导结束时,Stack Builder将在您的Windows服务器上安装PostGIS。

设置Postgres用户和Postgres数据库

为DHIS2创建非超级用户postgres用户

通过从开始菜单打开SQL外壳(Psql)应用程序来访问PostgreSQL外壳。

PSQL外壳Windows服务器

创建名为的用户DHIS使用以下命令。

创建用户DHIS;

使用用户名创建用户后DHIS更改用户的权限,使其与Ubuntu的DHIS2安装文档中提供的权限匹配。

用NOCREATEDB NOCREATEROLE更改用户DHIS;

接下来,更改我们在上面创建的postgres用户的密码。在本教程中,我使用的密码是dhis2。但是,我建议在生产环境中实现DHIS2时使用强密码。

更改密码为‘dhis2’的用户dhim;

为DHIS2创建数据库

下一步是创建将存储DHIS2实例数据的数据库。要创建数据库,请在您的PostgreSQL外壳程序(PSQL)上运行以下命令。

在本教程中,我将创建一个名为Dhis2

创建数据库dhis2;

您刚刚创建的数据库仍然由默认的postgres超级用户postgres拥有,下一步涉及将数据库的所有权移交给DHIS我们在上面的步骤中刚刚创建的用户。

要转移数据库的所有权,请在postgres外壳上执行以下命令。

将数据库dhis2所有者更改为dhim;

现在我们已经将数据库的所有权转移给了新创建的用户,我们必须在新创建的dhis2数据库上加载PostGIS扩展。

加载PostGIS扩展模块之前,首先将活动数据库更改为新创建的Dhis2数据库。

\连接dhis2;

切换数据库后,将POSTGIS扩展加载到Dhis2通过在psql外壳中运行以下命令,

创建扩展邮政编码;

创建DHIS2配置文件

创建名为的DHIS2配置文件Dhis.conf在名为的文件夹中DHIS2_HOME\CONFIG内部C:Windows服务器的驱动器。

#--------------------
#数据库连接
#--------------------

#JDBC驱动程序类
Connection.DRIVER_CLASS=org.postgresql.驱动程序

#数据库连接URL
Connection.url=jdbc:postgreSQL:dhis2

#数据库用户名
Connection.Username=dhim

#数据库密码
Connection.password=dhis2

#--------------------
#服务端
#--------------------

#如果部署在HTTPS上,则启用安全设置,默认为‘OFF’,可以为‘ON’
#server.https=on

#服务器基本URL
#server.base.url=https://server.com

替换Connection.username使用我们创建的postgres用户的用户名DHIS,并替换Connection.password中提供postgres用户的密码。Connection.username参数。

下载并设置Tomcat-9

在本教程中,我们将使用Tomcat托管DHIS2实例,您可以通过Apache网站下载Tomcat。

https://lt.techopen.info/data/images/2023-04-01/81a1806513d374e09cde6153b672fc43.jpg

我建议您使用Tomcat9,但我认为使用Tomcat10运行DHIS2实例不会有问题。

下载Tomcat9实例并将文件解压缩到一个首选位置。下一步涉及更改Tomcat9服务器的设置以运行DHIS2。

更改Tomcat 9的设置以运行DHIS2

首先,我们必须指向DHIS2配置文件的位置,打开Context.xml文件,并在XML文件的上下文块中添加以下值,并将路径设置为指向Dhis.conf您创建的文件。

您只需指向包含Dhis.conf文件,DHIS2将在启动Tomcat服务器时自动加载配置

接下来,打开解压缩的Tomcat文件夹中的server.xml文件,并设置宽松的QueryChars中的值连接器财产。您还可以指定DHIS2运行的端口。ApacheTomcat的默认端口为8080。但是,您始终可以使用带有nginx的反向代理来去除端口号。

<连接器端口=“8080”协议=“HTTP/1.1”
连接超时=“20000”
重定向端口=“8443”
RELAXEDQUERCHARS=“[]”/>

最后,我们必须在Tomcat上设置环境变量,打开Setenv.bat中的文件。箱子解压缩的Tomcat文件夹的文件夹(如果没有Setenv.bat文件,创建一个新的Setenv.bat中的文件。箱子文件夹中有您最喜欢的文本编辑器。

JAVA_HOME 指向您的Java安装的路径
JAVA_OTS 为DHIS2实例分配的最大和最小内存
DHIS2_HOME DHIS2配置文件夹的位置

您可以按照下面的代码片段在setenv.bat文件中设置环境变量。

设置“JAVA_HOME=C:\Program Files\OpenJDK\JDK-11.0.18.10-HotSpot”
设置“JAVA_OPTS=-Xms500M-Xmx1000M”
设置“DHIS2_HOME=C:\DHIS2_HOME\CONFIG”

设置DHIS2_HOME中的环境变量Setenv.bat文件是指向DHIS2配置文件位置的另一种方式,我们通过设置DHIS2_HOME中的值Context.xml在上述步骤之一中创建文件。

这个JAVA_OTS设置可以分配给Tomcat服务器的最小和最大内存(RAM)。在那里-Xms时分配的最小内存。-XMX是分配的最大内存量。您将以MB为单位设置该值。在本例中,因为我们的服务器是2 GB的Windows服务器,所以我将最小分配内存设置为500MB,将最大分配内存设置为1000MB。

分配的最大内存应该小于系统内存,并且您必须为操作系统和其他进程留出一些内存。因此,根据您可以使用的系统内存量,为系统进程保留2-3 GB是一种好的做法。

下载DHIS2 WAR文件

您可以从DHIS2官方网站下载DHIS2 WAR文件,

https://lt.techopen.info/data/images/2023-04-01/dfd2446d3c09f44156cfd95e765f9280.jpg

在撰写本文时,我安装在Windows服务器上的最新可用版本是2.39。

复制下载的内容战争文件放入到Web应用程序Tomcat服务器的文件夹。

启动Tomcat服务器

要启动Tomcat服务器,请在Windows服务器上打开PowerShell,使用cd命令将目录切换到Tomcat服务器,然后运行/bin/Startup.bat来自PowerShell的文件。一旦服务器启动,您将能够通过从Windows服务器中的浏览器导航到本地主机:8080来访问DHIS2安装。
./Startup.Bat

./Startup.Bat

停止Tomcat服务器

停止Tomcat服务器类似于启动服务器,只需运行/bin/Shudown.batPowerShell中的Tomcat文件夹中的文件,它将关闭Tomcat服务器。

./Shudown.bat

如果有任何关于在Windows服务器上安装DHIS2的问题,请留下您的问题作为评论。


把这件事留给我们吧

让专家通过专用的DHIS2云托管解决方案管理您的DHIS2实例,该解决方案可随您的实例增长而扩展。而且您不必担心任何复杂的服务器管理。

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注