====== Instalação e configuração do Active Directory ======
===== - Requisitos =====
Antes de iniciar, verifique se o seu servidor possui:
* Endereço IP fixo e válido;
* Nome do servidor definido (ad.seucampi);
* Sufixo DNS: ifce.edu.br;
* Atualizações instaladas;
* Firewall Habilitado;
* Acesso à internet;
===== - Especificações da máquina =====
|Processador|Intel Xeon 2.6GHz|
|Memória|8GB|
|HD|120GB|
===== - Instalação =====
1 - Clique em **Start**, **Run** e digite **dcpromo.exe**. Será carregado o **Active Directory Domain Service Installation Wizard**. Clique em **Next** para continuar.
{{:dgti:activedirectory:001_ad.png|}}
2 – Em **Operating System Compatibility** é exibido um alerta sobre o novo padrão de segurança do Windows Server 2008, o qual informa que ele poderá causar um impacto em clientes Windows NT 4.0, clientes não Microsoft SMB e dispositivos NAS (Network Attached Storage) que não suportam algoritmo de criptografia forte. Clique em **Next** para continuar.
{{:dgti:activedirectory:002_ad.png|}}
3 - Selecione a opção **Create a new domain in a new forest** e em seguida clique em **Next**.
{{:dgti:activedirectory:003_ad.png|}}
4 - Em **Name the Forest Root Domain** você irá definir o nome do domínio raiz da floresta. Esse nome também será o nome da sua floresta. Digite **adproducao.ifce.edu.br** seguida clique em **Next**. O assistente de instalação do Active Directory irá verificar se o nome FQDN e NetBIOS escolhidos já estão em uso na floresta. Caso não esteja, o assistente irá prosseguir para a próxima etapa.
{{:dgti:activedirectory:004_ad.png|}}
5 - Selecione nível de floresta Windows Server 2003 e em seguida clique em **Next**.
{{:dgti:activedirectory:005_ad.png|}}
6 – Em **Set Domain Functional Level** selecione **Windows Server 2003** e clique em **Next**.
{{:dgti:activedirectory:006_ad.png|}}
7 – Em **Additional Domain Controller Options** permite você incluir opções adicionais no Domain Controller. Selecione a opção **DNS server** em seguida clique em **Next**.
{{:dgti:activedirectory:007_ad.png|}}
8 - Será exibido um alerta informando que a delegação para o DNS Server não pode ser criada. Essa mensagem pode ser ignorada, porque o serviço de DNS Server ainda não está instalado e configurado no Domain Controller, o qual será feito pelo assistente de instalação do Active Directory. Clique no botão **Yes**.
{{:dgti:activedirectory:008_ad.png|}}
9 - Em **Location for Database**, **Log Files** e **SYSVOL** você irá definir onde será armazenado o database, os arquivos de log e a pasta SYSVOL. Deixe os valores padrões e clique em **Next**.
{{:dgti:activedirectory:009_ad.png|}}
10 - Em **Directory Services Restore Mode Administrator Password** digite uma senha, a qual será utilizada quando esse Domain Controller for iniciado em Restore Mode e em seguida clique em **Next**.
{{:dgti:activedirectory:010_ad.png|}}
11 - Em **Summary** você irá visualizar todas as opções escolhidas com o assistente de instalação do Active Directory. Você também tem a opção de exportar as configurações para serem utilizadas em um arquivo de resposta em uma futura instalação, sendo necessário somente clicar no botão Export settings e salvar o arquivo em um local seguro. Clique em **Next** para continuar.
{{:dgti:activedirectory:011_ad.png|}}
12 – Nesse momento o assistente de instalação do Active Directory irá instalar e configurar o serviço de DNS, o próprio Active Directory e todas as demais opções necessárias. Aguarde até o termino da instalação.
{{:dgti:activedirectory:012_ad.png|}}
13 - Quando for exibida a tela a instalação do Active Directory terá sido completada. Clique em **Finish**.
{{:dgti:activedirectory:013_ad.png|}}
14 - Clique no botão **Restart Now**.
{{:dgti:activedirectory:014_ad.png|}}
===== - Acessando a Máquina Virtual pelo Linux =====
Para acessar a máquina virtual é necessário a instalação do pacote rdesktop. Digite no terminal:
apt-get install rdesktop
Para acessar use o comando a seguir:
**rdesktop -u "adproducao.ifce.edu.br\Administrator" -p [senha] -g 1024x768 [ip] -r disk:share=[diretorio_compartilhado]**
===== - Criando a Unidade Organizacional IFCE =====
1 - Clique em **Start**, **Administrate Tools**, **Active Directory Administrative Center**
2 - Selecione e clique como botão direito do mouse em **adproducao** e selecione **New**, **Organizational Unit**.
3 - Em **Name**, coloque **IFCE**.
{{:dgti:activedirectory:016_ad.png|}}
===== - Active Directory com SSL =====
Passos:
4.1. Instalar o Internet Information Server (IIS).
4.2. Instalar o Certificate Authority Services no modo stand-alone.
4.3. Verificar se a aplicação web Certificate Services está instalado e ativo.
==== - Instalação do Active Directory Certificate Services ====
4.1.1. - Como administrador, clique em **Start**, **Administrate Tools**, **Server Manager**
4.1.2. - Na aba **Roles Summary** clique em **Add Roles**.
{{:dgti:activedirectory:017_ad.png|}}
4.1.3. - Uma nova janela será aberta selecione o Serviço de Certificado do Active Directory e depois em **avançar**.
{{:dgti:activedirectory:018_ad.png|}}
4.1.4. - Um breve descritivo sobre o serviço de Certificado (CA), clique em **avançar**.
{{:dgti:activedirectory:019_ad.png|}}
4.1.5. - Na tela **Select Server Roles** selecione **Active Directory Certificate Services** e **Web Server (IIS)**. Clique em adicionar as funções requeridas.
{{:dgti:activedirectory:020_ad.png|}}
4.1.6. - Em **Select Role Services**, selecione **Certification Authority** e **Certification Authority Web Enrollment**.
{{:dgti:activedirectory:021_ad.png|}}
4.1.7. - Em **Specify Setup Type** selecione **Enterprise**.
{{:dgti:activedirectory:022_ad.png|}}
4.1.8. - Em **Specify CA Type**, selecione **Root CA**.
{{:dgti:activedirectory:023_ad.png|}}
4.1.9 - Em **Set Up Private Key** clique em **Create a new private key**.
{{:dgti:activedirectory:024_ad.png|}}
4.1.10 - Em **Configure CA Name** aceite os valores padrão.
{{:dgti:activedirectory:025_ad.png|}}
4.1.11 - Em **Configure cryptography for CA**, selecione **Microsoft Software Key Storage Provider**. Em **Key character length** digite 2048 e em **Select the hash algorithm** selecione SHA1.
{{:dgti:activedirectory:026_ad.png|}}
4.1.12. - Em **Set Validity Period** digite o período de Validade do Certificado.
{{:dgti:activedirectory:027_ad.png|}}
4.1.13. - Em **Configure Certificate Database** aceite os valores padrões ou especifique locais de armazenamento para o banco de dados de certificados e o log desse banco de dados.
{{:dgti:activedirectory:028_ad.png|}}
4.1.14. - Um breve descritivo sobre o serviço Internet IIS, clique em avançar.
{{:dgti:activedirectory:029_ad.png|}}
4.1.15. - Mantenha as opções padrões conforme especificado.
{{:dgti:activedirectory:030_ad.png|}}
4.1.16. - Uma tela de confirmação de tudo que será instalado, clique em instalar.
{{:dgti:activedirectory:031_ad.png|}}
4.1.17. - Aguarde o progresso da instalação.
{{:dgti:activedirectory:032_ad.png|}}
4.1.18. Abra o console do Gerenciador do IIS (Start - Administrative Tools - Internet Information Services (IIS) Manager).
Expanda computador local e selecione Default Web Sites. O estado de site padrão deve estar em execução. Você também deve ver uma aplicação CertSrv listado.
4.1.19. Reinicie o servidor.
==== - Criando o Certificado no Servidor ====
Os passos anteriores descrevem como instalar a autoridade de certificação (CA) no servidor do Microsoft Active Directory. Em seguida, você precisa adicionar o certificado SSL do servidor do Microsoft Active Directory
4.2.1. Clique em **Iniciar**, **Executar**, **cmd**.
4.2.2. No prompt de comando, digite os comandos abaixo:
c:
certutil -ca.cert client_ad_producao.crt
4.2.3. É necessário enviar o arquivo client_ad_producao.crt para o computador cliente (neste caso, a máquina onde está o SUAP Produção e outras máquinas que utilizarão os comandos de ldap do SUAP).
4.2.4. No computador cliente dê dois cliques no certificado importado (se estiver usando uma GUI como o Gnome ou Unity) ou na linha de comando digite:
sudo keytool -import -keystore ./jre/lib/security/cacerts -file server-certificate.crt
4.2.5. Agora você pode usar a opção "SSL seguro 'ao conectar seu aplicativo para seu servidor de diretório.
===== - Testar a conectividade com o LDAPS =====
Digite **Start**, **Run** e digite **ldp**.
Selecione **Connection**, **Connect** e digite os seguintes dados:
{{:dgti:activedirectory:033_ad.png|}}
Em caso de sucesso, uma janela é mostrada contendo a mensagem "Established connection to localhost".
ld = ldap_sslinit("localhost", 636, 1);
Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 0 = ldap_connect(hLdap, NULL);
Error 0 = ldap_get_option(hLdap,LDAP_OPT_SSL,(void*)&lv);
Host supports SSL, SSL cipher strength = 128 bits
Established connection to localhost.
Retrieving base DSA information...
Getting 1 entries:
====== - Extendendo o schema do exchange ======
Não é instalar o exchange, apenas estender o schema, isto é, acrescentar os atributos do exchange no AD. O SUAP utiliza quatro atributos (extensionAttribute1, extensionAttribute2, extensionAttribute3 e extensionAttribute10) que extensões do Microsoft Exchange.
- baixar o instalador do exchange (Exchange2010-x64)
- Dê dois cliques no arquivo Exchange2010-x64 e extraia os arquivos em c:\exchange
- Abrir o Windows Powershell
- Digitar o comando abaixo para acessar a pasta c:\exchange
- cd c:\exchange
- Executar o comando:
- .\setup.com /PrepareAD /OrganizationName:IFCE
- Aguarde a instalação
{{:dgti:activedirectory:034_ad.png|}}
===== - Criando o grupo G_SERVIDORES =====
- Clicar em **Start**, **Administrative Tools**, **Active Directory Users and Computers**.
- Clica no domínio com o botão direito e selecione **New**, **Group**.
{{:dgti:activedirectory:035_ad.png|}}
- Crie o grupo **G_SERVIDORES**.
{{:dgti:activedirectory:036_ad.png|}}
===== Ajustes a serem feitos antes de realizar a importação dos alunos =====
AJUSTE 1 - Durante a primeira importação o sistema ainda não possui nenhum histórico de importação. Portanto deve ser criado um registro na tabela edu_historicoimportacao da seguinte forma
id = 1
data = 2014-08-05
total_alunos_criados = 0
total_alunos_atualizados = 0
total_matriculas_periodo_criadas = 0
total_matriculas_periodo_atualizadas = 0
Isso pode ser feito a nível de banco ou modificando o arquivo suap/edu/management/commands/edu_importar_dados da forma como apresentada abaixo:
historico = HistoricoImportacao()
historico.data = datetime.datetime.now()
historico.total_alunos_criados = 0
historico.total_alunos_atualizados = 0
historico.total_matriculas_periodo_criadas = 0
historico.total_matriculas_periodo_atualizadas = 0
historico.save()
AJUSTE 2 - A importação do Q-Acadêmico para o SUAP necessita a execução do SQL abaixo na base de dados do Q-Acadêmico.
CREATE TABLE sincronizacao (
cod_matricula INT NOT NULL,
dt_atualizacao DATE NOT NULL
);
GO
INSERT INTO sincronizacao (cod_matricula, dt_atualizacao)
SELECT COD_MATRICULA, (SELECT CAST(DATEADD(d,-1,GETDATE()) AS DATE) AS Yesterday) FROM MATRICULAS order by cod_matricula;
CREATE INDEX XAK1SINCRONIZACAO_DT
ON sincronizacao (dt_atualizacao);
GO
CREATE INDEX XAK1SINCRONIZACAO_COD
ON sincronizacao (cod_matricula);
GO
CREATE TRIGGER trg_matriculas_sincronizacao
ON matriculas AFTER INSERT, UPDATE AS
BEGIN
MERGE sincronizacao AS s
USING (SELECT cod_matricula FROM inserted) AS i (cod_matricula)
ON (s.cod_matricula = i.cod_matricula)
WHEN MATCHED THEN
UPDATE SET dt_atualizacao = GETDATE()
WHEN NOT MATCHED THEN
INSERT (cod_matricula, dt_atualizacao)
VALUES (i.cod_matricula, GETDATE());
END
GO
CREATE TRIGGER trg_pessoas_sincronizacao
ON pessoas AFTER UPDATE AS
BEGIN
MERGE sincronizacao AS s
USING (SELECT m.cod_matricula FROM inserted INNER JOIN alunos a ON a.cod_pessoa = inserted.cod_pessoa INNER JOIN matriculas m on a.cod_aluno = m.cod_aluno) AS i (cod_matricula)
ON (s.cod_matricula = i.cod_matricula)
WHEN MATCHED THEN
UPDATE SET dt_atualizacao = GETDATE()
WHEN NOT MATCHED THEN
INSERT (cod_matricula, dt_atualizacao)
VALUES (i.cod_matricula, GETDATE());
END
GO
CREATE TRIGGER trg_matriculas_periodos_sincronizacao
ON matriculas_periodos AFTER INSERT, UPDATE AS
BEGIN
MERGE sincronizacao AS s
USING (SELECT cod_matricula FROM inserted GROUP BY cod_matricula) AS i (cod_matricula)
ON (s.cod_matricula = i.cod_matricula)
WHEN MATCHED THEN
UPDATE SET dt_atualizacao = GETDATE()
WHEN NOT MATCHED THEN
INSERT (cod_matricula, dt_atualizacao)
VALUES (i.cod_matricula, GETDATE());
END
GO
AJUSTE 3 - Cadastrar os anos usando a URL: http://suap.ifce.edu.br/admin/comum/ano/
AJUSTE 4 - Definir o prefixo_matricula antes de realizar a importação dos alunos (arquivo edu/management/commands/edu_importar_dados.py).
IMPORTAÇÃO DOS ALUNOS NO SUAP
comando:
python manage.py edu_importar_dados
1 - importar as diretorias
OBS: para importar as diretorias deve ser usado o import abaixo no arquivo edu/management/commands/edu_importar_dados.py
from edu.q_academico2 import DAO
Para os demais use o:
from edu.q_academico import DAO
dao = DAO()
dao.importar_diretorias()
‘’’dao.importar_cursos_campus(verbose)
dao.importar_situacoes_matricula(verbose)
dao.importar_situacoes_matricula_periodo(verbose)
alunos_criados, alunos_atualizados = dao.importar_alunos(prefixo_matricula=prefixo_matricula,verbose=verbose)
matriculas_periodo_criadas, matriculas_periodo_atualizadas = dao.importar_matriculas_periodo(prefixo_matricula=prefixo_matricula,verbose=verbose)
dao.atualizar_historico()
dao.atualizar_username()
historico = HistoricoImportacao()
historico.data = datetime.datetime.now()
historico.total_alunos_criados = alunos_criados
historico.total_alunos_atualizados = alunos_atualizados
historico.total_matriculas_periodo_criadas = matriculas_periodo_criadas
historico.total_matriculas_periodo_atualizadas = matriculas_periodo_atualizadas
historico.save()
2 - importar_cursos_campus
3 - importar_situacoes_matrícula
4 - ativar as seguintes situações (http://suap.ifce.edu.br/admin/edu/situacaomatricula/)
Aguardando Colação de Grau
Aguardando ENADE
Concludente
Estagiario (Concludente)
Intercâmbio
Matriculado
Trancado
5 - importar_situacoes_matricula_periodo
6 - Importar os professores
./manage.py edu_importar_professores
-----------
Última revisão: ~~LASTMOD~~