在Debian服务器上安装WebKeePass

时间:2020-03-21 11:45:51  来源:igfitidea点击:

WebKeePass是KeePass项目的免费,强大且开源密码管理器的基于Web的Java端口。
我们将安装WebKeePass管理器并将其配置为使用OpenLDAP服务器进行用户身份验证。

安装Java

我们将在Debian Wheezy服务器上安装WebKeePass。
更新软件包列表并安装Java:

# apt-get update && apt-get install wget openjdk-6-jdk unzip vim

找出Java的安装位置:

# find/-name java | grep -i jdk
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/bin/java

导出JAVA_HOME(否则对我不起作用):

# export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

安装WebKeePass

下载安装文件:

# cd ~ 
# wget http://kent.dl.sourceforge.net/project/webkeepass/WebKeePass-3.121122.zip

解压缩档案:

# unzip ./WebKeePass-3.121122.zip

改成:

# cd ./WebKeePass-3.121122

使安装文件可执行:

# chmod u+x ./Install-no-gui.sh

并运行安装脚本:

# ./Install-no-gui.sh

系统将提示我们同意LGPL;询问安装目录和Java主目录,tomcat端口,并创建一些用户并指定加密算法:

Do You Agree? [Y or N] :Y
Installation Path: /usr/local/webkeepass-3.12
JAVA_HOME' Path: /usr/lib/jvm/java-6-openjdk-amd64
Web KeePass Admin/Root UserID: [root]
Admin/Root Password: 
Web KeePass Standard UserID: [user]
Standard User Password: 
Tomcat HTTPS/SSL Port: [8443]
Tomcat Shutdown Port: [9444]
Your Host Name: [localhost]
Select Cipher: [1]
 1 = Blowfish
 2 = DESede
 3 = TripleDES
 4 = AES
 5 = DES
4

* Installation Detail
* Installation Path: /usr/local/webkeepass-3.12/
* JAVA_HOME: /usr/lib/jvm/java-6-openjdk-amd64/
* Web KeePass Admin/Root UserID: root
* Password: ***
* Web KeePass Standard UserID: user
* Password: ***
* Tomcat HTTPS/SSL Port: 8443
* Tomcat Shutdown Port: 9444
* Host Name: localhost
* Cipher: 4

[...]
 Complete!
 1 - Start Tomcat: /usr/local/webkeepass-3.12/
 2 - point your web browser to : https://localhost:8443
 3 - point your mobile device to https://localhost:8443/iphone
(*note: If reinstallation is required, you must first delete the target installation folder)

启动Tomcat和WebKeePass

导航到WebKeePass安装目录:

# cd /usr/local/webkeepass-3.12

使启动脚本可执行:

# chmod u+x ./startup.sh
# chmod u+x ./jakarta-tomcat-5.5.7/bin/*.sh

启动WebKeePass:

# ./startup.sh
Using CATALINA_BASE: /usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7
Using CATALINA_HOME: /usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7
Using CATALINA_TMPDIR: /usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7/temp
Using JAVA_HOME: /usr/lib/jvm/java-6-openjdk-amd64

注意:必须在防火墙上打开TCP 8443端口,以便能够从公共网络进行访问:

# iptables -A INPUT -p tcp --dport 8443 -j ACCEPT

打开Web浏览器并导航到https://localhost:8443.
我们应该看到Web登录屏幕:

成功登录后,我们将进入WebUI:

我们可以通过运行关闭脚本来停止WebKeePass服务:

# /usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7/bin/shutdown.sh

配置WebKeePass以使用OpenLDAP

打开WebKeePassConf.xml配置文件:

# vim /usr/local/webkeepass-3.12/conf/WebKeePassConf.xml

并根据需要更改LDAP部分:

<LDAP_CONFIG>
<LDAP>true</LDAP>
<LDAP_Group>Users</LDAP_Group>
<principalDNPrefix>uid=</principalDNPrefix>
<principalDNSuffix>,ou=Users,dc=theitroad.com,o=top</principalDNSuffix>
<java.naming.provider.url>ldap://127.0.0.1:389</java.naming.provider.url>
<java.naming.security.authentication>simple</java.naming.security.authentication>
<java.naming.factory.initial>com. sun. jndi. ldap. LdapCtxFactory</java.naming.factory.initial>
</LDAP_CONFIG>

定义java.naming.factory.initial时没有空格。

自己注意:WebKeePass接受用户输入的用户ID,并用<principalDNPrefix>和<principalDNSuffix>将其包围,以创建要进行身份验证的DN。

故障排除

如果某些操作无法按预期工作,则首先检查的是catalina日志:

# tail -f /usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7/logs/catalina_log.[DATE].txt

创建简单的WebKeePass启动脚本

可能很难记住默认的启动和关闭脚本的位置,因此我们将为自己创建一个。
打开一个空文件:

# vim /usr/local/sbin/webkeepass-start.sh

并添加以下内容:

#!/bin/bash
unset JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
cd /usr/local/webkeepass-3.12
./startup.sh

保存文件并使脚本可执行:

# chmod 0750 /usr/local/sbin/webkeepass-start.sh

现在,我们只需输入以下内容即可启动WebKeePass:

# webkeepass-start.sh

让我们为关机做同样的事情:

# vim /usr/local/sbin/webkeepass-stop.sh

添加以下内容:

#!/bin/bash
unset JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
/usr/local/webkeepass-3.12/jakarta-tomcat-5.5.7/bin/shutdown.sh

保存文件并使其可执行:

# chmod 0750 /usr/local/sbin/webkeepass-stop.sh

我们可以通过输入以下内容来停止WebKeePass:

# webkeepass-stop.sh