Documente Academic
Documente Profesional
Documente Cultură
INSTALACION Y
CONFIGURACIN
SERVIDOR Siat Server,
SiatBd
y Servidor de Desarrollo
(172.16.2.213, 172.16.1.2 y
172.16.2.18)
Versin 2.3
I - Descripcin Distribuciones Server
Ubuntu (http://www.ubuntulinux.org)
es
una
distribucin GNU/Linux fcil de utilizar y orientada tanto
al usuario de escritorio como al servidor. Se encuentra
mantenida por una comunidad de desarrolladores que reciben el
soporte de la empresa Canonical, la cual vende
servicios relacionados con la distribucin.
El proyecto openSUSE es un programa comunitario a nivel
internacional patrocinado por Novell. Al mismo tiempo que
promueve el uso de Linux, openSUSE.org proporciona acceso
fcil y gratuito a la distribucin de Linux ms utilizable del
mundo, openSUSE. El proyecto openSUSE ofrece a
desarrolladores y usuarios todo lo que necesitan para empezar a trabajar con Linux.
Red Hat Enterprise Linux tambin conocido por sus
siglas RHEL es una distribucin comercial de Linux
desarrollada por Red Hat. Es la versin comercial de Fedora, y
anteriormente lo era de RedHat Linux, de forma similar a
como Novell SUSE Enterprise (SUSE Linux Enterprise
Desktop y SLE Server) lo es respecto de OpenSUSE o
Mandriva Corporate respecto de Mandriva Linux One.
Mientras que las nuevas versiones de Fedora salen cada
aproximadamente 6 meses, las de RHEL suelen hacerlo cada 18 o 24 meses (aunque
desde RHEL 5 ya han pasado 32 meses y aun no se sabe la fecha de RHEL 6). Tienen
soporte oficial de Red Hat, programas de certificacin, etc.
Mandriva o Mandriva
Linux es
una distribucin Linux publicada por la compaa
francesa Mandriva destinada tanto para principiantes
como para usuarios experimentados, que ofrece
un sistema operativo orientado a computadoras
personales y tambin para servidores con un enfoque a
los usuarios que se estn introduciendo al mundo
de Linux y al software libre. Surgi en julio de 1998
resultado de la fusin de la distribucin francesa Mandrake Linux y la brasilea
Conectiva Linux.
Tipo particin
Cantidad
Uso
2 GB
50 GB
Sistema
Archivos
Intercambio
Ext4
Primaria
Primaria
/home
/
Primaria
Extendida
10 GB
17 GB
Ext4
Ext4
Usuarios
Sistema Operativo
Intercambio
Variables, fuentes y data
Tipo particin
Cantidad
Uso
16 GB
110 GB
Sistema
Archivos
Intercambio
Ext4
Primaria
Primaria
/home
/
Primaria
Extendida
10 GB
10.8 GB
Ext4
Ext4
Usuarios
Sistema Operativo
Uso
Usuarios
Sistema Operativo
Intercambio
Variables, fuentes y data
Tipo particin
Cantidad
Primaria
Primaria
20 GB
200 GB
Sistema
Archivos
Intercambio
Ext4
/home
/
Primaria
Extendida
10 GB
20 GB
Ext4
Ext4
Intercambio
Variables, fuentes y data
Swap : muchos manuales de instalacin bajo Linux (no importa la distro), ya sea
para server o para desktop se recomienda una swap que sea el doble de la
capacidad de la maquina que se este instalando; esta recomendacin quedo
desfasada, ya que la misma fue hecha a raiz de se contaba con PCs con
restricciones de memoria y capacidad.
/var : se recomienda la mayor parte del disco para este punto de montaje, al ser
este donde se almacena los fuentes del Sistema, data de la base de datos, y
archivos de la mayora de servicios.
useradd edwin2
passwd edwin2
Red, se configura, como root (pruebas):
vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
#the first network interface
auto eth0
iface eth0 inet static
address 172.16.2.212
netmask 255.255.254.0
network 172.16.2.0
gateway 172.16.2.1
Server :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
#the first network interface
auto eth0
iface eth0 inet static
address 172.16.2.213
netmask 255.255.254.0
network 172.16.2.0
gateway 172.16.2.1
SiatBd
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 172.16.1.2
netmask 255.255.252.0
network 172.16.1.0
gateway 172.16.2.1
Seguidamente reiniciar el servicio de red :
/etc/init.d/networking restart
Nta : Para actualizar el comando aptitude (gestor de instalaciones), es necesario acceso
a Internet, para descargas de paquetes, pero se debe tener en cuenta que si el acceso es
mediante un Proxy se debe registrarlo con el siguiente comando
export http_proxy = 172.16.2.1:3128
Adems los links de actualizaciones en este caso de Debian seran los siguientes
nano/etc/apt/sources.list
#
# deb cdrom:[Debian GNU/Linux 6.0.2.1 _Squeeze_ - Official amd64 CD Binary-1 20$
#deb cdrom:[Debian GNU/Linux 6.0.2.1 _Squeeze_ - Official amd64 CD Binary-1
201$
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
deb ftp://ftp.us.debian.org/debian/ squeeze/update main
deb-src ftp://ftp.us.debian.org/debian/ squeeze/update main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
# A network mirror was not selected during install. The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
All
AllowOverride
Order allow,deny
allow from all
</Directory>
IV - Postgres
La versin estable del postgres, cuando se realiz este documento, esta en la
versin postgresql-8.4, pero existen algunos cambios en las tablas de configuracin
respecto a postgresql-8.3, a saber
Base de datos
Tabla
Valor
Postgresql-8.3
postgres
pg_class
Reltriggers
Postgresql-8-4
Postgres
pg_class
Relhastriggers
Bit
Bolean
El valor reltriggers (8.3) es para la activacin de triggers, la cual se activa mediante una
funcin que discrimina todos los objetos de la base de datos en la que se trabaja; esto a
nivel de backup no causa ningn problema en versiones iguales. La ltima versin
postgres tiene este valor activado, adems de que el nombre de la variable cambi, pero
esto no aplica cuando se restaura un backup de versin anterior. A fines de evitar
conflictos entre versiones y para un ambiente de produccin se eligi postgresql-8.3.
Instalacin
1 - En la lnea de comandos:
aptitude install postgresql-8.4
2 Se activa el usuario postgres:
sudo passwd postgres
172.16.2.18 - Password : Postgres1234567
172.16.2.213-Password : t@is230210
Password - pruebas : postgres
Se establece la contrasea para usuario postgres, recordemos que este usuario es tanto
para base de datos como sistema operativo.
3 Se edita cada uno de los archivos de configuracin; a saber pg_hba.conf,
postgresql.conf, pg_ident.conf.
En pg_hba.conf:
# Database administrative login by UNIX sockets
local all
postgres
ident sameuser
# TYPE DATABASE
USER
CIDR-ADDRESS
METHOD
PG-USERNAME
En postgres.conf
# - Connection Settings listen_addresses = '*'
port = 5432
max connections = 150 (variable a la capacidad del servidor)
#.
# - Memory
shared_buffers = 1024MB (25% de RAM, max recommendable 30%)
work men = 2MB (variable a la capacidad del servidor)
maintenance_work_men = 256MB (0.5 % de RAM)
#.
Finalmente se reinicia el servicio:
/etc/init.d/postgresql-8.3 restart
Para el usuario postgres, como usuario postgres en SERVER,
Psql
alter user postgres with password siatserver2011;
createuser s E P siat
alter user siat with password siatserver2011;
Instalando FTS
Las funcionalidades de FTS, en caso de no estar instaladas se procede asi:
aptitude search postgresql-contrib
como usuario postgres :
psql d bd_tributaria45_2_desarrollo h localhost f
usr/share/postgresql/8.3/contrib/fuzzystrmatch.sql
Esto es por cada base de datos
Restaurando Backup
Por lo general para restaurar backup generados en Windows, en el sistema operativo
como usuario postgres.
pg_restore d bd_tributaria /var/backups/bdtributaria_29-09-2011.backup
Y para backups generados en Linux
pg_restore Ft d bd_tributaria /var/backups/bdtributaria_29-09-2011.backup
Generando Backup
pg_dump Ft bd_tributaria > /var/backups/bd_tributaria.backup
Con parmetros de fecha:
pg_dump Ft bd_tributaria > /var/backups/bd_tributaria_(date +%F).backup
para generar backup con los mismos parmetros de PGAdminIII en entorno Windows:
pg_dump F c v f /var/backups/bd_migracion.backup n \public\ bd_migracion
generar backup en raw linux:
temporal=atoi(PQgetvalue(res,i,0));
map_origen_destino[temporal]++;
//cout<<PQgetvalue(res,i,0)<<"-----------------"<<endl;
//
//
}
PQclear(res);
}
PQclear(res);
PQfinish(conn);
cout<<"Mapa generado correctamente!!!"<<endl;
map< int, int >::iterator origen=map_origen_destino.begin();
for(;origen!=map_origen_destino.end();origen++){
cout<<(*origen).first<<":"<<(*origen).second<<"@";
}
return 1;
Este programa cuenta las ocurrencias de un origen destino en detalle cuenta corriente, y
lo almacena en un mapa.
Para compilarlo, se procedi a instalar el gcc y g++
g++ -I/usr/include/postgresql/ -L/usr/lib/postgresql/8.3/lib/ -lpq o prueba.o prueba.cc
Se ejecuta el archivo .o
./prueba.o
V - PHP
La versin PHP 5.2.10 , editamos el archivo de configuracin de PHP
vi /etc/php5/apache2/php.ini
Las secciones siguientes copiarlas al archivo
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 90 ; Maximum execution time of each script, in
seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing
request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 160M
; Maximum amount of memory a script may consume
(16MB)
..
VI - SAMBA
Se instalo por defecto Samba 3. En la configuracin de Samba, la seccin de profiles, se
agrega :
Pruebas :
[Siat]
comment = Carpetas SIAT2010
path = /var/www/
guest ok =yes
read only = no
browseable = yes
create mask = 0777
directory mask = 0777
Server :
[SiatServer]
comment = Carpetas SIAT2010
path = /var/www/
guest ok =yes
read only = no
browseable = yes
create mask = 0777
directory mask = 0777
Finalmente reiniciar el servicio :
/etc/init.d/samba restart
Para acceder con samba se necesita tener usuarios. En este caso primero crear usuarios
como root y luego adicionarlos al samba. Ejemplo.
useradd siat
smbpasswd -a siat
otros parmetros (-x eliminar, -d deshabilitar, -e habilitar, -n
usuario sin password y m cuenta de equipo)
w (^1)
x (^0)
1
2
2
4
4
4
r=Read (Lectura)
w=Write (Escritura)
Total
0
1
2
3
5
6
Resultado de los
permisos
Sin permisos
Ejecucin
Escritura
Escritura y ejecucin
Lectura
Lectura y ejecucin
Lectura y ejecucin
Lectura, escritura y
ejecuin
x=Execution (Ejecucin)
Clases de usuario
1.- propietario del fichero.
2.- grupo al que pertenece el fichero.
3.- el resto de usuarios.
Ejemplos:
Chmod 777 /var/www/siat
VII - CRONTAB
Para hacer tareas programadas bajo entorno Linux, la poltica establecida es
todos los das a las 11:00 pm se realizara un backup del cdigo fuente del SIAT. Bajo
esa premisa se realiz los siguientes pasos:
crear un script bajo root, con permisos root llamado tarea.sh
#script en bash para generar un archivo comprimido de
#toda la carpeta SIAT, la cual se generara en
# /var/www/
#el nombre tiene la forma
# siat date donde ddate es la fecha actual ejem: siat2010-01-31
#la salida se redirecciona al archivo null
tar -caf /var/www/siat$(date +%F).tar.gz /var/www/Siat >>/dev/null 2>1;
se agrega una nueva tarea a crontab, en la lnea de comandos :
crontab e
el editor elegido puede ser nano o vim, en caso de ser nano los atajos ctrl + O guardar y
ctrl + X salir
# m h dom mon dow command
00 23 * * * /var/www/tarea.sh
Esto indica que a las 11:00 pm de todos los dias se ejecutara tarea.sh. Es importante que
el sistema tenga la hora correcta, tanto del sistema como del hardware, ver date,
hwclock y ntpdate.
Muchas veces, la hora del sistema no es la misma que la hora del hardware, para probar
esto se tiene que obtener las 2 horas. Por ejemplo:
hwclock
vie 29 oct 2010 08:38:06 PET -0.985305 seconds
date
vie oct 29 03:14:19 PET 2010
En este caso los 2 tiempos son diferentes, el proceso crontab en algunos casos es
dirigido por la hora del hardware (hwclock) , entonces se recomienda que las 2 horas
esten alineadas.
hwclock --set --date="2010-10-29 08:33:00"
date -s "29 OCT 2010 08:33:00"
Para generar un backup de la base de datos, como usuario postgres, crear un archivo
llamado tareaPostgres.sh
vi tareaPostgres.sh
Ingresar el siguiente codigo
#script en bash para generar un archivo comprimido de
#bd_tributaria18 en var/www/Backups
pg_dump -Ft bd_tributaria45_2>/var/www/Backups/bd_tributaria45_2_$(date +
%F).backup
Este script genera un backup de la base de datos en produccion bd_tributaria45_2 en
la carpeta Backups , adjuntandole la fecha que fue creado tal backup.
Seguidamente crear la tarea correspondiente
crontab e
# m h dom mon dow command
30 23 * * * /var/www/tareaPostgres.sh
NOTA: los scripts debern tener acceso de ejecucin y obviar usuario root en el crontab
y del mismo modo debe iniciar su lista de comandos como sigue:
#!/bin/sh
VIII Subversin
Instalacin, en modo sper usuario
aptitude install subversion subversion-tools
Creamos la carpeta para repositorios:
mkdir /var/lib/svn
mkdir /var/lib/svn/siat
La carpeta svn sera la raiz de los repositorios, en este caso tiene un repositorio siat.
Seguidamente usamos el comando svnadmin para crear un repositorio:
svnadmin create /var/lib/svn/test
Creamos el arbol de directorio propios para subversion:
svn mkdir file:///var/lib/svn/siat
svn mkdir file:///var/lib/svn/siat/trunk -m Trunk
svn mkdir file:///var/lib/svn/siat/tags -m Tags
svn mkdir file:///var/lib/svn/siat/branches -m Branches
Configuracin del repositorio svn para uso compartido mediante un servidor Apache
aptitude install libapache2-svn
Ajustar la propiedad del repositorio y su contenido
chown -R www-data /var/lib/svn/test
Configuracin de acceso de los usuarios
sudo htpasswd -c /etc/apache2/dav_svn.passwd us1
sudo htpasswd /etc/apache2/dav_svn.passwd us2
Configuracin del mdulo de acceso DAV, editamos dav_svn.conf
vi /etc/apache2/mods-available/dav_svn.conf
IX Acceso remoto
Servidor
apt-get install tightvncserver
tightvncserver :1 -name sesion1 -depth 16 -geometry 640x480
Cliente
apt-get install xtightvncviewer
xtightvncviewer
X Berkeley DB
aptitude install libdb4.6++
aptitude install libdb4.6++-dev
G++ -I/usr/include/ -ldb_cxx o pruebaDB.out pruebaDB.cc
Activacion de Db en php
En /etc/php5/apache2/
Vi php.ini
Se aade
.
-enable-dba=shared
-enable-dba with db4
XI Configuracin UPSs
02-12-2010 : se procedi a documentar la actividad realizada el da 01-12-2010, por
parte de terceros.
nano /etc/default/apcupsd
El contenido es:
#Defaults for apcupsd initscript
#ApcUpsd-Devel internal configuration
APCACCESS=/sbin/apcaccess
ISCONFIGURED=yes
Updatedb es un comando incluido en findutils que se encarga de actualizar una base de
datos con todos los achivos del sistema, utilizada por locate para hallar archivos
rpidamente en sistemas de grandes cantidades de ficheros o incluso distintos
dispositivos y sistemas de ficheros.
updatedb
locate apcups
locate apcups
Nano /etc/apcupsd/apcupsd.conf
El contenido es:
## apcupsd.conf v1.1 ##
#
# for apcupsd release 3.14.6 (16 May 2009) - debian
#
# "apcupsd" POSIX config file
#
# ========= General configuration parameters ============
#
# UPSNAME xxx
# Use this to give your UPS a name in log files and such. This
# is particulary useful if you have multiple UPSes. This does not
# set the EEPROM. It should be 8 characters or less.
#UPSNAME
# UPSCABLE <cable>
# Defines the type of cable connecting the UPS to your computer.
#
# Possible generic choices for <cable> are:
# simple, smart, ether, usb
#
# Or a specific cable model number may be used:
# 940-0119A, 940-0127A, 940-0128A, 940-0020B,
# 940-0020C, 940-0023A, 940-0024B, 940-0024C,
# 940-1524C, 940-0024G, 940-0095A, 940-0095B,
# 940-0095C, M-04-02-2000
#
UPSCABLE ether
# To get apcupsd to work, in addition to defining the cable
#
# ========== Configuration statements used if sharing =============
#
a UPS with more than one machine
#
# Remaining items are for ShareUPS (APC expansion card) ONLY
#
# UPSCLASS [ standalone | shareslave | sharemaster ]
# Normally standalone unless you share an UPS using an APC ShareUPS
# card.
UPSCLASS standalone
# UPSMODE [ disable | share ]
# Normally disable unless you share an UPS using an APC ShareUPS card.
UPSMODE disable
#
# ===== Configuration statements to control apcupsd system logging ========
#
# Time interval in seconds between writing the STATUS file; 0 disables
STATTIME 0
# Location of STATUS file (written to only if STATTIME is non-zero)
STATFILE /var/log/apcupsd.status
# LOGSTATS [ on | off ] on enables, off disables
# Note! This generates a lot of output, so if
#
you turn this on, be sure that the
#
file defined in syslog.conf for LOG_NOTICE is a named pipe.
# You probably do not want this on.
LOGSTATS off
# Time interval in seconds between writing the DATA records to
# the log file. 0 disables.
DATATIME 0
# FACILITY defines the logging facility (class) for logging to syslog.
#
If not specified, it defaults to "daemon". This is useful
#
if you want to separate the data logged by apcupsd from other
#
programs.
#FACILITY DAEMON
#
# ========== Configuration statements used in updating the UPS EPROM =========
#
#
# These statements are used only by apctest when choosing "Set EEPROM with conf
# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
#
# UPS name, max 8 characters
#UPSNAME UPS_IDEN
# Battery date - 8 characters
#BATTDATE mm/dd/yy
cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.old
Ping 172.16.0.20
Ping 172.16.0.21
Nano /etc/apcupsd/apccontrol
El contenido es:
#!/bin/sh
#
# Copyright (C) 1999-2002 Riccardo Facchetti <riccardo@master.oasi.gpa.it>
#
# for apcupsd release 3.14.6 (16 May 2009) - debian
#
# platforms/apccontrol. Generated from apccontrol.in by configure.
#
# Note, this is a generic file that can be used by most
# systems. If a particular system needs to have something
# special, start with this file, and put a copy in the
# platform subdirectory.
#
#
# These variables are needed for set up the autoconf other variables.
#
prefix=/usr
exec_prefix=${prefix}
APCPID=/var/run/apcupsd.pid
APCUPSD=/sbin/apcupsd
SHUTDOWN=/sbin/shutdown
SCRIPTSHELL=/bin/sh
SCRIPTDIR=/etc/apcupsd
WALL=wall
#
# Concatenate all output from this script to the events file
# Note, the following kills the script in a power fail situation
# where the disks are mounted read-only.
# exec >>/var/log/apcupsd.events 2>&1
#
# This piece is to substitute the default behaviour with your own script,
# perl, or C program.
# You can customize every single command creating an executable file (may be a
# script or a compiled program) and calling it the same as the $1 parameter
# passed by apcupsd to this script.
#
# After executing your script, apccontrol continues with the default action.
# If you do not want apccontrol to continue, exit your script with exit
# code 99. E.g. "exit 99".
#
# WARNING: the apccontrol file will be overwritten every time you update your
# apcupsd, doing `make install'. Your own customized scripts will _not_ be
# overwritten. If you wish to make changes to this file (discouraged), you
# should change apccontrol.sh.in and then rerun the configure process.
#
if [ -f ${SCRIPTDIR}/${1} -a -x ${SCRIPTDIR}/${1} ]
then
${SCRIPTDIR}/${1} ${2} ${3} ${4}
# exit code 99 means he does not want us to do default action
if [ $? = 99 ] ; then
exit 0
fi
fi
case "$1" in
killpower)
echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}"
sleep 10
${APCUPSD} --killpower
echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
;;
commfailure)
echo "Warning communications lost with UPS ${2}" | ${WALL}
;;
commok)
echo "Communications restored with UPS ${2}" | ${WALL}
;;
#
# powerout, onbattery, offbattery, mainsback events occur
# in that order.
#
powerout)
;;
onbattery)
echo "Power failure on UPS ${2}. Running on batteries." | ${WALL}
;;
offbattery)
echo "Power has returned on UPS ${2}..." | ${WALL}
;;
mainsback)
if [ -f /etc/apcupsd/powerfail ] ; then
printf "Continuing with shutdown." | ${WALL}
fi
;;
failing)
echo "Battery power exhaused on UPS ${2}. Doing shutdown." | ${WALL}
;;
timeout)
echo "Battery time limit exceeded on UPS ${2}. Doing shutdown." | ${WALL}
;;
loadlimit)
echo "Remaining battery charge below limit on UPS ${2}. Doing shutdown." | ${WALL}
;;
runlimit)
echo "Remaining battery runtime below limit on UPS ${2}. Doing shutdown." | ${WALL}
;;
doreboot)
echo "UPS ${2} initiating Reboot Sequence" | ${WALL}
${SHUTDOWN} -r now "apcupsd UPS ${2} initiated reboot"
;;
doshutdown)
echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown"
;;
annoyme)
echo "Power problems with UPS ${2}. Please logoff." | ${WALL}
;;
emergency)
echo "Emergency Shutdown. Possible battery failure on UPS ${2}." | ${WALL}
;;
changeme)
echo "Emergency! Batteries have failed on UPS ${2}. Change them NOW" | ${WALL}
;;
remotedown)
echo "Remote Shutdown. Beginning Shutdown Sequence." | ${WALL}
;;
startselftest)
;;
endselftest)
;;
battdetach)
;;
battattach)
;;
*) echo "Usage: ${0##*/} command"
echo "
warning: this script is intended to be launched by"
echo "
apcupsd and should never be launched by users."
exit 1
;;
esac
XI - Referencias
[1] http://www2.mandriva.com/
[2] http://www.latam.redhat.com/rhel/
[3] http://es.opensuse.org/
[4] http://www.ubuntu.com/
[5] http://subversion.tigris.org/
Anexos
Limpiar Cache
0: No libera nada.
1: Libera la pagecache.
2: Libera inodos y dentries.
3: Libera pagecache, inodos y dentries.
Ejemplo
# echo 1 > /proc/sys/vm/drop_caches
# echo 2 > /proc/sys/vm/drop_caches
Despues de migracion
# echo 3 > /proc/sys/vm/drop_caches
# echo 0 > /proc/sys/vm/drop_caches
Variables de rendimiento
Para variacin de parmetros de memoria en el postgres.conf considerar lo siguiente
(preferentemente considerar los que bota el error del servicio postgresql:
cat /proc/sys/kernel/shmmax
sysctl w kernel.shmmax= 268435456
sysctl p /etc/sysctl.conf
Para mantener los datos permanentemente y no volver a configurar cada vez que se
apague el servidor
Nano /etc/sysctl.conf
#...
#Adecuacin manual de acuerdo a la configuracin de postgres
kernel.shmmax= 268435456
En 213:
2097152000 -> 2365587456 -> 4731174912->9437184000
#bonjour_name = ''
# TCP_KEEPIDLE, in seconds;
# 0 selects the system default
#tcp_keepalives_interval = 0
# TCP_KEEPINTVL, in seconds;
# 0 selects the system default
#tcp_keepalives_count = 0
# TCP_KEEPCNT;
# 0 selects the system default
#-----------------------------------------------------------------------------# RESOURCE USAGE (except WAL)
#-----------------------------------------------------------------------------# - Memory shared_buffers =64MB
# 0-1000 milliseconds
# 0-10000 credits
# 0-10000 credits
# 0-10000 credits
# 1-10000 credits
#checkpoint_segments = 3
# in logfile segments, min 1, 16MB each
#checkpoint_timeout = 5min
# range 30s-1h
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
#checkpoint_warning = 30s
# 0 is off
# - Archiving #archive_mode = off
# allows archiving to be done
# (change requires restart)
#archive_command = ''
# command to use to archive a logfile segment
#archive_timeout = 0
# force a logfile segment switch after this
# time; 0 is off
#-----------------------------------------------------------------------------# QUERY TUNING
#-----------------------------------------------------------------------------# - Planner Method Configuration #enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on
# - Planner Cost Constants #seq_page_cost = 1.0
#random_page_cost = 4.0
#cpu_tuple_cost = 0.01
#cpu_index_tuple_cost = 0.005
#cpu_operator_cost = 0.0025
effective_cache_size =3200
Query Optimizer #geqo = on
#geqo_threshold = 12
#geqo_effort = 5
#geqo_pool_size = 0
#geqo_generations = 0
#geqo_selection_bias = 2.0
# range 1-10
# selects default based on effort
# selects default based on effort
# range 1.5-2.0
# range 1-1000
#join_collapse_limit = 8
#
#
#
#
#
#
#
#
#
#
#
debug4
debug3
debug2
debug1
info
notice
warning
error
log
fatal
panic (effectively off)
#log_min_duration_statement = -1
# -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this time.
#silent_mode = off
# special values:
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %i = command tag
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session
#
processes
# %% = '%'
# e.g. '<%u%%%d> '
#log_lock_waits = off
# log lock waits >= deadlock_timeout
#log_statement = 'none'
# none, ddl, mod, all
#log_temp_files = -1
# log temporary files equal or larger
# than specified size;
# -1 disables, 0 logs all temp files
#log_timezone = unknown
# actually, defaults to TZ environment
# setting
#-----------------------------------------------------------------------------# RUNTIME STATISTICS
#-----------------------------------------------------------------------------# - Query/Index Statistics Collector #track_activities = on
#track_counts = on
#update_process_title = on
# - Statistics Monitoring #log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
Chat Siat
La version que se instalo es phpfreechat-1.3.zip, deber contarse con esos fuentes.
Despus de copiar los archivos en /Siat, hay que dar los permisos al usuario www-data
Como sigue
chown -R www-data /var/www/Siat/chat
a2enmod ssl
Se hace una copia del archivo default en /etc/apache2/sites-enabled/ que se llama ssl o
default-ssl
En /etc/apache2
Openssl req new x509 extensions v3_ca keyout cakey.pem out cacert.pem
v3
Mv cacert.pem cacert.crt
Mv cakey.pem cakey.crl
cd /etc/apache2
vi ports.conf
En /etc/apache2/sites-enabled/
Vi 000-default
NameVirtualHost *
NameVirtualHost *:443
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log