Upload
billy-gomez
View
224
Download
4
Embed Size (px)
DESCRIPTION
Â
Citation preview
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Universitaria
Universidad Politécnica Territorial del Estado Portuguesa
“Juan de Jesús Montilla”
Programa Nacional de Formación en Informática
Acarigua Estado Portuguesa
MANUAL DE
INSTALACIÓN
Sistema de Información de Protección Civil y
Administración de Desastres Araure.
SIPCADA
Acarigua, 2014.
Lo principal es instalar un servidor para páginas PHP y PostGres SQL, recomendamos el uso del servidor
de páginas Web Apache y del recurso de cliente grafico para administración de la base de datos pgAdmin
III.
Instalación servidor web Apache en Ubuntu 12.04:
Paso 1: Lo primero será instalar el paquete apache2 con sus dependencias:
sudo apt-get install apache2
Paso 2: Una vez hecho esto, comprobamos que está funcionando correctamente, abrimos un
navegador y escribimos localhost:
También podemos comprobarlo mediante el comando /etc/init.d/apache2 status:
Ya se tiene el servidor apache instalado y funcionando!
Si únicamente quisiéramos alojar una página simple (HTML y CSS) ya estaríamos preparados
para hacerlo, únicamente habría que situar los archivos de la página dentro de la carpeta /var/www,
reemplazando el index.html por defecto con el de nuestra página web.
Antes de continuar se muestra un pequeño resumen sobre las carpetas y archivos de Apache que
se utilizan con más frecuencia:
Opciones de ejecución apache:
Apache tiene varias opciones de ejecución entre las que se tienen:
root@server1:~# /etc/init.d/apache2 {start|stop|restart|reload|forcereload}
Como se puede observar el servidor apache tiene varias opciones:
start: Inicia el servicio de apache.
stop: Detiene el servicio de apache.
restart: Reinicia el servicio de apache.
reload: Recarga los últimos cambios registrados dentro del servicio de apache.
Force-reload: Forza a realizar una recarga de los últimos cambios realizados dentro del servicio
de apache.
Ejemplo: Como reiniciar el servidor apache.
root@server1:~# /etc/init.d/apache2 restart
* Restarting web server apache2 [ OK ]
root@server1:~#
Finalmente unos comandos que pueden ejecutar, obviamente como root, desde la consola:
Opción de Descripción:
start Inicia el servicio de apache.
stop Detiene el servicio de apache.
reload Reinicia el servicio de apache.
fullstatus Muestra un reporte del estado completo de apache.
status Muestra un reporte del estado breve de apache.
graceful Reinicia delicadamente el servicio apache enviando una señal SIGUSR1.
configtest Corre una prueba hacia los archivos de configuración de apache, en caso de que
devuelva Syntax OK indica que toda la configuración de apache está bien o marca el error.
Instalación del Módulo PHP en Ubuntu 12.04:
Paso 1: Por defecto no tenemos el módulo para PHP disponible, así que tendremos que instalarlo:
sudo apt-get install php5
Paso 2: Tras instalarlo volvemos a /etc/apache2/mods-available y comprobamos que ahora se
encuentra disponible el módulo PHP: Módulos de Apache
Comprobamos que se encuentra activo dentro de /etc/apache2/mods-enabled:
Módulos activos de Apache
Si por algún motivo no se iniciase automáticamente tras la instalación, lo activaríamos con el
comando a2enmod nombremodulo, para deshabilitar un módulo utilizaríamos el comandoa2dismod
nombremodulo.
Recuerda: Cada cambio que realicéis en el servidor necesita un reinicio (sudo service apache2
reload) para que se haga efectivo.
Vamos a crear una página simple con código PHP para comprobar que funciona. Edito el
archivo/var/www/getupcity1/index.html y lo renombro a index.php, y le inserto un código PHP a la
página: Renombrando archivo Index
Insertando código PHP en la Web:
Accedo a http://www.getupcity1.com desde el navegador:
Ya tenemos todo funcionando!
Instalar y configurar postgresql en Ubuntu Server 12.04:
En Ubuntu disponemos paquetes para varias versiones de PostgreSQL: desde la 7.4, 8.0, 8.1 y
8.2, 9.1 de modo que instalaremos la última versión a no ser que necesitemos alguna anterior. Los
paquetes necesarios para una instalación completa son los de la parte cliente (postgresql-client) y los de
la parte servidora (postgresql). En un ordenador que usemos como cliente sólo necesitamos los paquetes
del cliente. También es recomendable instalar un cliente gráfico que nos facilitará la interacción con el
servidor. Para nuestro caso usaremos pgAdmin III.
En nuestro articulo instalaremos el Servidor de Base de datos PostgreSQL en el Ubuntu Server
12.04, más la parte gráfica pgAdmin III
Todas las instalaciones se deberán hacer como súper usuario así que lo primero que se debe
hacer después de conectarnos es pasarnos a utilizar esa cuenta con los derechos de administración.
Empezamos en el Servidor UBUNTU Server 12.04
Instalamos el Servidor desde el repositorio de paquetes, pero antes actualizamos los repositorios
--ver si hay algo nuevo--, es decir actualizar la lista de todos los paquetes, con la dirección de dónde
obtenerlos para que a la hora de hacer la búsqueda y su posterior descarga, sea más rápida. Ojo con apt-
get upgrade porque lo que hacemos es una actualización de nuestro sistema con todas las posibles
actualizaciones que pudiera haber, es decir no sólo actualiza nuestro sistema operativo sino que también
las aplicaciones que están contenidas en los repositorios:
apt-get update
Al finalizar tecleamos la instalación del servidor
apt-get install postgresql
Si queremos instalar el cliente para postgresql en la misma máquina ejecutamos el
comando
apt-get install postgresql-client (pero lo dejaremos para la maquina cliente)
Esto nos traerá la última versión compilada y disponible en el repositorio.
Por razones de seguridad estableceremos la nueva contraseña al usuario del sistema creado por
PostgreSQL:
passwd postgres
Cambiar los privilegios de acceso al shell del usuario postgresql con el siguiente comando:
vipw
Cambiamos el shell del usuario postgres de "/bin/false" a "/bin/bash". Luego salimos grabando pulsando
la tecla escape ":wq". Para verificar si la instalación fue satisfactoria accedemos a la shell del servidor de
bases de datos utilizando la cuenta del usuario postgres con la plantilla "template1" que crea por defecto
su postgres -c "psql template1"
Si el acceso ha sido satisfactorio cambiamos la contraseña al usuario predeterminado del
servidor de bases de datos:
Nota: Puede darse el caso de que con el comando anterior no accedas a la base de datos
directamente. En ese caso tendrás que hacerlo en dos pasos: Primero pasarte al usuario postgres y después
acceder a la base de datos utilizando el cliente psql en la consola con los siguientes comandos:
su postgres
psql -h tempate1 -U postgres
template1=# ALTER USER postgres WITH PASSWORD 'nueva_contraseña';
Te saldrá el siguiente mensaje confirmando la operación:
ALTER ROLE
Para salir de la shell del servidor de bases de datos con el comando \q :
template1=# \q
Hasta el momento solo se ha configurado el servidor para permitir las conexiones locales con el usuario
postgres.
Instalación de PHPpgMyAdmin: (Cliente grafico para la administración de la base de datos
Postgres):
phpPgAdmin en Ubuntu 12.04
Acerca phpPgAdmin: es una aplicación web basada en PHP que ofrece una interfaz gráfica de usuario
para el sistema postgresql. Se lleva a cabo una función similar a phpMyAdmin, que permite a los usuarios
manipular la información de base de datos en un programa visual en MySQL.
Paso 1: Install phpPgAdmin
Comience por asegurarse de que el repositorio apt-get es hasta la fecha:
sudo apt-get update
Una vez que el proceso ha terminado, seguir adelante e instalar postgresql, dependencias
adicionales útiles y phpgadmin. Durante su instalación, phpPgAdmin también instalará los paquetes
php y apache requeridos.
sudo apt-get install postgresql postgresql-contrib phpPgAdmin
Iniciar Apache:
sudo inicio apache2 servicio
Paso 2: Ajustar la configuración de seguridad:
Una vez phpgadmin está instalado, es posible que pueda acceder a él entrando enSuDirecciónIP /
phpPgAdmin.
Puede ejecutar el siguiente comando para mostrar la dirección IP de su servidor.
ifconfig eth0 | grep inet | awk '{print $ 2}'
Usted puede encontrar, sin embargo, que el intento de llegar a la página phpPgAdmin puede
resultar en un error 403 prohibido.
Con el fin de hacer esta página accesible, hay que ponerlo a disposición de todos los visitantes
(no te preocupes, lo bloqueamos en el paso siguiente):
sudo nano / etc/apache2/conf.d/phppgadmin
En el archivo encontrará la siguiente sección y descomentar la línea "permitirá de todo". La
sección debería tener este aspecto:
Para negar, permitir
deny from all
permitir de 127.0.0.0/255.0.0.0 :: 1/128
permitir de todo
Configure el Autenticación htaccess
Con el archivo htaccess. Permitió, podemos proceder a configurar un usuario nativo cuyo inicio
de sesión que se requeriría para acceder incluso la página phpPgAdmin login.
Comience por crear el fichero de configuración de su sitio la sección de autenticación
htaccess. Por el bien de ejemplo, voy a utilizar el sitio predeterminado:
sudo nano / etc/apache2/sites-enabled/000-default
Seguimiento mediante la creación de la autorización del usuario. Crear una nueva sección dentro
del archivo de host virtual, pegando la siguiente información:
Y ltDirectory "/ usr / share / phpPgAdmin">
AuthUserFile / etc / phpPgAdmin / .htpasswd
AuthName "Zona Restringida"
AuthType Basic
require valid-user
</ Directory>
A continuación una breve explicación de cada línea:
AuthUserFile: Esta línea designa la ruta del servidor al archivo de contraseñas (que vamos a crear en el
paso siguiente.)
AuthType: Esto se refiere al tipo de autenticación que se utilizará para la comprobación de las
contraseñas. Las contraseñas se comprueban a través de HTTP y la palabra clave de base no se debe
cambiar.
AuthName: Este es el texto que se mostrará en el indicador de contraseña. Usted puede poner cualquier
cosa aquí.
Require valid-user: Esta línea le indica el archivo htaccess que sólo los usuarios definidos en el archivo
de contraseñas puede acceder a la pantalla de inicio de sesión phpPgAdmin.
Ahora vamos a seguir adelante y crear la información de usuario válido: Cree el archivo htpasswd
Comience por crear un archivo htpasswd. Utilice el comando htpasswd, y colocar el archivo en
un directorio de su elección, siempre y cuando no se puede acceder desde un navegador. Aunque usted
puede nombrar el archivo de contraseñas lo que usted prefiere, la convención es darle un nombre.
Htpasswd.
sudo htpasswd-c / etc / phpPgAdmin / nombre de usuario .htpasswd
Un mensaje le pedirá que proporcione y confirme su contraseña.
Una vez que el nombre de usuario y las contraseñas se guardan par se puede ver que la contraseña está
encriptada en el archivo.
Terminar reiniciando apache:
sudo service apache2 restart
PhpPgAdmin Acceso:
phpPgAdmin ahora será mucho más seguro ya que sólo los usuarios autorizados podrán acceder
a la página de inicio de sesión. Acceso SuDirecciónIP / phpPgAdmin debe mostrar una pantalla como
Rellenar con el nombre de usuario y la contraseña que ha generado. Después de hacer login se
puede acceder phpPgAdmin con su nombre de usuario y contraseña de Postgres.
PostScript-Cómo crear un usuario Postgres:
Cambie el método de autenticación en el archivo de configuración de autenticación:
sudo nano / etc/postgresql/9.1/main/pg_hba.conf
El cambio se puede realizar en la siguiente línea:
# "Local" es para conexiones de socket de dominio Unix sólo
local de todas todas md5
Para empezar a crear usuarios, primer interruptor en el súper-usuario predeterminado y crear la
base de datos que el usuario inicie sesión en:
sudo su - postgres
Posteriormente, cree una nueva base de datos donde almacenar sus tablas:
createdb NewDB
Aunque la base de datos ha sido creada, el único usuario con acceso a la misma es el usuario por
defecto de postgres. Podemos permitir que otros usuarios puedan acceder y manipular la base de datos
mediante la creación de nuevos usuarios.
Una vez que haya iniciado sesión como super usuario predeterminada, puede mover hacia
adelante para crear más roles en el sistema PostgreSQL.
Para equipar su usuario con una contraseña, puede añadir la opción-P con el comando createuser:
createuser-P
Escriba el nombre de la función para agregar: newuser
Introduzca la contraseña para el nuevo rol:
Introduzca de nuevo:
¿Dirá el nuevo papel será un super usuario? (Y / n) y
Contraseña: escriba la contraseña del super usuario aquí
A continuación, puede iniciar sesión en postgres en una de varias maneras.
Si va a iniciar sesión en el uso de la identificación con los pares, puede simplemente escriba el comando
siguiente y especifique la base de datos que está iniciando sesión en:
NewDB psql
Si va a iniciar sesión en el uso de la identificación md5, puede incluir el usuario que prefiere
iniciar la sesión como:
psql-U newuser-W NewDB
Instalación del FTP:
El Protocolo de Transferencia de Archivos (FTP) es un protocolo TCP, que nos permite subir y
descargar archivos, funciona según el modelo cliente/servidor. Esta continuamente escuchando por el
puerto 21 TCP para las peticiones de conexión de clientes remotos, cuando recibe una petición la ges-
tiona, establece la conexión y ejecuta las órdenes enviadas por el cliente.
El acceso a un servidor FTP puede hacerse de dos maneras:
Anónimo
Autenticado.
Instalación de vsftpd:
Existen una gran variedad de servidores FTP para GNU/Linux, pero se le elige vsftpd ya que muy
fácil de configurar y es uno de servidores FTP más seguros. Para poder hacer la instalación del servidor
vsftpd tendremos que hacer lo siguiente.
Ya que termine de descargar e instalar los paquetes tenemos que hacer varios pasos para que
funcione nuestro servidor ftp.
Creación del grupo:
Ahora tenemos que crear un grupo el cual controle al servicio de vsftpd de la siguiente manera:
root@server1:#apt-get update
root@server1:#apt-get install vsftpd
root@server1:~#groupadd ftp
Creación del home:
Tenemos que crear el deposito o el home donde el usuario va alojar su información, cuando el
servidor vsftpd termina de instalarse crea una carpeta en home quedando de la siguiente manera
/home/ftp, pero tu puedes tener tus usuarios en otras rutas como /var/ftp.
Creación de shell FTP:
Lo que haremos es crear un shell virtual o fantasma, para que los usuarios no puedan conectarse
a una sesión del sistema operativo.
Ya que lo creamos, ahora se debe editar el siguiente archivo.
Agregar al final del archivo /etc/ftp.
Creando usuarios FTP:
Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comando.
root@server1:~#mkdir /home/ftp/rodmen
root@server1:~#mkdir /bin/ftp
root@server1:~#vim /etc/shells
/bin/bash
/bin/rbash
/bin/ftp
root@server1:~#useradd -g ftp -d /home/ftp/rodmen -s /bin/ftp rodmen
Tenemos que agregarle una contraseña a nuestro usuario creado.
Ahora hay que darle permiso al usuario pueda ser el dueño de su depósito.
Ficheros de configuración:
El servidor vsfptd tiene dos archivos muy importantes de configuración:
Configuración de vsftpd:
En este momento comenzaremos a configurar nuestro servidor vsftpd. Antes se recomienda
ampliamente crear una copia de respaldo de archivo de configuración:
Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf.
En el archivo tendremos que cambiar varios parámetros:
Parámetro anonymous_enable
Desactivar acceso a usuarios anónimos, para mayor seguridad.
root@server1:#passwd rodmen
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@server1:#
root@server1:#cd /home/ftp
root@server1:#chown rodmen.ftp rodmen/ -
/etc/vsftpd.conf (Este es el archivo de configuración de nuestro servidor ftp.)
/etct/vsftpd.chroot_list (Lista de los usuarios que van estar enjaulados.)
root@server1:#cd /etc
root@server1:/etc#cp vsftpd.conf vsftpd.conf-ori
root@server1:/etc#vim vsftpd.conf
Parámetro local_enable: #
Permitir a los usuarios autenticados tener sus propias carpetas locales, le quitamos el # para que
se active.
Parámetro write_enable:
Permitir el modo de escritura en su carpeta, le quitamos el #.
Parámetro local_umask:
Permitimos la a través de este parámetro enmascararlo con algún permisos en especial al
momento de subir la información.
En este caso estamos indicándole al parámetro, va tener permisos de rwx para el usuario, r-- para
el grupo y --- otro ningún permiso.
Enjaulando a los usuarios FTP:
Habilitamos el enjaulamiento de los usuarios dentro de su directorio personal y también para
acceder a sus carpetas por FTP.
anonymous_enable=NO
#local_enable=YES
local_enable=YES
#write_enable=YES
write_enable=YES
#local_umask=000
local_umask=037
#chroot_local_user=YES
#chroot_list_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
Habilitamos la siguiente línea que manda a llamar a un archivo, este archivo lo tiene que crear y
dentro de este agregar las cuentas de los usuarios enjaulados.
Al terminar de configurar el archivo de vsftpd.conf
Control del ancho de banda:
Se le pueden agregar más opciones al final del archivo.
Reinicio del servidor FTP:
Solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios que hemos
realizado al servidor.
#chroot_list_file=/etc/vsftpd.chroot_list
chroot_list_file=/etc/vsftpd.chroot_list
root@server1:/etc# touch vsftpd.chroot_list
root@server1:/etc#echo “rodmen”>> vsftpd.chroot_list
anon_max_rate=5100
#Ancho de banda para usuario anónimo 5kb.
local_max_rate=5100 #Ancho de banda por usuario local 5kb.
max_clients=3 #Numero máximo clientes conectados.
max_per_ip=2 #Numero máximo de conexiones por ip.
root@server1:/etc#/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd [OK]
Starting FTP server: vsftpd [OK]
Comandos FTP:
Para poder utilizar ahora nuestro servidor FTP seria por medio de comandos, por esto se
muestra la lista de comando de ftp y su descripción:
COMANDOS DESCRIPCION
cd [rutaRemota] Cambia de directorio dentro del servidor remoto
lcd [rutaLocal] Cambia de directorio en el equipo local
chgrp [grp] [rutaRemota] Cambia el grupo de trabajo de un fichero remoto. El [grp] tiene que
ser un Group ID
chmod [opciones]
[rutaRemota]
Cambia los permisos de Lectura, Escritura o de Ejecución a un
fichero remoto
chown [dueño][rutaRemota] Cambia el grupo de trabajo de un fichero remoto. El [dueño] tiene
que ser un User I
get [rutaRemota][rutaLocal] Copia un recurso remoto en un equipo local
lmkdir [rutaLocal] Crea una carpeta en el equipo local
mkdir [rutaRemota] Crea una carpeta en el equipo remoto
put [rutaLocal][rutaRemota] Sube un fichero o archivo desde una ruta local hasta una ruta
remota
pwd Imprime la ruta remota en la cual estamos trabajando
exit Salimos de SFTP
rename [rutaLocal]
[rutaRemota] Renombra un fichero remoto
rmdir [rutaRemota] Borra una carpeta remota
rm [rutaRemota] Borra un fichero remoto