====== 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~~