martes, 5 de febrero de 2019

SERVIDOR APACHE

¿QUÉ ES APACHE? 

El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual según la normativa RFC 2616.

 VENTAJAS Y DESVENTAJAS


VENTAJAS
  1. Modular.
  2. Código abierto.
  3. Multi-plataforma.
  4. Extensible.
  5. Popular (fácil conseguir ayuda/soporte).

DESVENTAJAS
  1. Formatos de configuración no estándar.
  2. No cuenta con una buena administración.
  3. Falta de integración.

 HISTORIA 

Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que alguien quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de Estados Unidos, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server.

 INSTALACIÓN SERVIDOR APACHE

Instalar Apache


Después de instalar el servidor apache necesitaremos cambiarle la contraseña al usuario Root.
Sería con el siguiente comando.

sudo passwd root

Ahí nos pedirá una nueva contraseña, pondremos una que recordemos.

CONFIGURACIÓN DEL SERVICIO 

Después de tener instalado apache y cambiada la contraseña del root, tendremos que instalar mysql 
sudo apt-get install mysql-server



Después de instalar mysql tenemos que instalar los modulos necesarios 
sudo apt-get install libapache2-mod-php php php-pear php-cgi php-gd




A continuación instalamos 
sudo apt-get install php-mysql



Y por último phpmyadmin
sudo apt-get install phpmyadmin


Mientras lo estamos instalando nos pedirá indicar que servidor web queremos configurar y señalamos Apache2
Nos dirá que tenemos que configurar la base de datos con dbconfig-common.
La contraseña que cambiamos anteriormente del root es la que tendremos que poner ahora en la aplicación de MySQL para phpmyadmin

Luego reiniciaremos el equipo.


 Y ya tendremos todo instaladado, para comprobarlo tendremos que escribir en el navegador localhost.


La ruta en la que se encuentra los archivos que tendremos que poner para que se muestre en nuestro servidor apache es

/var/www/html

Los archivos .html .php , etc que pongamos aquí saldrán en el navegador cuando busquemos.

Ejemplo:
Hemos buscado el archivo index.html, por lo cuál introduciremos en el navegador la siguiente ruta.

localhost/index.html



Ahora para poder habilitar el trafico de red y configurar el Firewall vamos a la lista de perfiles de Apache con el comando sudo ufw app list




En esta caso voy a seleccionar el perfil Apache, lo seleccionamos con el comando sudo ufw allow 'Apache'



 

Instalación de un CMS

Por ejemplo vamos a instalar Wordpress, en nuestro servidor, para ello tendremos que descargarnos el .zip de wordpress desde su página (aqui).

Una vez que lo tengamos descargados tenemos que descomprimir el archivo en la carpeta /var/www/html/ se creará una carpeta automáticamente que se llamará wordpress 

Para descomprimir el archivo usaremos el siguiente comando.
unzip + el nombre del archivo

luego ejecutaremos

sudo nautilus

y en la ventana que nos sale copiaremos el archivo que se nos queda de wordpress y lo pegamos en la carpeta /var/www/html/

Y listo.

 Para empezar a configurar tenemos que irnos a un navegador e introducir
localhost/wordpress


Una vez que nos aparezca esta pantalla damos en el botón de ¡Vamos a ello!

Ahora nos tenemos que abrir otra pestaña en el navegador para configurar la base de datos primero
localhost/phpmyadmin


Para poder entrar tendremos que usar el nombre de usuario phpmyadmin y la contraseña que pusimos durante la instalación anterior.


Una vez dentro nos tendremos que crear una base de datos, para ello vamos al apartado de base de datos y escribimos el nombre de la base de datos y aceptar.

Y podremos volver a la página de wordpress y pondremos lo datos que nos pida:
Tendremos que poner los datos que nos van pidiendo como datos del usuario administrador, contraseña, etc...

Por último cuando accedemos ya podremos ver nuestra página.

Creación de usuarios


Primero crearemos la carpeta donde estarán los usuarios.
sudo mkdir -p /var/www/html/users

Luego asignaremos cada usuario a sus carpeta con el comando:

sudo adduser usuario1 --home /var/www/html/users/usuario1

Y así con todos los usuarios que queremos que estén.

 Para poder proteger algún usuario tenemos que instalar un módulo.
sudo apt-get install libapache2-mod-authn-sasl

Para que un usuario pida contraseña tendremos que hacer lo siguiente
sudo htpasswd -c /etc/apache2/.htpasswd usuario3




Después tendremos que entrar en la configuración de apache y cambiar unos valores con el siguiente comando:
sudo nano /etc/apache2/apache2.conf 




Por último para que quede protegido tendremos que proteger la carpeta que creamos anteriormente para el usuario3 con el comando 
sudo nano /var/www/html/users/usuario3/.htaccess






Para saber los módulos que tenemos en Apache tendremos que introducir
Apachectl -M

Acceso Usuarios mediante FTP

Para poder acceder mediante FTP a la carpeta de cada usuario, tendremos que ingresar la dirección de nuestra maquina como servidor y de nombre el usuario.

Y cuando se conecte tendremos que introducir el archivo que queremos que se muestre en la el servidor.