Abordaremos a implementação de um ambiente AVA baseado em Moodle e documentar os procedimentos e estratégias adotadas para instalação padronizada desse ambiente. É importante ressaltar que este documento abordará uma proposta simples e rápida de implementação, customizados e padronizados, não todas as soluções que a ferramenta propõe.
Lembrando que dividimos esse post nas seguintes partes:
- Criando um ambiente Moodle: Parte 1 – Introdução
- Criando um ambiente Moodle: Parte 2 – Sugestão de Topologia
- Criando um ambiente Moodle: Parte 3 – Balanceador de Carga
- Criando um ambiente Moodle: Parte 4 – Compartilhamento de Arquivos
- Criando um ambiente Moodle: Parte 5 – Banco de Dados
- Criando um ambiente Moodle: Parte 6 – Aplicação
Você também pode optar em usar o MySQL como uma alternativa ao MariaDB, caso prefira instalar ele, leia nosso post Instalando o MariaDB no CentOS (ou nas referências, abaixo).
Antes de começar a instalação, é importante que você acesse a calculadora do MySQL para verificar as variáveis do MySQL em relação ao consumo de hardware que será ocupado (para evitar prolemas).
Lembre-se que será necessário ter cadastrado o nome DNS desse sistema (altere todas as partes em cinza conforme sua necessidade). Para instalar esse servidor, você vai precisar instalar o servidor CentOS padrão: Caso tenha dúvidas consulte aqui ou no link disponibilizado nas referências.
Criar e Configurar o Servidor de Banco de Dados (MySQL)
Estes procedimentos foram baseados na versão 8 (última versão no momento), caso queira utilizar outra versão, acesse http://www.mysql.com/ e verifique a versão (e o caminho para download) desejado, para isso execute:
cd /
yum install libaio perl-DBI -y
echo "[mysql-8-source]" > /etc/yum.repos.d/mysql-8.repo
echo "name=MySQL8 - Base Sources" >> /etc/yum.repos.d/mysql-8.repo
echo "baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/\$releasever/x86_64/" >> /etc/yum.repos.d/mysql-8.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/mysql-8.repo
echo "enabled=0" >> /etc/yum.repos.d/mysql-8.repo
yum install mysql mysql-server --disablerepo=* --enablerepo=mysql-8-source -y
systemctl enable mysqld.service
Configurar os discos adicionais
Vamos adicionar os seguintes discos:
Novo Disco | Em qual pasta |
/dev/sdb1 | /var/lib/mysql |
/dev/sdc1 | /var/log |
Para executar esse procedimento leia nosso post Adicionar disco no Linux (também disponível nas referências, abaixo), em seguida execute:
mount -a
df
Verifique se as pastas /var/lib/mysql e /var/log estão mapeadas corretamente. Em seguida, execute:
chown mysql:mysql /var/lib/mysql
systemctl start mysqld
mysql_secure_installation
Aparecerá uma tela para confirmar algumas informações, responda da seguinte forma:
Pergunta | O que deverá ser respondido |
Enter current password for root (enter for none): | Apenas pressione ENTER |
Set root password? | Pressione Y e depois pressione ENTER |
New password: | Insira a senha (definida no primeiro post) e pressione ENTER |
Re-enter new password: | Repita a senha e pressione ENTER |
Remove anonymous users? [Y/n] | Pressione Y e depois pressione ENTER |
Disallow root login remotely? [Y/n] | Pressione N e depois pressione ENTER |
Remove test database and access to it? [Y/n] | Pressione Y e depois pressione ENTER |
Reload privilege tables now? [Y/n] | Pressione Y e depois pressione ENTER |
Agora, execute:
touch /var/log/mysql.slow-queries.log
chmod 660 /var/log/mysql.slow-queries.log
chown mysql:mysql /var/log/mysql.slow-queries.log
touch /var/log/mysql.general.log
chmod 660 /var/log/mysql.general.log
chown mysql:mysql /var/log/mysql.general.log
vim /etc/my.cnf
Pressione a tecla INSERT para entrar em modo de edição e adicione as seguintes linhas abaixo da linha [mysqld] (é importante que você acesse a calculadora do MySQL para ter certeza se os valores que irá inserir estão de acordo com a configuração de hardware do seu servidor):
expire_log_days=10 binlog_cache_size=1MB sort_buffer_size=8MB innodb_log_buffer_size=4MB innodb_additional_mem_pool_size=4MB innodb_buffer_pool_size=30GB tmb_table_size=128MB query_cache_size=512MB key_buffer_size=512MB max_connections=1000 log=/var/log/mysql.general.log log-slow-queries=/var/log/mysql.slow-queries.log |
Pressione a tecla ESC para sair do modo de edição e digite :wq! para sair e salvar. Em seguida, execute:
systemctl restart mysqld
Definir retenção de log para 10 dias
Agora vamos configurar o tempo de retenção do log do MySQL para 10 dias, para isso será necessário editar o arquivo /etc/logrotate.d/mysql:
vi /etc/logrotate.d/mysql
Aperte a tecla INSERT do teclado para entrar em modo de edição e deixa-lo da seguinte forma:
/var/log/mysqld.log /var/log/mysql.general.log /var/log/mysql.slow-queries.log { create 660 mysql mysql daily rotate 10 missingok postrotate # just if mysqld is really running if test -x /usr/bin/mysqladmin && \ /usr/bin/mysqladmin ping &>/dev/null then /usr/bin/mysqladmin flush-logs service mysqld restart fi endscript } |
Ao final, pressionar a tecla ESC para sair do modo de edição, digitar :wq! e pressionar ENTER para sair e salvar.
Criar banco de dados para o Moodle
Com o MySQL instalado, acesse o MySQL com o comando abaixo:
mysql -u root -p
Será solicitado a senha do root (definida anteriormente) informe-a, sem seguida (dentro do MySQL) defina o usuário e senha com acesso a este banco (altere as partes em cinza conforme o que foi definido na primeira parte desses posts):
create database nome_da_base;
No comando abaixo, altere a variável do IP do servidor de aplicação do Moodle:
grant all privileges on nome_da_base.* to 'usuario_banco'@'rede_servers/mascara_ciderizada' identified by 'senha_banco';
flush privileges;
quit
Backup e Restore (dump) do banco MySQL
Para fazer um backup e/ou restore, leia nosso post Como fazer Backup e Restore (dump) do banco MySQL (também nas referências, abaixo).
Fontes/Referências
NVLAN – Como fazer Backup e Restore (dump) do banco MySQL
NVLAN – Criando um ambiente Moodle: Parte 1 – Introdução
NVLAN – Criando um ambiente Moodle: Parte 2 – Sugestão de Topologia
NVLAN – Criando um ambiente Moodle: Parte 3 – Balanceador de Carga
NVLAN – Criando um ambiente Moodle: Parte 4 – Compartilhamento de Arquivos
NVLAN – Criando um ambiente Moodle: Parte 6 – Aplicação
NVLAN – Instalação padrão do CentOS7
NVLAN – Instalando o MariaDB no CentOS
NVLAN – MySQL Calculator
NVLAN – Recuperando os acessos do ambiente Moodle
Mais Informações
Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.
Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.