Apachen Centos
Apachen Centos
Apachen Centos
Introducción.
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.12 y la noción de sitio virtual. 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 Behelendorf 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
EEUU, 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.
Tecleamos la siguiente orden en la terminal del sistema operativo:
Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL/TLS, ejecutamos lo
siguiente:
Una vez instalado, podemos poner el servicio HTTPD activo de forma permanente con la orden
chkconfig httpd on
Ni que decir tiene que tenemos que abrir el puerto 80 del cortafuegos.
mkdir -p /var/datos/fotos/
Cambiamos los contextos de SELinux de este directorio, con la finalidad de que tenga rol de objeto
(object_r), creado por usuario de sistema (system_u) y tipo httpd_sys_content_t:
gedit /etc/httpd/conf.d/ejemplos.conf
Recargamos el servicio
mkdir -p /var/www/privado
touch /var/www/claves
Ahora, desde el terminal, escribimos el mandato htpasswd junto con la ruta de directorio y el
usuario para crearle la clave.
Redirección de directorios.
Genere el archivo denominado /etc/httpd/conf.d/redireccion.conf
gedit /etc/httpd/conf.d/mimes.conf
Para comprobar un sonido desde la página, podemos copiar uno del propio sistema Ubuntu, y
descargarlo dentro de una de las carpetas del sitio web.
cp /usr/share/sounds/ubuntu/stereo/phone-incoming-call.ogg /var/datos/fotos/sonar.ogg
Entramos a la dirección donde está ubicado el archivo .ogg desde el navegador y este es el
resultado: http://127.0.0.1/fotos/sonar.ogg
Generando firma digital y certificado.
Como usuario root, entramos al siguiente directorio.
cd /etc/pki/tls
Para que no nos pida tener que poner la parafrase cada vez, introducimos la siguiente orden.
openssl x509 -req -days 730 -in certs/dominio.tld.csr -signkey private/dominio.tld.key -out
certs/dominio.tld.crt
gedit /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateFile /etc/pki/tls/certs/dominio.tld.crt
SSLCertificateKeyFile /etc/pki/tls/private/dominio.tld.pem
Debemos tener en cuenta que debemos tener el HTTPS abierto en el cortafuegos (Puerto 443)
Abrimos nuestro navegador favorito e introducimos como dirección https://127.0.0.1/fotos y
aparecerá lo siguiente.
mkdir -p /var/www/red20b.local/{cgi-bin,html,logs,etc}
gedit /etc/httpd/conf.d/dominio.conf
<VirtualHost *:80>
ServerAdmin angel_aranda86@hotmail.com
DocumentRoot /var/www/red20b.local/html
ServerName www.red20b.local
ServerAlias red20b.local
Redirect 301 / https://www.red20b.local/
CustomLog logs/red20b.local-access_log combined
Errorlog logs/red20b.local-error_log
</VirtualHost>
Reiniciamos el servicio Apache.
Para hacer hosting a un usuario, lo que tenemos que hacer es poner el DocumentRoot en
/home/usuario/, que es donde tiene alojado su pagina web.
mkdir -p /home/usuario/{cgi-bin,html,logs,etc}
<VirtualHost *:80>
ServerAdmin usuario@dominio.com
DocumentRoot /home/usuario/html
ServerName www.dominio.com
ServerAlias dominio.com
Redirect 301 / https://www.dominio.com/
CustomLog logs/dominio.com-access_log combined
Errorlog logs/dominio.com-error_log
</VirtualHost>
Soporte CGI.
Si queremos añadir que se reconociera la extensión *.cgi como un guión CGI (Common Gateway
Interface), solo bastará añadir un fichero que denominaremos, arbitrariamente,
/etc/httpd/conf.d/cgi.conf con el siguiente contenido:
#!/usr/bin/perl
print "content-type: text/htmlnn";
print scalar localtime;
print "n";
Sección Paginade
setsebool -P httpd_enable_homedirs 1
Reiniciamos el servicio
127.0.0.1/paginade
Y este es el resultado.