... | ... | @@ -37,15 +37,29 @@ Opciones: |
|
|
|
|
|
> **[!] Importante [!]**: es recomendable poner una contraseña robusta para el usuario creado, para evitar ataques de fuerza bruta. Obviar el uso de usuario/contraseña = dspace.
|
|
|
|
|
|
Cerrar sesión del usuario postgres
|
|
|
|
|
|
```sh
|
|
|
exit
|
|
|
```
|
|
|
|
|
|
## Crear la base de datos dspace
|
|
|
Para crear un usuario en postgres, seguir la guía [app-createdb](https://www.postgresql.org/docs/10/app-createdb.html)
|
|
|
|
|
|
Con la sesión del usuario postgres activa, comprobar si no existe una BD con el mismo nombre
|
|
|
Iniciar sesión con el usuario postgres
|
|
|
|
|
|
```sh
|
|
|
sudo su postgres
|
|
|
```
|
|
|
|
|
|
Comprobar si no existe una BD con el mismo nombre
|
|
|
|
|
|
```sh
|
|
|
dropdb --if-exists dspace
|
|
|
```
|
|
|
|
|
|
Para crear la BD, ejecutar:
|
|
|
|
|
|
```sh
|
|
|
createdb --encoding=UNICODE --owner=dspace dspace
|
|
|
```
|
... | ... | @@ -59,4 +73,83 @@ Opciones: |
|
|
- `-E encoding` o `--encoding=encoding`: Especifica el esquema de codificación de caracteres que se utilizará en esta base de datos. Ver [juegos de caracteres admitidos por PostgreSQL](https://www.postgresql.org/docs/10/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED)
|
|
|
- `-O owner` o `--owner=owner`: Especifica el usuario que será propietario de la nueva base de datos.
|
|
|
|
|
|
> **[!] Importante [!]**: es recomendable no usar "dspace" como nombre de la base de datos. |
|
|
\ No newline at end of file |
|
|
> **[!] Importante [!]**: es recomendable no usar "dspace" como nombre de la base de datos.
|
|
|
|
|
|
Cerrar sesión del usuario postgres
|
|
|
|
|
|
```sh
|
|
|
exit
|
|
|
```
|
|
|
|
|
|
## Probar la conexión a la BD
|
|
|
Con la sesión del usuario postgres activa, ejecutar
|
|
|
|
|
|
```sh
|
|
|
psql --host=localhost --username=dspace --password
|
|
|
```
|
|
|
|
|
|
## Permitir que el usuario dspace se conecte a la base de datos
|
|
|
### Archivo pg_hba.conf
|
|
|
El archivo pg_hba.conf. Este fichero se utiliza para definir los diferentes tipos de accesos que un usuario tiene en el cluster PostgreSQL. Todas las lineas que empiezen con el caracter # se interpretan como comentarios. El resto debe de tener el siguiente formato:
|
|
|
|
|
|
```bash
|
|
|
[Tipo de conexion] [database] [usuario] [IP] [Netmask] [Tipo de autenticación] [opciones]
|
|
|
```
|
|
|
Dependiendo del tipo de conexión y del tipo de autenticación, [IP],[Netmask] y [opciones] pueden ser opcionales. A su vez, el tipo de conexión puede tener los siguientes valores: local, host, hostssl y hostnossl. El tipo de autenticación puede ser: trust, reject, md5, crypt, password, krb5, ident, pam o ldap
|
|
|
|
|
|
Ejemplo: Acceso por tcp/ip (red) a la base de datos test001, como usuario test desde todos los ordenadores de la red 10.0.0.0, con mascara de red 255.255.255.0 (254 ordenadores en total) y método de autenticación md5:
|
|
|
|
|
|
```bash
|
|
|
host test001 test 10.0.0.0 255.255.255.0 md5
|
|
|
```
|
|
|
|
|
|
Esta misma entrada se podría escribir también con la mascara de red en notación [CIDR](https://www.ionos.es/digitalguide/servidores/know-how/classless-inter-domain-routing/):
|
|
|
|
|
|
```bash
|
|
|
host test001 test 10.0.0.0/24 md5
|
|
|
```
|
|
|
|
|
|
Para más información ver [Auth pg_hba.conf](https://www.postgresql.org/docs/10/auth-pg-hba-conf.html)
|
|
|
|
|
|
Para permitir que el usuario dspace se conecte con su base de datos, hay que modificar el siguiente archivo:
|
|
|
|
|
|
```bash
|
|
|
sudo nano /etc/postgresql/[xx]/main/pg_hba.conf
|
|
|
```
|
|
|
|
|
|
Agregar lo siguiente al final del archivo (también se puede agregar un comentario para diferenciar)
|
|
|
|
|
|
```bash
|
|
|
local dspace dspace md5
|
|
|
```
|
|
|
|
|
|
Si la BD se encuentra en un servidor aparte, habrá que configurar la conexión de la siguiente manera:
|
|
|
|
|
|
```bash
|
|
|
host dspace dspace [ip remoto]/24 md5
|
|
|
```
|
|
|
|
|
|
Guardar el archivo y cerrar
|
|
|
|
|
|
### Archivo postgresql.conf
|
|
|
La configuración por defecto permite que el Servidor PostgreSQL tan solo escuche las conexiones procedente de los clientes locales. Por lo que no permite conexiones en remoto. No obstante esto se puede resolver configurando el parámetro _listen_addresses_ del archivo de configuración de PostgreSQL.
|
|
|
Si establecemos un asterisco (*) en el parámetro _listen_addresses_, permitirá que el Servidor PostgreSQL pueda escuchar en cualquier dirección IP ó nombre de host, independientemente de las direcciones IPs.
|
|
|
|
|
|
> **(!) Atención (!)**: Configurar postgresql.conf sólo si el servidor de base de datos se encuentra separado
|
|
|
|
|
|
Abrir el archivo postresql.conf
|
|
|
|
|
|
```bash
|
|
|
sudo nano /etc/postgresql/[xx]/main/postgresql.conf
|
|
|
```
|
|
|
|
|
|
Agregar al final del archivo:
|
|
|
|
|
|
```bash
|
|
|
listen_addresses = '*'
|
|
|
```
|
|
|
|
|
|
## Reiniciar el servidor de postgresql
|
|
|
```bash
|
|
|
service postgresql restart
|
|
|
``` |
|
|
\ No newline at end of file |