- Download and install Dell OpenManage Server Administrator Managed Node for XenServer6.5 , v8.1.1:
From XenServer host console:cd /tmp
wget http://downloads.dell.com/FOLDER02994001M/1/OM-SrvAdmin-Dell-Web-LX-8.1.1-1583.XenServer65_A00.iso
mount -o loop /tmp/OM-SrvAdmin-Dell-Web-LX-8.1.1-1583.XenServer65_A00.iso /mnt
cd /mnt
./install.sh
cd ..
umount /mnt
- From iDrac web interface, create a user named xenserver (or whatever), with a password not containing complex chars. The user must be created with Administrator privileges.
- In XenCenter go to Host->Properties->Power On, select Remote Access Controller (DRAC) , enter the ip address of the iDrac and credential of iDrac user created.
- Ta-Daaah! Host Power On is enabled!
martedì 24 novembre 2015
Get Host Power On working with Dell iDrac in Citrix XenServer 6.5
venerdì 28 ottobre 2011
Utilizzare mpop come connettore POP alternativo per Exchange
Ci sono valide alternative commerciali al connettore POP3 di Microsoft, come ad esempio MAPILab POP3 Connector, GFI MailEssentials, ma prediligo le soluzioni aperte e gratuite.
Quindi, vagando per la rete in cerca di alternative più aperte e meno costose, mi sono imbattutto in mpop, una alternativa command-line e open source al POP connector di SBS.
Ho scaricato la versione per windows (c'è anche per Linux) e l'ho provato su un server Exchange 2003... funziona!
Ma vediamo come ho fatto:
Innanzitutto, per il corretto funzionamento di mpop è necessario:
- Localizzare correttamente la directory Pickup di Exchange (Per sapere qual è vi rimando all'articolo sulla KB Microsoft KB 822933)
- Che gli indirizzi di posta associati alle cassette postali POP3 siano configurati su degli utenti esistenti sul sistema (ovvero se alla cassetta postale POP3 corrisponde l'indirizzo mailbox_1@mypop3.com lo stesso indirizzo deve esistere nella scheda "Indirizzi di Posta Elettronica" di un utente Active Directory)
Scarichiamo mpop per windows, estraiamo il file mpop.exe dall'archivio zip e mettiamolo su disco (io l'ho messo in C:\progs\mpop), creiamo poi il file di configurazione, chiamiamolo mpoprc.txt:
#File C:\progs\mpop\mpoprc.txt
defaults
# Disattivo TLS (nel mio caso utilizzo un server POP3 senza supporto per autenticazione sicura).
tls off
tls_starttls off
# Giro i messaggi nella directory Pickup di Exchange:
delivery exchange "C:\Programmi\Exchsrvr\Mailroot\vsi 1\PickUp"
# Nel mio caso ho due mailbox
account mailbox_1
# Imposto l'autenticazione
auth user
host mail.mypop3.com
user user_1
password lamiapassword
#Creo un secondo account, copia del primo, e cambio solo nome utente e password
account mailbox_2 : mailbox_1
user user_2
password lamiapassword_2
# Imposto un account di default (anche se non è necessario)
account default : mailbox_1
Per comodità creiamo un file batch, chiamiamolo mpopretrieve.cmd:
REM file c:\progs\mpop\mpopretrieve.cmd
cd c:\progs\mpop
mpop.exe -C mpoprc.txt -a > mpopout.txt
In questo modo diciamo a mpop di leggere la configurazione dal file mpoprc.txt e di scaricare i messaggi da tutti gli account POP. Reindirizziamo poi l'output del comando sul file mpopout.txt.
Per testare il funzionamento, eseguiamo il file mpopretrieve.cmd. A esecuzione completata possiamo aprire il file mpopout.txt e visualizzare l'output:
mailbox_1 at mail.mypop3.com:
new: 1 message in 6.88 KiB, total: 1 message in 6.88 KiB
retrieving message 1 of 1 (6.88 KiB): 0%...100
mailbox_2 at mail.mypop3.com:
new: 1 message in 6.88 KiB, total: 1 message in 6.88 KiB
retrieving message 1 of 1 (6.88 KiB): 0%...100
Controlliamo poi in OWA o in Outlook se l'utente o gli utenti han ricevuto messaggi.
Se tutto è ok, possiamo pianificare l'esecuzione di mpopretrieve.cmd con le Operazioni Pianificate o il nostro scheduler preferito.
giovedì 23 giugno 2011
Installazione di SOGo con Integrazione Active Directory
Vedremo ora tutto il processo di installazione e configurazione di SOGo con login degli utenti da Active Directory.
SOGo per funzionare ha bisogno di:
- Un Database (io ho scelto MySQL, potete anche usare PostgreSQL o Oracle)
- Un server LDAP (nel nostro caso Microsoft Active Directory. Potete utilizzare OpenLDAP o 389 Directory Server)
- Un server IMAP (io ho scelto Dovecot, ma va bene anche Cyrus)
- Un server SMTP (Postfix, ma se volete farvi del male usate pure Sendmail)
1. Preparazione
Prima di arrivare alla configurazione vera e propria di SOGo, è necessario avere una infrastruttura di posta elettronica funzionante. Dobbiamo quindi avere un server IMAP e un server SMTP funzionanti.Seguendo la guida linkata qui sotto arriverete ad avere una buona base di partenza.
Mailbox Virtuali con Dovecot, Postfix e Active Directory
Configurate il DNS: la risoluzione DNS deve funzionare. Aggiungete un record nel DNS, che punta all'ip del vostro server SOGo, che risponda al nome di sogoserver, o quello che vi pare: l'importante è che vi ricordiate di sostituire col vostro nome all'occorrenza.
2. Aggiunta dei Repository
Se utilizzate CENTOS 6
Aggiungiamo il repository di inverse a YUM.Creiamo il file /etc/yum.repos.d/inverse.repo.
[SOGo]
name=Inverse SOGo repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
Potete tranquillamente saltare alla sezione successiva
Se utilizzate CENTOS 5
aggiungiamo il repository di inverse a YUM.Creiamo il file /etc/yum.repos.d/inverse.repo.
[SOGo]
name=Inverse SOGo repository
baseurl=http://inverse.ca/downloads/SOGo/CentOS5/$basearch
gpgcheck=0
In CentOS 5 la semplice aggiunta del repository non è sufficiente, bisogna effettuare alcune modifiche a yum:
Installiamo il plugin yum-protectbase:
yum install yum-protectbase
Modifichiamo il file /etc/yum.repos.d/CentOS-Base.repo:
#Aggiungere nella sezione base
#[base]
protect=1
#Aggiungere nella sezione updates
#[update]
protect=1
Abilitiamo i repository RPMForge:
Modifichiamo il file /etc/yum.repos.d/rpmforge.repo
#Aggiungere nella sezione rpmforge-base
#[rpmforge-base]
exclude=memcached*
4. Configurazione di MySQL
Installiamo MySQL server:
yum install mysql-server
Modifichiamo il file /etc/my.cnf in modo da impostare come set di caratteri predefinito UTF-8.
[mysqld]
character_set_server=utf8
character_set_client=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
Avviamo mysql:
service mysqld start
Entriamo in mysql, creiamo il database per SOGo e creiamo un utente sogo che abbia tutti i privilegi sul database:
mysql
CREATE DATABASE sogo CHARSET='UTF8';
GRANT ALL PRIVILEGES ON sogo.* @'localhost' IDENTIFIED BY 'sogopassword';
quit;
4. Configurazione di SOGo
Installiamo SOGo e il connettore per il database (nel nostro caso MySQL):
yum install sogo
yum install sope49-gdl1-mysql;
Configurazione di Base:
Creiamo una configurazione di base per il nostro SOGo, inseriamo la timezone, la lingua predefinita
su - sogo
defaults write sogod SOGoTimeZone "Europe/Rome"
defaults write sogod SOGoMailDomain "brick.local"
defaults write sogod SOGoLanguage Italian
defaults write sogod SOGoAppointmentSendEMailNotifications YES
defaults write sogod SOGoFoldersSendEMailNotifications YES
defaults write sogod SOGoACLsSendEMailNotifications YES
exit
Aggancio del Server LDAP
SOGo può utilizzare uno o più server (o meglio query) LDAP come database per l'autenticazione o elenchi di indirizzi. Aggiungiamo quindi il server LDAP come sorgente per gli utenti di SOGo.Se non lo avete già fatto create un utente in Active Directory. L'utente deve poter effettuare delle query su LDAP. Io ho creato l'utente adquery con password password.
su - sogo
defaults write sogod SOGoUserSources '({type=ldap; CNFieldName = cn; IDFieldName = cn; UIDFieldName = sAMAccountName; baseDN = "dc=brick,dc=local"; bindDN = "adquery@brick.local"; bindFields = (sAMAccountName); bindPassword = password; canAuthenticate = YES; displayName = "Active Directory"; hostname = brick.local; id = directory; isAddressBook = YES; port = 389;});'
exit
Database MySQL
su - sogo
defaults write sogod SOGoProfileURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_user_profile'
defaults write sogod OCSFolderInfoURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_folder_info'
defaults write sogod OCSSessionsFolderURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_sessions_folder'
exit
Server SMTP
su - sogo
defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer localhost
Server IMAP
su - sogo
defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer localhost
exit
Utente Amministratore
Dobbiamo dire a SOGo quale sarà l'utente amministratore che avrà il privilegio di gestire le condivisioni tramite Web UI.
su - sogo
defaults write sogod SOGoSuperUsernames "(Administrator)"
6. Configurazione di Apache
Per far funzionare la WEB UI, modifichiamo il file /etc/httpd/conf.d/SOGo.conf
RequestHeader set "x-webobject-server-port" "80"
RequestHeader set "x-webobject-server-name" "sogoserver"
RequestHeader set "x-webobject-server-url" "http://sogoserver"
7. Avvio dei servizi
Avviamo i servizi:
service sogod start
service httpd start
Poi aprite il vostro browser preferito e puntatelo su http://sogoserver/sogo. Se appare la schermata di login accedete col vostro utente di prova e fatevi un giretto nella WEB UI.
Aggiungiamo poi i servizi appena installati all'avvio automatico:
chkconfig mysqld on
chkconfig sogod on
chkconfig httpd on
Ora provate a puntare il browser all'indirizzo http://sogoserver/SOGo (attenzione che SOGo deve essere scritto proprio così) e controllate la vostra mail!
lunedì 13 giugno 2011
Mailbox Virtuali con Dovecot, Postfix e Active Directory
Il prodotto finito sarà funzionante ma estremamente semplice: solo IMAP e SMTP, nessun filtraggio dei contenuti, nessuna implementazione di comunicazione sicura. Diciamo che sarà una buona base per ulteriori implementazioni.
Premesse
- Le configurazioni lato linux qui proposte sono realizzate su CentOS.
- Il mio dominio Windows è BRICK.LOCAL. Sostituitelo con il vostro nome di dominio nei file di configurazione.
- In Active Directory abbiamo un utente testuser con password testpassword.
- Il mio indirizzamento di rete è 192.168.98.0/24
- I DNS devono essere configurati correttamente.
- Gli orologi del Domain Controller Active Directory e del server Linux devono essere sincronizzati, o deve esserci una differenza massima di 5 minuti.
- Tenete d'occhio il file /var/log/maillog, è pieno di informazioni utili!
- Dotatevi di un browser LDAP (JXPlorer, ADSI Edit o Softerra LDAP Browser).
1. Installazione dei Pacchetti
Installiamo i pacchetti necessari:
yum install postfix dovecot krb5-workstation pam-krb52. Configurazione di Kerberos
Configuriamo kerberos per autenticarsi con Active Directory:
Modifichiamo il file /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = BRICK.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
BRICK.LOCAL = {
kdc = brick.local:88
admin_server = brick.local:749
default_domain = brick.local
}
[domain_realm]
.brick.local = BRICK.LOCAL
brick.local = BRICK.LOCAL
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
Ho messo nel campo kdc il nome di dominio perché nella configurazione standard del DNS di Active directory al nome di dominio corrisponde il primo Domain Controller disponibile. Provate con il comando "nslookup brick.local"
Testiamo poi il funzionamento di kerberos con il comando:
host -t any _kerberos._tcp.brick.localSe produce una risposta del tipo "_kerberos._tcp.brick.local has SRV record …" è tutto a posto, altrimenti c'è bisogno di ricontrollare la configurazione DNS.
Poi proviamo ad autenticarci:
kinit testuserQuando ci viene chiesto digitiamo la password. Se il comando non produce nessun output con kerberos abbiamo finito, altrimenti ricontrolliamo la configurazione.
3. Configurazione di Dovecot
Configuriamo l'autenticazione PAM per dovecot, sostituendo il contenuto del file /etc/pam.d/dovecot con:
auth sufficient pam_krb5.so no_user_check validate
account sufficient pam_permit.soCreiamo un utente vmail:
useradd vmail -m -s /sbin/nologin -d /var/vmailAnnotiamoci uid e gid dell'utente vmail, ci tornerà utile dopo. Lanciamo il comando
getent passwd | grep vmail
che produrrà un output di questo tipo:
vmail:x:501:501:/var/vmail:/sbin/nologinPer gli utenti di Dovecot 1.x , modifichiamo il file /etc/dovecot.conf
protocols = imap
auth_username_format = %Lu
auth_debug = yes
disable_plaintext_auth = no
ssl_disable = yes
mail_location = maildir:/var/vmail/%n/Maildir
first_valid_uid = 501
last_valid_uid = 501
first_valid_gid = 501
last_valid_gid = 501
valid_chroot_dirs = /var/vmail
protocol lda {
#L'indirizzo del Postmaster per il Local Delivery
postmaster_address = administrator@brick.local
}
auth default {
mechanisms = plain login
passdb pam {
}
userdb static {
args = uid=501 gid=501 home=/var/vmail/%Lu/Maildir/ allow_all_users=yes
}
socket listen {
client {
#Parametri per dovecot-sasl, Postfix utilizza dovecot per inziare una sessione SMTP autenticata
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
master {
#Impostazioni per LDA
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
group = vmail
}
}
}Per gli utenti di Dovecot 2.x, dal momento che lo schema dei file di configurazione è cambiato, bisognerà procedere modificando diversi file:
File /etc/dovecot/conf.d/10-auth.conf
auth_username_format = %Lu
auth_debug = yes
ssl = no
first_valid_uid = 501
last_valid_uid = 501
first_valid_gid = 501
last_valid_gid = 501
File /etc/dovecot/conf.d/auth-system.conf.ext
passdb {
driver = pam
}
userdb {
driver = static
args = uid=501 gid=501 home=/var/vmail/%Lu allow_all_users=yes
}
File /etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
File /etc/dovecot/conf.d/15-lda.conf
postmaster_address = administrator@brick.local
Avviamo poi Dovecot con il comando
service dovecot startTestiamo se l'autenticazione funziona (digitate solo i comandi in grassetto):
telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK Dovecot ready.
a LOGIN testuser testpassword
a OK Logged in.
a EXAMINE INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS ()] Read-only mailbox.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1307972331] UIDs valid
* OK [UIDNEXT 1] Predicted next UID
a OK [READ-ONLY] Select completed.
a LOGOUT
* BYE Logging out
a OK Logout completed.
Connection closed by foreign host.Se il server vi risponde come sopra è tutto ok, altrimenti ricontrollate i file di configurazione e spulciatevi i log.
Per configurare Dovecot in modalità Multi-Tenant, fate riferimento a questo articolo
4. Configurazione di Postfix
Per fare in modo che Postfix riconosca se un indirizzo mail è esistente o meno nella nostra organizzazione, impostiamo un lookup su Active Directory tramite LDAP.
Creiamo prima un utente in Active Directory la cui funzione sarà quella di effettuare le query su LDAP.
Io ho creato l'utente adquery con password password e l'ho messo nell'unità organizzativa System Users.
Il bind DN con Active Directory può essere esplicitato in 3 modi:
- Utilizzando la sintassi LDAP, nel nostro caso CN=adquery,OU=System Users,DC=brick,DC=local
- Utilizzando la la forma utente\DOMINIO, nel nostro caso adquery\BRICK
- Utilizzando la forma utente@dominio, nel nostro caso adquery@brick
Creiamo il file /etc/postfix/ldap-users.cf:
server_host = brick.local
search_base = DC=brick,DC=local
bind = yes
bind_dn = adquery@brick.local
bind_pw = querypassword
query_filter = (&(objectclass=person) (mail=%s))
result_attribute = sAMAccountName
version = 3
result_format=%s/Maildir/ Configuriamo il delivery transport di Dovecot, aggiungendo in fondo al file /etc/postfix/master.cf
# Dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}Modificate il file /etc/postfix/main.cf:
mynetworks_style = subnet
mynetworks = 127.0.0.0/8,192.168.98.0/24
myhostname = mail.brick.local
myorigin = $mydomain
#Autenticazione SASL (postfix utilizza dovecot, che a sua volta si appoggia a Kerberos di Active Directory
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,reject_unauth_destination
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
# Usiamo dovecot lda per recapitare i messaggi nelle mailbox, il transport dovecot è definito nel file /etc/postfix/master.cfvirtual_transport=dovecot
dovecot_destination_recipient_limit=1
virtual_mailbox_domains = brick.local
virtual_mailbox_base = /home/vmail/
#Lo UID e il GID dell'utente vmail, ve lo siete annotati? virtual_uid_maps = static:501
virtual_gid_maps = static:501
# Controlliamo che l'indirizzo del destinatario sia valido e facciamo in modo che dovecot LDA recapiti il messaggio nella posizione corretta
virtual_alias_maps = ldap:/etc/postfix/ldap-users.cf virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cfRiavviamo Postfix:
service postfix restart
E Proviamo a inviare un messaggio (digitiamo i comandi in grassetto):
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.brick.local ESMTP Postfix
HELO brick.local
250 mail.brick.local
mail from brick@brick.local
250 2.1.0 Ok
RCPT TO: testuser@brick.local
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: La vispa...
...Teresa avea tra l'erbetta a volo sorpresa gentil farfalletta ...
.
250 2.0.0 Ok: queued as A6DF511804D
quit
221 2.0.0 Bye
Connection closed by foreign host.Poi controllate sul server IMAP se c'è posta. Se non vi ha scritto nessuno ricontrollate i file di configurazione e buttate un occhio sui log.
Magari, se vi è venuta la sindrome da tunnel carpale a forza di comandi telnet, potete anche configurare il vostro client di posta preferito, così potete testare anche l'autenticazione SMTP. Io vi consiglio Mozilla Thunderbird!
Se tutto funziona, possiamo aggiungere all'avvio automatico Dovecot e Postfix:
chkconfig dovecot on
chkconfig postfix on
Ed ecco pronto il nostro server di posta.
Fonti:
Shami's Blog: FreeBSD, Postfix, Dovecot, and Active Directory
Active Directory and Dovecot PAM Authentication
