2024年10月13日 星期日

DIY 即時通訊系統(IM)以Openfire(XMPP)為例

Instant Messaging (IM)

Extensible Messaging and Presence Protocol (XMPP)

wiki 上的說明

https://zh.wikipedia.org/zh-tw/XMPP

url 在這裡可以看到一些關於 xmpp 的資訊與相關軟體

https://xmpp.org/

家中測試環境

Server Linux 安裝 openfire (openfire-4.9.0-1.noarch.rpm)

https://www.igniterealtime.org/projects/openfire/

Java 

openjdk version "11.0.24" 

Client Windows 安裝 spark (spark_3_0_2-with-jre.msi)

https://igniterealtime.org/projects/spark/

Clinet Linux 使用程式語言 Perl

參考 URL



Demo







MySQL

[root@WAZUH init.d]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 152
Server version: 10.5.22-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE xmpp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> CREATE USER 'xmpp'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON xmpp.* TO 'xmpp'@'localhost';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> 


Java

[root@WAZUH src]#  dnf install java-11-openjdk.x86_64


[root@WAZUH src]# cat /etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-11.0.24.0.8-2.0.1.el9.x86_64/"



[root@WAZUH src]# echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-11.0.24.0.8-2.0.1.el9.x86_64/

[root@WAZUH src]# java -version 
openjdk version "11.0.24" 2024-07-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.24.0.8-2.0.1) (build 11.0.24+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.24.0.8-2.0.1) (build 11.0.24+8-LTS, mixed mode, sharing)
[root@WAZUH src]# 


Openfire

[root@WAZUH bin]# rpm -ql openfire-4.9.0-1.noarch
/etc/init.d/openfire
/etc/sysconfig/openfire
/opt/openfire
/opt/openfire/LICENSE.html
/opt/openfire/README.html
/opt/openfire/bin
/opt/openfire/bin/embedded-db-viewer.sh
/opt/openfire/bin/embedded-db.rc
/opt/openfire/bin/openfire.sh
/opt/openfire/bin/openfirectl
/opt/openfire/changelog.html
/opt/openfire/conf
......


Perl


[root@WAZUH src]# dnf search net-xmpp
Last metadata expiration check: 2:22:11 ago on Sun 13 Oct 2024 10:25:38 AM CST.
================================================================================================ Name Matched: net-xmpp ================================================================================================
perl-Net-XMPP.noarch : Net::XMPP - perl XMPP library
perl-Net-XMPP.src : Net::XMPP - perl XMPP library


[root@WAZUH src]# dnf install perl-Net-XMPP
Last metadata expiration check: 2:22:28 ago on Sun 13 Oct 2024 10:25:38 AM CST.
Dependencies resolved.
========================================================================================================================================================================================================================
 Package                                                       Architecture                               Version                                          Repository                                              Size
========================================================================================================================================================================================================================
Installing:
 perl-Net-XMPP                                                 noarch                                     1.05-20.el9                                      ol9_developer_EPEL                                     154 k
Installing dependencies:
 perl-Authen-SASL                                              noarch                                     2.16-25.el9                                      ol9_appstream                                           78 k
 perl-GSSAPI                                                   x86_64                                     0.28-37.el9                                      ol9_appstream                                           74 k
 perl-HTTP-ProxyAutoConfig                                     noarch                                     0.3-27.el9                                       ol9_developer_EPEL                                      27 k
 perl-Net-DNS                                                  noarch                                     1.29-6.el9                                       ol9_appstream                                          542 k
 perl-Tie                                                      noarch                                     4.6-481.el9                                      ol9_appstream                                           41 k
 perl-XML-Stream                                               noarch                                     1.24-20.el9                                      ol9_developer_EPEL                                     108 k

Transaction Summary
========================================================================================================================================================================================================================
Install  7 Packages

Total download size: 1.0 M
Installed size: 1.8 M
Is this ok [y/N]: y

.....


Windows Client GUI




Linux Perl



Perl 程式參考




沒有留言:

張貼留言