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 aptget 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 gestiona, 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. root@server1:#apt-get update root@server1:#apt-get install vsftpd 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:~#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. root@server1:~#mkdir /home/ftp/rodmen 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. root@server1:~#mkdir /bin/ftp Ya que lo creamos, ahora se debe editar el siguiente archivo. root@server1:~#vim /etc/shells Agregar al final del archivo /etc/ftp.
/bin/bash /bin/rbash /bin/ftp Creando usuarios FTP: Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comando. root@server1:~#useradd -g ftp -d /home/ftp/rodmen -s /bin/ftp rodmen
Tenemos que agregarle una contraseña a nuestro usuario creado. root@server1:#passwd rodmen Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@server1:# Ahora hay que darle permiso al usuario pueda ser el dueño de su depósito. root@server1:#cd /home/ftp root@server1:#chown rodmen.ftp rodmen/ Ficheros de configuración: El servidor vsfptd tiene dos archivos muy importantes de configuración: /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.) 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: root@server1:#cd /etc root@server1:/etc#cp vsftpd.conf vsftpd.conf-ori
Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf. root@server1:/etc#vim vsftpd.conf En el archivo tendremos que cambiar varios parámetros: Parámetro anonymous_enable Desactivar acceso a usuarios anónimos, para mayor seguridad.
anonymous_enable=NO Parámetro local_enable: # Permitir a los usuarios autenticados tener sus propias carpetas locales, le quitamos el # para que se active. #local_enable=YES local_enable=YES Parámetro write_enable: Permitir el modo de escritura en su carpeta, le quitamos el #. #write_enable=YES write_enable=YES 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. #local_umask=000 local_umask=037 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. #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. #chroot_list_file=/etc/vsftpd.chroot_list chroot_list_file=/etc/vsftpd.chroot_list Al terminar de configurar el archivo de vsftpd.conf root@server1:/etc# touch vsftpd.chroot_list root@server1:/etc#echo “rodmen”>> vsftpd.chroot_list
Control del ancho de banda: Se le pueden agregar más opciones al final del archivo. 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.
Reinicio del servidor FTP: Solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios que hemos realizado al servidor. 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]
Cambia los permisos de Lectura, Escritura o de Ejecuci贸n a un
[rutaRemota]
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