SERVIDOR WEB Y PROXY.

Transcripción

SERVIDOR WEB Y PROXY.
SERVIDOR WEB Y PROXY.
INSTALACION APACHE:
forma 1 = Sudo apt-get install apache2
forma 2 la adecuada (con mysql php y apache) = # sudo apt-get install tasksell, tenemos que coger
de lo que sale que pone '' LAMP Server ''.
contraseña rootroot.
Apache se instala en ''/var/www/html/''
AHORA HAY QUE CONSEGUIR QUE ''/home/usuario/public_html'' (esta
carpeta se debe crear como usuario normal, no como root) se conecte mediante
apache o mediante ''/var/www/html'' ← este es el home del apache
crear una copia de seguridad en /var/www/html del index ''# cp index.html inder-original.html''
para poder editar el html de la pagina de apache, y despues la editamos eliminando todo lo que hay
dentro del body y dejamos nuestro nombre
ahora vamos a nuestra carpeta de usuario, en mi caso
/home/fran
y en esta carpeta creamos la carpeta ''public_html'' però esta carpeta la creamos como usuario
normal, sin ser root, y dentro ''public_html'' carpeta creamos el ''index.html'' sin ser root tambien.
Y para entrar en ella utilizamos nuestra ip '192.168.26.213/~fran'' o ''localhos/~fran''
PERO ANTES DE ESTO TENEMOS QUE EDITAR EL ACCESO PARA QE EL USUARIO
PUEDA ACCEDER
ejecutamos este comando como sudo: # a2emmod userdir
y la pagina ya funciona
Para quitar la virgulilla ''~'' del nombre los usuarios:
Instalamos sudo aptitude install libapache2-mod-perl2
Que nos instalara un nuevo mod de apache, que nos permitirá a su vez ejecutar el siguiente código,
que quitara la virgulilla (~) de las urls de los usuarios.
Una vez instalado ejecutamos el comando
gedit /etc/apache2/apache2.conf
Y añadimos el siguiente código alfinal del archivo:
<perl>
opendir H, '/home/';
my @dir = readdir(H);
closedir H;
foreach my $u (@dir) {
next if $u =~ m/^\./;
if (-e "/home/$u/public_html"){
push @Alias, ["/$u", "/home/$u/public_html/"];
}
}
</perl>
Reiniciamos con /etc/init.d/./apache2 restart y ya está
Crear archivo php:
Todo lo que este entre esto se leera como php , y los archivos tienen que guardarse con ''.php''.
Ejemplo ''prueba.php''
→ <?php
echo ''mi primer archivo PHP en el /var/www/'' ;
?>
como vemos el archivo se puede ver sin problema porque esta creado en ''/var/www/html/'', però
cuando creamos el archvio en /home/usuario/public_html/'' no podemos acceder a el a no ser que
sigamos los siguientes pasos.
Para poder hacer que el archivo php se pueda ver en el public html del home
''/home/usuario/public_html'' primero crreamos el archivo .php y seguimos estos pasos
PRIMERO
tenemos quen ir a
y crear unac opia del archivo php5.conf con el comando ''cp -p php5.conf php5-original.conf''
ahora abrimos el archivo php5.conf borramos todos su archivos y copiamos solo la segunda parte:
http://docencia.proven.cat/jbarrantes/google_personal/ejemplos/conf_php5.conf
<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#
php_admin_value engine Off
</Directory>
</IfModule>
y reiniciamos el apache 2 con:
/etc/init.d/./apache2 restart
con esto tenemos nuestro php apto para hacer lo que queramos, por ejemplo contraseñas a los
archivos, ftp...etc
YA TENEMOS HABILITADO EL PHP, AHORA VAMOS A HACER EL SERVIDOR
CON APACHE
para ello tenemos que descargar este archivo en la maquina virtual:
https://docencia.proven.cat/jbarrantes/google_personal/ejemplos/subir_archivos.zip
y una vez se haya descargado metemos el archivo descomprimido en la carpeta
''/home/fran/public_html''
y en el navegador iniciamos vamos a localhost/fran/miftp para entrar en ella
Ahora borraremos la contraseña q viene predetirminada, la borramos en el archivo index.php
dentro de la carpeta miftp
el archivo viene editado así:
y tenemos que dejarlo así
y ya no nos pide contraseña
Para cambiar la contraseña lo que debemos hacer es, entrar en el archivo ''candado.php''
y dejarlo así con la contraseña que queramos:
y para que pida la contraseña descomentamos el arhcivo candado.php:
PARA ENCRIPTAR TU CONTRASEÑA PHP.
Creamos un archivo y lo nombramos contra.php en este archivo escribimos
<?php
echo md5 ('contraseña');
?>
ahora abrimos el archivo contra.php en el navegador, y esta es nuestra contraseña encriptada:
y la copiamos en el archivo candado.php
Hacer servidores de dominio
PRIMERO INSTALAMOS EL BIND9 y configuramos la zonas
sudo apt-get install bind9
y haccemos la configuración segun pone aquí:
https://docencia.proven.cat/jbarrantes/google_personal/prueba7.php?num=343
cuando este configurado:
y ahora podemos entrar en froque.foo/fran/..etc
HACER PAGINAS HTTPS (SEGURAS)
Habilitar el módulo de seguridad SSL de apache2 como sudo:
# sudo a2enmod ssl
Hacer el cerfificado autofirmado SSL:
Primero crearemos un directorio en sudo mkdir /etc/apache2/ssl
Ahí generaremos las claves, pero primero, porque nos lo preguntará cuando lo
hagamos, tenemos que crearnos nuestro dominio en bind9, por ej, perla.foo.
sudo openssl req -x509 -nodes -days 365 (con este determinamos los dias
de duración) -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key
-out /etc/apache2/ssl/apache.crt
Cuando nos pide el Comon (e.g. server FQDN or YOUR name) ← aquí
debemos poner nuestro dominio. ''Froque.foo''
Las claves de seguridad estan creadas en /etc/apache2/ssl
Cofigurar el SSL en Apache2
Primero haremos una copia de seguridad: sudo cp -p /etc/apache2/sites-available/default
ssl.conf /etc/apache2/sites-available/default-ssl.conf_original.
Ahora editaremos el archivo:
sudo gedit /etc/apache2/sites-available/default-ssl.conf
y eliminamos todo lo que tenga ese archivo y copiamos esto:
https://docencia.proven.cat/jbarrantes/google_personal/ejemplos/ssl-apache2.txt
Activar SSL para el host-domnio:
sudo a2ensite default-ssl.conf
y reiniciamos el apache:
sudo service apache2 restart
RESTRINGIR MEDIANTE CONTRASEÑA A ALGUNOS
DIRECTORIOS ( .usuarios)
https://docencia.proven.cat/jbarrantes/google_personal/prueba7.php?num=349
Asociar varios dominios a una misma ip:
Archivos a modificar
/etc/bind/
/var/www/html
apache2.conf
Pasos a seguir.
A- El directorio.
Crearemos un directorio en /var/www/html/ lo creamos asi:
sudo mkdir -p /var/www/html/trinidad.foo/public_html
sudo mkdir -p /var/www/html/roque.foo/public_html
y dentro de este creamos otro que ponga public_html.
B.-Permisos
Si queremos que nuestro usuario regular pueda modificar los archivos en nuestro directorio web,
necesitamos cambiar el propietario haciendo lo siguiente:
sudo chown -R $USER:$USER /var/www/html/trinidad.foo/public_html
sudo chown -R $USER:$USER /var/www/roque.foo/public_html
Debemos además modificar los permisos un poco para asegurarnos que el permiso de lectura pueda
ser aplicado a archivos y directorios para que las páginas puedan ser desplegadas correctamente:
sudo chmod -R 755 /var/www/html
Ahora tenemos que crear el index dentro de las public_html creadas previamente:
sudo gedit /var/www/html/trinidad.foo/public_html/index.html
sudo gedit /var/www/html/roque.foo/public_html/index.html
C.- Archivos virtuales e sites-avalaible :
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sitesavailable/trinidad.foo.conf ← Esto es para crear un sitio virtual
ahora tenemos que editar el archivo trinidad.foo.conf:
sudo gedit /etc/apache2/sites-available/trinidad.foo.conf
y eliminamos todo loq ue este dentro de
<VirtualHost *:80> y </VirtualHost>
y copiamos esto:
ServerAdmin [email protected]
ServerName esmeralda.foo
ServerAlias www.esmeralda.foo
DocumentRoot /var/www/html/esmeralda.foo/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
y sustituimos donde ponga esmeralda por el nombre de la pagina o apellido, en mi caso
«trinidad.foo»
D- Activar los host virtuales:
sudo a2ensite trinidad.foo.conf
sudo a2ensite roque.foo.conf
y luego reiniciar el servicio
''service apache2 restart''

Documentos relacionados