如何在Slackware上安装WiKID强认证系统
测试Slackware 12.2,2.6.28.7-grsec,PostgreSQL 8.3.6,postgresql-8.3-604.jdbc4
注意:WiKID中包含的一些配置脚本是为Redhat和朋友设计的,本指南中的几个步骤重点是修改Slackware的这些脚本以及其中一些操作。
PostgreSQL
Slackware不会打包Postgres,所以我们需要从www.linuxpackages.net或您最喜爱的Slackware软件包中获取第三方软件包。 本指南在PostgreSQL 8.3.6上进行了测试。 像这样安装软件包:
installpkg postgresql-<version>-<arch>.tgz
启动PostgreSQL:
chmod +x /etc/rc.d/rc.postgresql
/etc/rc.d/rc.postgresql start
2. Sun Java开发工具包(JDK)
Slackware也没有打包,但是我们可以从Sun获得它。 本指南使用JDK 1.6-1版进行了测试。 从这里下载JDK bin软件包: http : //java.sun.com/javase/downloads/index.jsp 。 bin包是一个自解压缩存档,它在执行时将在工作目录中解压缩自身。 WiKID喜欢JDK在/ opt / jdk
,所以最小阻力的路径是将jdk二进制文件复制到opt文件夹,如下所示:
cp jdk-6u12-linux-i586.bin /opt
cd /opt
chmod +x jdk-6u12-linux-i586.bin # mark it executable
./jdk-6u12-linux-i586.bin # extract it
ln -s jdk1.6_12 jdk # create the symlink for /opt/jdk
3.对于运行PaX / GRSec内核的用户:
您将需要在java和keytool二进制文件上禁用mprotect。 这可以使用paxctl(http://pax.grsecurity.net)完成,像这样:
paxctl -C /opt/jdk1.6_12/bin/java
paxctl -m /opt/jdk1.6_12/bin/java
paxctl -C /opt/jdk1.6_12/bin/keytool
paxctl -m /opt/jdk1.6_12/bin/keytool
4.安装WiKID企业服务器
一旦您拥有WiKID Enterprise Server RPM,请按如下所示进行安装:
rpm -iv wikid-utilities-<version>-noarch.rpm --nodeps
rpm -iv wikid-enterprise-server-<version>-noarch.rpm --nodeps
5.安装PostgreSQL JDBC连接器
下载与PostgreSQL版本和JDK版本相匹配的连接器版本。 将连接器移到/ opt / WiKID / lib
。 我们将需要创建一个符号链接,以便Java可以找到连接器,如下所示:
cd /opt/jdk1.6_12/jre/lib/ext
ln -s /opt/WiKID/lib/postgresql-8.3-604.jdbc4.jar .
6.配置WiKID
这里有趣的部分,黑客的配置脚本。 我们需要做的第一件事是在/opt/WiKID/sbin/wikidserver_config.sh
和/opt/WiKID/sbin/load_db.sh
中修复2个mktemp调用。
wikidserver_config.sh
应该读
tmpfile='mktemp'
init_db.sh
应该读取
TMPLOG='mktemp' || exit 1
现在我们可以继续运行wikidserver_config.sh
:
/opt/WiKID/sbin/wikidserver_config.sh
接下来我们可以运行wikid-firstboot.sh
:
/opt/WiKID/conf/templates/wikid-firstboot.sh
在/ opt / WiKID / conf / database / migrations
下有一个名为cumulative.sql的附加模式更新脚本。 这个脚本应该在启动WiKID时运行,但是我遇到了没有导致WiKID服务器吓倒的实例,我们将手动运行它:
psql -U postgres -d wikid -f /opt/WiKID/conf/database/migrations/cumulative.sql
wikidctl安装需要一个/ etc / sysconfig
目录,即使这个目录在Slackware中没有任何用途,我们将要创建它,以便wikidctl可以设置服务器:
mkdir -p /etc/sysconfig
现在你可以继续运行
/opt/WiKID/bin/wikidctl setup
一旦完成,请务必重新启动PostgreSQL。
现在你可以开始服务器:
opt/WiKID/bin/wikidctl start
我们现在需要修改iptables支持的jsp文件。 如果您已安装并正在使用iptables,请在测试编辑器中打开/opt/WiKID/tomcat/Webapps/WiKIDAdmin/finalProcessNetworkClient.jsp
并修改:
String[] firewallRules = {"/sbin/iptables -I INPUT -p tcp -m state --state NEW -j ACCEPT -m tcp --dport 8388 -s " + ip, "/sbin/iptables -I INPUT -p tcp -m state --state NEW -j ACCEPT -m tcp --dport 10389 -s " + ip, "/sbin/iptables -I INPUT -p tcp -m state --state NEW -j ACCEPT -m tcp --dport 636 -s " + ip, "/sbin/iptables -I INPUT -p tcp -m state --state NEW -j ACCEPT -m tcp --dport 49 -s " + ip, "/sbin/iptables -I INPUT -p tcp -m state --state NEW -j ACCEPT -m tcp --dport 1812 -s " + ip, "/sbin/iptables -I INPUT -p udp -m state --state NEW -j ACCEPT -m udp --dport 1812 -s " + ip,
指向系统上iptables二进制文件的正确位置。
如果您没有使用iptables,请注释下面的代码,如下所示:
//for (int i = 0; i < firewallRules.length; i++) { // Runtime.getRuntime().exec(firewallRules[i]); //}
最后一件事,如果你想使用更新脚本,你需要安装Perl LWP。 这可以通过运行以下操作来完成:
cpan LWP
就这样!
感谢Elazar Broad的贡献。
有关: