安装mod_auth_openidc

请在Ubuntu 22.04上安装 mod_auth_openidc。

我在Windows的OracleVM VirtualBox中安装Ubuntu22.04,并安装了apache和mod_auth_openidc。

我使用了Ubuntu的服务器版。如果进行搜索,可以找到安装方法,所以这里省略了。在安装Ubuntu后,我进行了时区设置(Asia/Tokyo),安装了vi、telnetd和vsftpd。这些都是根据个人偏好进行的,请随意选择。

按照Apache的顺序逐个进行安装。
以下操作使用sudo su -切换到root用户来执行。

China native Chinese: 阿帕奇

安装apache2应用。

#apache2ctl -t
可以检查配置文件错误,但是会出现以下警告。

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

进入/etc/apache2目录,使用vi命令编辑apache2.conf文件。

在大约第70行附近添加以下内容:
服务器名称 www.example.com

apachectl -t

Syntax OK

警告信息已经没有了。

安装 proxy_http

使用命令a2enmod启用proxy_http模块

Considering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
  systemctl restart apache2

我想安装最新版本的mod_auth_openidc。

在进行搜索后,我得知可以在以下地方进行。

请下载以下链接中的文件:
#wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb

安装指定版本的Apache模块auth-openidc 2.4.14.2-1.focal_amd64.deb,命令为:apt install ./libapache2-mod-auth-openidc_2.4.14.2-1.focal_amd64.deb。

这是一个依赖问题:必须安装libssl1.1(版本大于等于1.1.0),但无法安装。同时,可能是因为安装位置不合适,无法访问focal_amd64.deb文件,用户“_apt”被拒绝访问(错误代码13)。

被显示为。

查看/etc/passwd这个文件

如果假设成立,确实存在一个名为”_apt”的用户。

_apt:x:100:65534::/nonexistent:/usr/sbin/nologin

我会创建一个这家伙能够访问的文件夹。
我已经在/home下创建了一个名为_apt的文件夹。

# mkdir _apt
# chown 100:65534 _apt

# ls -al
drwxr-xr-x  2 _apt  nogroup 4096 Aug  5 16:39 _apt

首先将LIBSSL升级到最新版本。

在进入/home/_apt文件夹之后

请下载以下文件:http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb

停止apache2的systemctl。

请安装libssl1.1_1.1.0g-2ubuntu4_amd64.deb文件(使用dpkg -i命令)。

(Reading database ... 83005 files and directories currently installed.)
Preparing to unpack libssl1.1_1.1.0g-2ubuntu4_amd64.deb ...
Unpacking libssl1.1:amd64 (1.1.0g-2ubuntu4) ...
Setting up libssl1.1:amd64 (1.1.0g-2ubuntu4) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...

终于到了,现在是 mod-auth-openidc。

请在浏览器中访问以下链接:
https://github.com/OpenIDC/mod_auth_openidc/

在屏幕右侧写着“发布版本”,下面标注着最新的2.4.14.2版本。

点击那个链接。

只需要一种选项:在下面有一个文件列表,所以我们要找一个合适的。

切换到/home/_apt目录

请使用以下命令从GitHub下载libapache2-mod-auth-openidc_2.4.14.2-1.focal_amd64.deb文件:
wget https://github.com/OpenIDC/mod_auth_openidc/releases/download/v2.4.14.2/libapache2-mod-auth-openidc_2.4.14.2-1.focal_amd64.deb

也许不需要,但我会进行所有者更改。

/home/_apt# chown 100:65534 libssl1.1_1.1.0g-2ubuntu4_amd64.deb
修改libssl1.1_1.1.0g-2ubuntu4_amd64.deb的所有者为100:65534。

ls -al

-rw-r--r-- 1 _apt nogroup 1128092 Apr 26  2018 libssl1.1_1.1.0g-2ubuntu4_amd64.deb

请运行命令 `apt install ./libapache2-mod-auth-openidc_2.4.14.2-1.focal_amd64.deb` 安装此软件包。

如果有必要的话,请重新启动。

启动apache2服务。

查看 Apache2 服务状态

設定文件的檢查似乎沒有問題。

/home/_apt# apache2ctl -t
Syntax OK

我要检查安装在Apache上的模块。

apache2ctl -M | sort:

使用命令 “apache2ctl -M” 来列出所有的 Apache 模块,并通过 “sort” 命令按字母顺序进行排序。

 auth_openidc_module (shared)
 proxy_http_module (shared)
 proxy_module (shared)

创建新的设置文件

更改当前工作目录至/etc/apache2/sites-enabled。

列出所有文件及目录的详细信息。

lrwxrwxrwx 1 root root   35 Jul 29 07:47 000-default.conf -> ../sites-available/000-default.conf

我們將在這裡創建一個名為reverse-proxy.conf的新文件。只要名字以.conf結尾,可以使用任何名字。

您可以放置多个文件并创建多个反向代理。

Listen 18080
<VirtualHost *:18080>
 ServerName  www.local18080.com
 DocumentRoot /var/www/html1

# ProxyPass        /empnum_prod  http://192.168.15.216:8080/empnum_prod/
# ProxyPassReverse /empnum_prod  http://192.168.15.216:8080/empnum_prod/

    OIDCResponseType code
    OIDCCryptoPassphrase 12345678901234567890
    OIDCProviderMetadataURL http://[KeyCloakのIP]:8080/auth/realms/Intra1/.well-known/openid-configuration
    OIDCClientID [KeyCloakのレルム]
    OIDCClientSecret  [KeyCloakの画面からコピー]
    OIDCRedirectURI  http://[ubuntuのIP]:18080/empnum_prod/redirect_url1

    <Location /empnum_prod>
        AuthType openid-connect
        Require valid-user
        ProxyPass        http://192.168.15.63:8080/empnum_prod
        ProxyPassReverse http://192.168.15.63:8080/empnum_prod
    </Location>
</VirtualHost>

广告
将在 10 秒后关闭
bannerAds