Salı, Temmuz 15, 2008

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 3

Gelelim fasulyenin faydalarına:)

Şunu da yazmam lazımdır ki burada yazılanlar hatalı olabilir ve kendi sisteminizde denediğinizde sisteminizi çalışmaz hale getirebilir. Use at your own risk.

Önce kurulum:
ftp sunucu için vsftpd,
yetenekli ftp istemci için ncftp,
ssh sunucu için openssh-server

#apt-get install vsftpd
#apt-get install ncftp
#apt-get install openssh-server


vsftp2'nin anonymous dışındaki bağlantılara izin vermesi için /etc/vsftp.conf dosyasında local_enable=YES satırındaki #'i kaldırıp vsftpyi yeniden başlatıyoruz.

#nano /etc/vsftp.conf
#/etc/init.d/vsftpd restart

Kurulumları test edelim:

#ncftp -u kemal localhost
Login successful.
Logged in to localhost.
#ssh -l kemal localhost
bu da successful

Şimdi ldapla ilgili kurulumlar.
ldap sunucu için slapd - OpenLDAP server (slapd),
web'den ldap'ı yönetmek için: apache2, php5, phpldapadmin
ldap komutları ... için ldapscripts

#apt-get install apache2
#apt-get install php5
#apt-get install phpldapadmin
#apt-get install slapd
#apt-get install ldapscripts


Sorun yok. http://localhost/phpldapadmin/ adresine baktığımızda şöyle bir görüntü olmalı:
Malesef base entry eklemeden, /etc/ldap/slapd.conf ve /etc/ldap/ldap.conf dosyalarını düzenlemeden henüz login olamıyoruz. Ayrıca daha sonra ssl kullanarak güvenliği arttırmalıyız.
Daha ayrıntılı bilgi için http://www.openldap.org/doc/admin23/quickstart.html

#nano /etc/ldap/slapd.conf
    database bdb
    suffix "dc=,dc="
    rootdn "cn=Manager,dc=,dc="
    rootpw secret
    directory /usr/local/var/openldap-data

burada değiştirdiğm satırlar:

suffix "dc=nodomain"

rootdn "cn=admin,dc=nodomain"

rootpw'yi de daha sonra şifreli tutmak gerekicek.

base entry eklemek için önce bir ldif dosyası oluşturuyoruz:

# nano base.ldif
dn: dc=nodomain
objectclass: dcObject
objectclass: organization
o: Ev
dc: nodomain

dn: cn=admin,dc=nodomain
objectclass: organizationalRole
cn: admin
#ldapadd -x -D "cn=admin,dc=nodomain" -W -f base.ldif
komutuyla oluşturduğumuz kök düğümü ldap'a aktardık. base.ldif dosyasında satırların başındaki boşlukları silmeden hata veriyor.

Test için

ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'

# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# nodomain
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain

# admin, nodomain
dn: cn=admin,dc=nodomain
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Artık phpldapadmin ile webdeb login olabileceğimi düşünürken hata alıyorum. Daha önce de aynı problemi yaşamıştım ve birkaç saat aramayla çözmüştüm. Keşke o zaman bu blog girdisini yazsaymışım diyorum ama neyseki fazla aramadan bulabildim bu sefer.

#nano /etc/phpldapadmin/config.php
burada
$ldapservers->SetValue($i,'login','attr','dn');
yerine
$ldapservers->SetValue($i,'login','attr','cn');

yapıyoruz. Tamam artık login ekranını görelim:

1 yorum:

mete dedi ki...

Hocam artık vi kullanın. nano nano nereye kadar...