¿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
- Modular.
- Código abierto.
- Multi-plataforma.
- Extensible.
- Popular (fácil conseguir ayuda/soporte).
DESVENTAJAS
- Formatos de configuración no estándar.
- No cuenta con una buena administración.
- 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
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.
/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.
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...
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.
Y cuando se conecte tendremos que introducir el archivo que queremos que se muestre en la el servidor.