root@ordenata:~$ apt-get
install apache2 php5 postgresql php5-pg*
→ Apache
→ php5
→ postgresql
→ las librerías de php5 de
postgresql.
2º Como el super-usuario
“postgresql” es muy dificil de tratar desde php se crea otro
igual de super-usuario:
2nd As the super-user "postgresql" is very difficult to treat from php, create another super-user:
2nd As the super-user "postgresql" is very difficult to treat from php, create another super-user:
sudo -u postgres createuserb -EP
usuario3
Introduzca la contraseña para el nuevo
rol: tralara
Introdúzcala nuevamente: tralara
¿Será el nuevo rol un superusuario?
(s/n) s
3º Crearemos una base de datos / We creare a DB.
root@ordenata:~$
su – postgres (desde root)
postgres@ordenata:~$
psql
psql (8.4.9)
(esto aparececrá en la pantalla)
Digite «help»
para obtener ayuda.
postgres=#
create database arca ;
CREATE DATABASE
postgres=# \q
postgres@ordenata:~$
exit
logout
4º Desde apache-php / From apache-php
Archivo / file: "bd.php:"
Archivo / file: "bd.php:"
<?php
$cona=pg_connect("host=localhost
dbname=arca user=usuario3 password=tralara");
$sel=pg_query($cona,"CREATE
TABLE tabla1(uno int, dos int)");
$sel=pg_query($cona,"INSERT
INTO tabla1(uno, dos) VALUES (34,55)");
?>
Desde
un navegador → http://localhost/bd.php
5º Comprobemos:
postgres@ordenata:~$ psql
arca
arca=# \l
Listado
de base de datos
Nombre
| Dueño | Codificación | Collation | Ctype |
Privilegios
-----------+----------+--------------+-------------+-------------+-----------------------
arca
| postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 |
arca=#
\dt → public
| tabla1 | tabla | usuario3
arca=# SELECT
* FROM tabla1; →
34 | 55
MÁS
DIFICIL TODAVÍA QUIERO CONECTARME DESDE OTRO ORDENADOR VIA WEB
STILL MORE DIFFICULT, I WANT TO CONNECT FROM ANOTHER REMOTE COMPUTER.
1º Se abre el
fichero / We open postgresql.conf:
sudo nano
/etc/postgresql/8.4/main/postgresql.conf
y en una fila se
escribe: / In a line we write
[…]
listen_addresses='*'
[…]
Cuando lo
intentemos dará el siguiente error: We will have this error. No problem.
Unable to connect to PostgreSQL
server: FATAL: no hay una l?nea en pg_hba.conf para ...
2aº Se abre
pg_hba.conf y se escribe: (si nuestra ip es 77.209.54.169)
2aº Open pg_hba.conf and write: (if our ip is 77.209.54.169)
2aº Open pg_hba.conf and write: (if our ip is 77.209.54.169)
sudo nano
/etc/postgresql/8.4/main/pg_hba.conf
[…]
hostnossl all
all 77.209.54.169/24 md5
[…]
2bº Para toda
internet posible (pero conociendo nuestra base de datos, “arca”,
y nuestro usuario, “usuario3”:
2bº For all people
2bº For all people
[…]
host arca
usuario3 0.0.0.0 0.0.0.0 md5
[…]
3º El siguiente
ejemplo funcionará (con una bd postgresql en 83.57.127.159
en la que previamente habremos redirigido el puerto 5432):
3º The next ejemple will work (with a db postgresql in 83.57.127.159 with the port 5432):
<?php
$cona=pg_connect("host=83.57.127.159
port=5432 dbname=arca user=usuario3 password=tralara");
$sel=pg_query($cona,"CREATE
TABLE tabla3(uno int, dos int)");
$sel=pg_query($cona,"INSERT
INTO tabla3(uno, dos) VALUES (343,355)");
?>
No hay comentarios:
Publicar un comentario