Instalando, configurando e iniciando o PostgreSQL
# Instalando, configurando e iniciando o PostgreSQL 7.3.6
# Servidor Red Hat 7.3
# por Levi Leopoldino Alves
# [Link]@[Link]
Compilando:
Baixe o cógido-fonte em algum mirror localizado em [Link]
v7.3.6/[Link].bz2
$ ./configure
$ gmake
$ su
(senha de root)
# gmake install
Lembrando que para compilar algum programa com êxito é necessário que os compiladores junto com suas
bibliotecas estejam instalados em seu sistema. Isso é feito facilmente marcando a opção de "Desenvolvimento"
durante a instalação de qualquer distribuição do Linux.
Configurando:
Depois de compilado, siga esses passos:
$ su -
(senha de root)
# adduser postgres
# echo "PATH=/usr/local/pgsql/bin:$PATH" >> /home/postgres/.bashrc
# echo "export PATH" >> /home/postgres/.bashrc
# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
# su - postgres
Iniciando:
initdb -D /usr/local/pgsql/data
postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
Testando:
# su postgres
$ createdb test
$ psql test
Apagando:
$ dropdb test
Seu PostgreSQL já deve estar funcionando se chegou até aqui.
Agora os ajustes finais:
Script para iniciar/ parar/ status do PostgreSQL:
------------------------------>Início do Script<------------------------------
#! /bin/sh
# chkconfig: 2345 98 02
# description: PostgreSQL RDBMS
# This is an example of a start/stop script for SysV-style init, such
# as is used on Linux systems. You should edit some of the variables
# and maybe the 'echo' commands.
#
# Place this file at /etc/init.d/postgresql (or
# /etc/rc.d/init.d/postgresql) and make symlinks to
# /etc/rc.d/rc0.d/K02postgresql
# /etc/rc.d/rc1.d/K02postgresql
# /etc/rc.d/rc2.d/K02postgresql
# /etc/rc.d/rc3.d/S98postgresql
# /etc/rc.d/rc4.d/S98postgresql
# /etc/rc.d/rc5.d/S98postgresql
# Or, if you have chkconfig, simply:
# chkconfig --add postgresql
#
# Proper init scripts on Linux systems normally require setting lock
# and pid files under /var/run as well as reacting to network
# settings, so you should treat this with care.
# Original author: Ryan Kirkpatrick
# $Header: /cvsroot/pgsql-server/contrib/start-scripts/linux,v 1.3 2001/07/30 [Link] momjian Exp $
#########################################
# PostgreSQL 7.3 Compilado em 25/04/03
# por Tiago Cruz
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run pg_ctl as, should be "postgres".
PGUSER=postgres
# Where to keep a log file
PGLOG="/var/log/[Link]"
## STOP EDITING HERE
# Check for echo -n vs echo c
if echo 'c' | grep -s c >/dev/null 2>&1 ; then
ECHO_N="echo -n"
ECHO_C=""
else
ECHO_N="echo"
ECHO_C='c'
fi
# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# What to use to start up the postmaster
DAEMON="$prefix/bin/pg_ctl"
set -e
# Only start if we can find pg_ctl.
test -f $DAEMON || exit 0
# Parse command line parameters.
case $1 in
start)
$ECHO_N "Iniciando PostgreSQL: "$ECHO_C
su -l $PGUSER -s /bin/sh -c "$DAEMON -D '$PGDATA' -o -"i" -l $PGLOG start"
echo "ok"
;;
stop)
echo -n "Parando PostgreSQL: "
su - $PGUSER -c "$DAEMON stop -D '$PGDATA' -s -m fast"
echo "ok"
;;
restart)
echo -n "Reiniciando PostgreSQL: "
su - $PGUSER -c "$DAEMON restart -D '$PGDATA' -s -m fast"
echo "ok"
;;
status)
su - $PGUSER -c "$DAEMON status -D '$PGDATA'"
;;
*)
# Print help
echo "Modos de uso: postgresql {start|stop|restart|status}" 1>&2
echo "by Tiago Cruz"
exit 1
;;
esac
exit 0
------------------------------>Fim do Script<------------------------------
Salve esse script como /etc/rc.d/init.d/postgresql, vá até o diretório dele e digite:
# chkconfig --add postgresql
Agora você pode usar o comando 'service' para parar ou iniciar o PostgreSQL:
# service postgresql start
# service postgresql status
# service postgresql stop
E poderá utilizar também o ntsysv para iniciar o PostgreSQL durante o boot.
Backup e Restauração:
# Backup
pg_dump test > db_schema.sql -U postgres
# Restore
psql -e test < db_schema.sql -U postgres
Bom, espero que este documento seja útil a alguém
Instalando, configurando e iniciando o Iserverd
Este tutorial foi escrito com base o sistema operacional Red Hat 7.3
Faça download da versão mais recente do iserverd na seguinte URL:
• [Link]
NOTA: Testei a versão 2.4.9, não obtive sucesso, pois dava problema na compilação, erro de bibliotecas do
tvision. Estou usando a versão 2.4.6 a mais de dois meses e ainda não tive problema.
Descompacte o arquivo [Link] e entre no diretório que será criado:
$ tar -zxvf [Link]
$ cd Iserverd-2.4.6
Agora nós vamos compilar e instalat o pacote Iserverd
# ./configure –prefix=/etc –with-name=Iserverd
# make all
# make install
Configuração do Iserverd
Entre no diretório /etc/Iserverd/etc e renomeie todos os arquivos .[Link] para .conf
# mv [Link] [Link]
# mv v3_proto.[Link] v3_proto.conf
# mv v5_proto.[Link] v5_proto.conf
# mv v7_proto.[Link] v7_proto.conf
Edite o arquivo [Link] e altere de acordo com suas necessidades, segue um exemplo abaixo:
# This is the main IServerd config file. Don't forget to
# change database and info passwords. Probably you'll need
# to change admin email (it is used in broadcast and
# error messages).
[Globals]
# ------server parameters ----------------------
Bind on all interfaces = No
Bind interface = [Link]
Listen port = 5190
Pid file path = /etc/Iserverd/var/[Link]
Translate path = /etc/Iserverd/etc/translate
Translate table = RUSSIAN_WIN
Var dir path = /etc/Iserverd/var
Server mode = daemon
Min childs = 4
Max childs = 100
Shared memory size = 512000
Default ping time = 120
Depart list version = 1
Externals number = 0
Admin email = [Link]@[Link]
Info Password = DEFAULT
Enable actions = False
Enable watchdog = True
Watchdog timeout = 10
WWP socket filename = /tmp/wwp_sock
Actions config file = /etc/Iserverd/etc/[Link]
Realtime online db = False
# -----parameters for database system ----------
database user = iserver
database password = (COLOQUE SENHA DO USER iserverd)
database addr = localhost
database port = 5432
users db name = users_db
vacuumdb timeout = 1800
Defrag db check period= 43200
Online db check period= 3600
# -----parameters for log/debug system----------
Maxlog size = 500
Log umask = 022
Log level = 10
Debug level = 10
Timestamp logs = True
Append logs = False
Log process pid = False
# -----Config files for Vxx proto modules--------
Include = /etc/Iserverd/etc/v3_proto.conf
Include = /etc/Iserverd/etc/v5_proto.conf
Include = /etc/Iserverd/etc/v7_proto.conf
Agora volte ao console e inicie o PostgreSQL:
# cd /etc/init.d/
# ./postgresql start
Agora criaremos a base de dados do iserverd:
# su postgres
$ cd /etc/Iserverd/bin
$ ./db_manager create users_db
$ exit
Agora iremos mover o script [Link] para /etc/init.d/ depois renomear para iserverd
# cd /etc/init.d/
# cp /etc/Iserverd/etc/[Link] .
# mv [Link] iserverd
Inicie o Iserverd:
# cd /etc/init.d/
# ./iserverd start
Verifique se o PostgreSQL esta rodando:
# ps -ax | grep -i postgres
659 ? S 0:00 postgres: stats buffer process
660 ? S 0:00 postgres: stats collector process
792 ? S 0:00 postgres: postgres users_db [Link] idle
793 ? S 0:00 postgres: postgres users_db [Link] idle
794 ? S 0:00 postgres: postgres users_db [Link] idle
795 ? S 0:00 postgres: postgres users_db [Link] idle
799 ? S 0:00 postgres: postgres users_db [Link] idle
800 ? S 0:01 postgres: postgres users_db [Link] idle
806 ? S 0:00 postgres: postgres users_db [Link] idle
715 pts/1 R 0:00 grep -i postgres
NOTA: Copiar o arquivo /usr/local/pgsql/lib/[Link].3 para /usr/lib/ para ter funcionamento do script iserverd
Beleza, se você chegou até aqui, parabéns já está pronto seu servidor de ICQ local.
Gerenciamento do Iserverd
Criando um usuário de ICQ:
# su postgres
$ cd /etc/Iserverd/etc/db/
$ ./icquser add 1001
NOTA: Começar pelo 1001.
Preencha os dados solicitados e pronto! Agora é só instalar o ICQ em uma estação cliente Rwindows (icq99) ou
Linux (Licq) e configurar o programa para acessar o servidor de ICQ Iserverd.
IP: IP da máquina onde esta instalado o Iserverd.
Porta: 5190
UIN: 1001
Senha: foi informada durante a criação do usuário.
Conclusão:
Espero que este manual ajude e atenda suas necessidades!
Atualmente estou utilizando clientes ICQ para Rwindows e Linux conectando ao Iserverd.
Críticas e sugestões serão bem vindas.
Levi Leopoldino Alves ([Link]@[Link]).
Agradecimento:
Ao colega da empresa minoica, que me ajudou bastante na configuração do Iserverd e clientes de ICQ.
A Alexandra, Analista de Sistemas da empresa ADERE, que me deu toda força e confiança no meu trabalho para
implantar na empresa.
E para todos os moradores da republica osama bin laden, que sempre confiaram em meus projetos e trabalhos
desenvolvidos por mim, um grande abraço ao Osvaldo, Luciano, Brody, Paulão nabão, Juliano e Peidão
(Rodolfo).