Diferencia entre revisiones de «Recetas/postgresqlbasico»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Requisitos)
(Instalación de phppgadmin)
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 5: Línea 5:
 
== Requisitos ==
 
== Requisitos ==
  
* Debian GNU/Linux Stretch 9.x
+
* Debian GNU/Linux Stretch 9.6
* postgresql-server 9.
+
* postgresql-server 9.6
 
* Conocimiento básico de lenguaje SQL
 
* Conocimiento básico de lenguaje SQL
 
* Tener configurado los repositorios, ver [[Recetas/repositorio]]
 
* Tener configurado los repositorios, ver [[Recetas/repositorio]]
  
 
== Instalación de programas ==
 
== Instalación de programas ==
 +
Vamos a instalar lso programas servidor y el cliente con el metapaquete postgresql. En caso de que solo quisieramos instalar el cliente solo instalamos el paquete postgresql-client.
 +
apt-get install postgresql
  
  
 
== Configuración ==
 
== Configuración ==
 +
 +
=== Configuración de seguridad ===
 +
Las configuraciones de seguridad de postgresql se encuentran en el archivo ''/etc/postgresql/9.6/main/pg_hba.conf'' , para mejorar la seguridad de nuestra instalación,  cambiaremos la configuración para que solo el usuario postgres del sistema operativo sea permitido sin clave en la consola de postgres. Para ello cambiaremos la linea:
 +
 +
  local  all            all                                    peer
 +
La dejaremos como:
 +
  local  all            all                                    md5
 +
 +
Y reiniciamos el postgres
 +
service  postgresql restart
 +
 +
=== Creación de usuario ===
 +
Accedemos como usuario root.
 +
  su
 +
Cambiamos al usuario postgresql
 +
  su postgres
 +
Ingresamos al CLI de postgres
 +
  psql
 +
Verificamos los usuarios que estan registrados en postgres
 +
  postgres=# select * from pg_user;
 +
Creamos el usuario
 +
  postgres# create user prueba with encrypted password 'uls';
 +
 +
=== Creación de la base de datos ===
 +
Listamos las bases de datos que existen actualmente
 +
  postgres=# \l
 +
En el CLI de postgres creamos la base de datos y le asignamos el dueño al usuario.
 +
  postgres=# create database ulsdb with owner prueba;
 +
Verificamos que la base de datos se haya creado correctamente
 +
  postgres=# \l
 +
 +
=== Probando usuario ===
 +
Luego de haber creado la base, nos salimos del CLI de postgresql a la terminal de linux y ejecutamos la siguiente sentencia
 +
  psql  -U prueba ulsdb
 +
 +
Donde la opción -U le indica el usuario que usaremos y el último argumento  (ulsdb) la base de datos a la que nos conectaremos. A continuación nos pedirá la clave de acceso y si fué exitoso, nos mostrará el CLI de postgresql de la siguiente forma:
 +
  ulsdb=>
 +
Que indica que estamos conectado a la base de datos ''ulsdb'' como un usuario normal (carácter >).
 +
 +
=== Creando las tablas ===
 +
Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada
 +
ulsdb=> CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
 +
ulsdb=> CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)  );
 +
Verificamos que la tabla haya sido creada
 +
  ulsdb=> \d
 +
Mostramos los campos de la tabla creada
 +
  ulsdb=> \d aula
 +
 +
=== Insertando datos a las tablas ===
 +
Insertamos datos en la tabla
 +
  ulsdb=> insert into aula values(1,'Computo B1');
 +
  ulsdb=>  insert into aula values(2,'Computo C1');
 +
  ulsdb=>  insert into curso values(1,'redes I',1);
 +
  ulsdb=>  insert into curso values(2,'Sistemas',2);
 +
 +
Verificamos los datos insertados
 +
  ulsdb=>  select * from aula;
 +
  ulsdb=> select * from curso;
 +
Nos salimos del CLI de postgresql
 +
  ulsdb=> \q
 +
 +
== Instalación de phppgadmin ==
 +
 +
  apt-get install phppgadmin
 +
Por defecto phppgadmin solo permite que se conecten desde la misma computadora donde esta instalado, pero si se quiere acceder desde otra computadora en la red, se debe configurar el servidor web, para nuestro caso apache2. El archivo a modificar es ''/etc/apache2/conf-enabled/phppgadmin.conf''.
 +
 +
Comentaremos las línea que contiene
 +
  #Require local
 +
Y reiniciaremos el servidor web apache
 +
  service apache2 restart
 +
Y luego solo abriremos el navegador y escribiremos ''http://<IP DE LA COMPUTADORA>/phppgadmin''
 +
 +
'''Nota:''' Es de tener en cuenta que phppgadmin no tiene en cuentra el cifrado HTTPS por lo que en sí es inseguro.
  
 
== Referencias ==
 
== Referencias ==
 +
* https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04

Revisión actual del 09:08 16 dic 2017

Resumen de la receta

Requisitos

  • Debian GNU/Linux Stretch 9.6
  • postgresql-server 9.6
  • Conocimiento básico de lenguaje SQL
  • Tener configurado los repositorios, ver Recetas/repositorio

Instalación de programas

Vamos a instalar lso programas servidor y el cliente con el metapaquete postgresql. En caso de que solo quisieramos instalar el cliente solo instalamos el paquete postgresql-client.

apt-get install postgresql


Configuración

Configuración de seguridad

Las configuraciones de seguridad de postgresql se encuentran en el archivo /etc/postgresql/9.6/main/pg_hba.conf , para mejorar la seguridad de nuestra instalación, cambiaremos la configuración para que solo el usuario postgres del sistema operativo sea permitido sin clave en la consola de postgres. Para ello cambiaremos la linea:

 local   all             all                                     peer

La dejaremos como:

 local   all             all                                     md5

Y reiniciamos el postgres

service  postgresql restart

Creación de usuario

Accedemos como usuario root.

 su

Cambiamos al usuario postgresql

 su postgres

Ingresamos al CLI de postgres

 psql

Verificamos los usuarios que estan registrados en postgres

 postgres=# select * from pg_user;

Creamos el usuario

 postgres# create user prueba with encrypted password 'uls';

Creación de la base de datos

Listamos las bases de datos que existen actualmente

 postgres=# \l

En el CLI de postgres creamos la base de datos y le asignamos el dueño al usuario.

 postgres=# create database ulsdb with owner prueba;

Verificamos que la base de datos se haya creado correctamente

 postgres=# \l

Probando usuario

Luego de haber creado la base, nos salimos del CLI de postgresql a la terminal de linux y ejecutamos la siguiente sentencia

 psql  -U prueba ulsdb

Donde la opción -U le indica el usuario que usaremos y el último argumento (ulsdb) la base de datos a la que nos conectaremos. A continuación nos pedirá la clave de acceso y si fué exitoso, nos mostrará el CLI de postgresql de la siguiente forma:

 ulsdb=> 

Que indica que estamos conectado a la base de datos ulsdb como un usuario normal (carácter >).

Creando las tablas

Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada

ulsdb=> CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
ulsdb=> CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)   );

Verificamos que la tabla haya sido creada

 ulsdb=> \d

Mostramos los campos de la tabla creada

 ulsdb=> \d aula

Insertando datos a las tablas

Insertamos datos en la tabla

 ulsdb=> insert into aula values(1,'Computo B1');
 ulsdb=>  insert into aula values(2,'Computo C1');
 ulsdb=>  insert into curso values(1,'redes I',1); 
 ulsdb=>  insert into curso values(2,'Sistemas',2); 

Verificamos los datos insertados

 ulsdb=>  select * from aula;
 ulsdb=> select * from curso;

Nos salimos del CLI de postgresql

 ulsdb=> \q

Instalación de phppgadmin

 apt-get install phppgadmin

Por defecto phppgadmin solo permite que se conecten desde la misma computadora donde esta instalado, pero si se quiere acceder desde otra computadora en la red, se debe configurar el servidor web, para nuestro caso apache2. El archivo a modificar es /etc/apache2/conf-enabled/phppgadmin.conf.

Comentaremos las línea que contiene

 #Require local

Y reiniciaremos el servidor web apache

 service apache2 restart

Y luego solo abriremos el navegador y escribiremos http://<IP DE LA COMPUTADORA>/phppgadmin

Nota: Es de tener en cuenta que phppgadmin no tiene en cuentra el cifrado HTTPS por lo que en sí es inseguro.

Referencias