我最近制作了一个运行 apache mysql 和 php 的 centos lamp 服务器。我在服务器上安装并运行了 wordpress 和 phpbb3。Linux 服务器与 Windows 2003 服务器在同一栋大楼内运行。有没有办法连接 Linux 和 Windows 服务器,以便只有用户在其计算机上登录 Windows 帐户后才能查看我的网站和论坛?
截至目前,任何在建筑物内并通过以太网连接的人都可以访问我的网站和论坛。我想我应该将其限制为 Windows 域中的指定用户。我看到了一些关于 ldap 和 active directory 的内容,但这只会让我更加困惑。这是我第一次设置任何形式的服务器。
答案1
Kerberos 可以工作,但在这种情况下,单独使用 LDAP 可能更容易。将以下内容放入 wordpress 站点的 VirtualHost 设置中。使用此配置,ldap.company.com 需要解析到您的 AD 全局目录,并且您需要一个 IDldap-auth-svc密码为密碼因此 Apache 有权访问 AD 来验证用户。您可能需要添加一行 *Require ldap-group 。最后您需要a2enmod authnz_ldap
AuthBasicProvider ldap
AuthType basic
AuthName "Use email as username"
AuthLDAPURL "ldap://ldap.company.com:3268/ dc=company,dc=com?mail?sub?(&(objectClass=user)(!(objectClass=computer)))"
AuthLDAPBindDN "CN=ldap-auth-svc,OU=ldap,OU=services,DC=site,DC=company,DC=com"
AuthLDAPBindPassword Secretpassword
AuthzLDAPAuthoritative on
Order allow,deny
require valid-user
Allow from all
对于 Kerberos 你需要类似下面的内容,但它不会检查组成员身份:
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
Krb5KeyTab /etc/krb5.keytab
require valid-user
答案2
您可以使用身份验证机制来访问网站。如果您想使用域用户身份验证,有两个不错的选择:
设置 kerberos/negotiate/ntlm 身份验证代理服务器(乌贼、TMG 等)并仅允许通过它进行访问
更新:
如果您没有域名,那么您唯一可以在没有密码验证的情况下做的事情就是使用 apache 的访问控制指令允许来自您网络的某些 IP 地址访问: http://httpd.apache.org/docs/2.2/howto/access.html
您必须确保机器 IP 地址不会改变并且是静态的。