Instalando o Moodle no PostgreSQL e CentOS 6.x

Introdução

PostgreSQL é um sistema poderoso, open-source objeto-relacional banco de dados. Funciona sob todos os principais sistemas operacionais, incluindo Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS, Solaris, Tru64) e MAC.

PostgreSQL 9.6 foi lançado no mês passada com grandes melhorias, correções e recursos. Leia o que há de novo no PostgreSQL 9.6 aqui .

Neste tutorial útil, vamos ver como instalar o PostgreSQL 9.6 no CentOS 6.

Instalando o PostgreSQL

Na página de download, localize o repositório de PostgreSQL 9.6, dependendo da sua arquitetura de servidor. No caso do CentOS 6.8 64 bits é o seguinte:

rpm -Uvh http://yum.postgresql.org/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Este comando acima adicionou o repositório do PostgreSQL ao seu CentOS.

Agora vamos atualizar a lista de repositórios usando o comando:

yum -y update

Agora, instalar o PostgreSQL com o seguinte comando:

yum -y install postgresql96-server postgresql96-contrib

Inicializar banco de dados PostgreSQL usando seguinte comando:

service postgresql-9.6 initdb

Em seguida, iniciar o serviço PostgreSQL e torná-lo para iniciar automaticamente em cada reinicialização.

service postgresql-9.6 start
chkconfig postgresql-9.6 on

Acessando o PostgreSQL por linha de comando

O nome do banco de dados padrão e usuário do banco são "postgres". Vamos acessar oPostgreSQL é necessário sair deROOT para o usuário postgres e isso se faz com o seguinte comando:

su - postgres

Para acessar o PostgreSQL, digite o comando:

psql

Nesta hora você verá a seguinte informação:

-bash-4.1$ psql
psql (9.6beta1)
Type "help" for help.
 
postgres=#

Para sair do prompt PosgreSQL, digite \q seguido de exit para voltar para o terminal.

postgres=# \q
-bash-4.1$ exit
logout
[root@moodle-em-postgresql-2 ~]#

Definindo uma senha pata o usuário "postgres"

Primeiro logando como postgres:

su - postgres
psql

 Após, definindo nova senha com o seguinte comando:

\password postgres

Neste ponto pedirá para digitar e conformar a senha:

[root@moodle-em-postgresql-2 ~]# su - postgres
-bash-4.1$ psql
psql (9.6beta1)
Type "help" for help.
 
postgres=# \password postgres 
Enter new password: 
Enter it again: 
postgres=#

Criar o usuário e banco de dados para o Moodle

Vamos criar um novo usuário chamado "moodleuser" com a senha "moodlesenha" , e banco de dados chamado "moodle" .

Execute \q para sair do postgree:

postgres=# \q
-bash-4.1$ 

 Criando o usuario moodleuser:

createuser moodleuser

Criando a base de dados moodle:

createdb moodle

 Agora, faça o login no prompt do psql, e definir a senha e acesso Grant ao banco de dados moodle para moodleuser:

psql

 Execute os dois comandos abaixo:

alter user moodleuser with encrypted password 'moodlesenha';
grant all privileges on database moodle to moodleuser;

 A saída completa será:

-bash-4.1$ createuser moodleuser
-bash-4.1$ createdb moodle
-bash-4.1$ psql
psql (9.6beta1)
Type "help" for help.
 
postgres=# alter user moodleuser with encrypted password 'moodlesenha';
ALTER ROLE
postgres=# grant all privileges on database moodle to moodleuser;
GRANT
postgres=# 

Configurando a autenticação PostgreSQL-MD5, necessária ao Moodle

Autenticação MD5 requer que o cliente forneça uma senha criptografada-MD5 para autenticação. Para fazer isso, editar o arquivo /var/lib/pgsql/9.6/data/pg_hba.conf:

nano /var/lib/pgsql/9.6/data/pg_hba.conf

Vá ao final do arquivo e modifique as linhas como mostrado abaixo:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.0/24          md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Reinicie o serviço PostgreSQL para aplicar as alterações:

service postgresql-9.6 restart

instalando Apache e PHP7

Para instalar o PHP7 e o apache, execute os seguintes comandos:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

yum -y update
yum -y install php70w php70w-gd php70w-intl php70w-mbstring php70w-mcrypt php70w-opcache php70w-pgsql php70w-soap php70w-xml php70w-xmlrpc httpd

Inicie o apache:

 service httpd start

Instalando o Moodle

Para criar a pasta Moodledata e permissão, execute:

 mkdir /var/www/moodledata
chown apache:apache /var/www/moodledata
chmod +w /var/www/moodledata

Baixe o Moodle 3.1 com o seguinte comando:

cd /var/www/html/
wget https://download.moodle.org/download.php/direct/stable31/moodle-latest-31.zip 
unzip moodle-latest-31.zip

Agora só acessar o servidor

Como eu instalei apenas o Drive do PostgreSQL, somente ele aparece como disponível:

Agora coloque os dados que você usou ao criar o banco de dados:

Clique em próximo e um erro normal acontece:

Acontece, porque o PHP não tem permissão de escrita neste arquivo. Por segurança não de:

No terminal execute:

 nano moodle/config.php

E cole o que esta em cinza na página. Salve e prossiga.

100% dos requisitos OK. Pronto, agora é só finalizar a instalação.

Fique por dentro de nossas novidades, ideias e atualizações