Servidores LAMP / 0712 min

Configurar aplicación web

Configura el servidor web, la aplicación y su conexión a la base de datos.

Tu guía paso a paso

  1. 01

    Configura el servidor web, la aplicación y su conexión a la base de datos.

  2. 02

    Lee el ejemplo de referencia. En el laboratorio utiliza los archivos, repositorios y servidores locales precargados.

  3. 03

    Ejecuta los comandos paso a paso, inspecciona el resultado y registra lo que aprendiste antes de completar la lección.

Ejercicio del laboratorio

Estos comandos usan paquetes y servicios precargados dentro del laboratorio. Las referencias de producción originales se conservan abajo.

bash
# Complete the PHP, database and download exercises first.
sudo cp /opt/course/config/nextcloud.apache /etc/apache2/sites-available/nextcloud.conf
printf 'Listen 8081\n' | sudo tee /etc/apache2/conf-available/course-port.conf
sudo a2enconf course-port
sudo a2ensite nextcloud
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl restart apache2
sudo -u www-data php /var/www/html/nextcloud/occ maintenance:install --database mysql --database-name course --database-user course --database-pass 'Only-In-This-Lab-42!' --admin-user student --admin-pass 'Only-In-This-Lab-42!' --data-dir /var/www/nextcloud-data
sudo -u www-data php /var/www/html/nextcloud/occ config:system:set trusted_domains 1 --value=cloud.lab
curl http://127.0.0.1:8081/status.php
Ejemplo original de referencia

Conservado del taller original en español. En el lab usa los recursos locales.

bash
# Lo primero que hacemos es crear el virtual host para nuestro server usando como
# plantilla el virtualhost por defecto para http
# Primero accedemos a /etc/apache2/apache2.conf
sudo vim /etc/apache2/apache2.conf
# y cambiamos
#
#
#
<Directory /var/www/>
        Options FollowSymLinks Indexes
        AllowOverride None
        Require all granted
</Directory>
# 
# a 
#
<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
#
# Nótese que lo único que hacemos es remover la directiva Indexes a la carpeta /var/www/
#
# Luego copiamos el virtualhost que viene por defecto para realizar nuestras personalizaciones
#
sudo cp -a /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nextcloud.conf
#
# Se procede a cambiar la directiva DocumentRoot a /var/www/html/nextcloud en /etc/apache2/sites-available/nextcloud.conf
sudo vi /etc/apache2/sites-available/nextcloud.conf
# Debemos cambiar la directiva DocumentRoot y agregar las directiva <Directory > </Directory> para que queden de la siguiente manera:
#
	DocumentRoot /var/www/html/nextcloud
	ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
	CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined

        <Directory /var/www/html/nextcloud/>
		Require all granted
		Options FollowSymlinks MultiViews
		AllowOverride All

		<IfModule mod_dav.c>
			Dav off
		</IfModule>

		SetEnv HOME /var/www/html/nextcloud
		SetEnv HTTP_HOME /var/www/html/nextcloud
		Satisfy Any
	</Directory>
# Guardar archivo con las teclas Escape mas  :wq!
#
#
# Deshabilitamos el sitio activado por defecto
sudo a2dissite 000-default.conf
sudo rm /var/www/html/index.html
#
# Activamos nuestro sitio y activamos los modulos requeridos
sudo a2ensite nextcloud.conf
a2enmod rewrite headers env dir mime setenvif ssl
# Reiniciamos el servicio de apache
sudo systemctl restart apache2
#
# Ahora procedemos a realizar la configuración de nextcloud, necesitaremos la base de datos con el usuario autorizado a usarla y la contraseña y deberemos
# configurar un usuario administrativo para nextcloud, para esto volvemos a acceder a nuestro server a travez del navegador:
# http://IP-SERVER-REMOTO
#

Marcar lectura completada

La lectura completada no verifica la ejecución del ejercicio.