https://paquita.masto.host/polkillas

Ubuntu (Max) y el concurso de traslados

He completado hoy con la aplicación online el concurso de traslados de profesores de secundaria y me encontrado un error al intentar presentar la solicitud telemáticamente. La aplicación (una cosa supermoderna optimizada para Explorer 7…) te pide que firmes la solicitud y tienes que instalarte la aplicación de Auto Firma. Pero una vez la he instalado, he reiniciado el navegador (Firefox) y he intentado firmar la instancia, me ha dado un error de código SAF_19.

Esto lo he solucionado desinstalando la versión de AutoFirma que me había descargado con el enlace y descargando la versión proporcionada por la Junta de Andalucía (https://ws024.juntadeandalucia.es/clienteafirma/autofirma/autofirma.html#https://ws024.juntadeandalucia.es/clienteafirma/autofirma/autofirma.html), que al instalarse sí me ha confirmado que había detectado los usuarios de Chromium y Firefox. Pero al intentar de nuevo firmar la instancia me ha dado el error SAF_08.  Y este me ha superado, no he sido capaz de arreglarlo.

Me he tenido que ir a Windows para hacerlo. Y así siguen las cosas: la Comunidad de Madrid tiene un sistema operativo libre y gratuito —MaX, MadridLinuX— y luego es incapaz, pese al esfuerzo de los compañeros que trabajan en él, de hacer que un trámite obligatorio para decenas de miles de sus trabajadores se pueda hacer de forma normal con él. Lamentable.

Sigo siendo un tonto

Ayer hablando con un liberal. Pero no uno de boquilla, de esos que votan a los socialdemócratas del PP. Uno de verdad, del que hora al Partido de la Libertad Individual. Buscadlo, do no lo conocéis.

Pues results que los bancos en España llenan 40 años perdiendo dinero y las energéticas, 30; y el Estado los has subvencionado para que no caigan. Y ¿de quién es la culpa? Como es evidente, del Estado. La (falta de) lógica se me escapó y se me sigue escapando, pero parece quite es autoevidente que, si el Estado lleva;  40 años asistiendo a unas empresas privadas, la culpa es suya, por intervenir. Porque una empresa que receive subvenciones no tiene estímulos para ganar dinero, parece.

Y hoy, hablando cob un amigo sobre la situación de España. He conseguido que admita: que un país con un 30 % de pobreza infantil no causa todo lo bien que podría, pero la solución es sencilla: abstención activa. Porque cuando un partido (PP o PSOE, la misma mierda no acaba de ser aunque a veces se parezca) saque una mayoría de 200 diputados con 300 000 votos, no va a pensar que tiene un cheque en blanco, no. Va a darse cuenta de que esa un grito de rebeldía del pueblo soberano y ahí empezarán a cambiar las cosas.

En un aspecto que no tiene absolutamente ninguna relación, leía hoy en Twitter a alguien decir que cada vez le vuestra más no justificar el recurso a la violencia.

30 % de pobreza infantil

Paro juvenil rondando el 40 %

Decenas de miles de personas la calle sin segunda oportunidad

La misma semana que hay que rescatar a la R-2, R-3, R-4, AP-41 y R-5, se propone la R-1

La última amnistía fiscal es declarada inconstitucional pero no hay efectos prácticos y, por so acaso, se dicta sentencia después de que hayan prescrito los posibles delitos fiscales

El PP de Madrid avisa a partido de ser todos pederastas y narcotraficantes y luego se can ofendidos porque se les acusa de corruptos

Mira, a la mierda ya.

Harto de la izquierda

Estoy harto. Hasta los cojones de cierta izquierda. De los santos de los santos. De esos que nunca se equivocan y siempre tienen la razón. De que cuando sus opciones suben en las encuestas sea porque sus verdades son evidentes y cuando bajan ocurra porque hay oscuros intereses en contra. De que opinen que «cuando peor, mejor». Cuando acusan a otros de elitistas y se compadecen de su ignorancia, como si eso no fuera elitista. De que se peleen más con los cercanos que con los lejanos. De que dediquen más tiempo y esfuerzo a atacar a las fuerzas con las que podrían aliarse que a ir contra este Gobierno criminal y corrupto. De que Garzón sea un hijoputa por cargarse IU en Madrid pero nos callemos como putas cuando sale gente de IU en Madrid implicada en corrupciones. De que (como en la frase anterior) el feminismo y otras luchas tengan que ser abandonadas en favor de «lo importante». De que se critique que el «ayuntamiento del cambio» en Madrid no haya cambiado nada sin recordar que es un ayuntamiento en minoría y dividido entre la BH, los comunes, los carmenistas y otras familias que vete tú a saber.

Y también estoy harto de que banalicemos estas cosas, de que hablemos de la BH (berdadera hizkierda) y hagamos chistes en lugar de buscar puntos de encuentro que favorezcan un cambio real. De que todos tengamos razón y no estemos dispuestos a ceder ni un milímetro, sin mirar a nuestro alrededor y ver cómo los otros sí lo hacen. Y por eso ganan.

Cursillo prematrimonial

Hace unos días, justo antes de Semana Santa, hicimos Virginia y yo el cursillo prematrimonial. Lo hicimos en la parroquia donde nos vamos a casar, en los salesianos de Estrecho. Me parecía algo evidente, hacer el cursillo donde te casas, pero resulta que no lo es tanto. De las seis parejas que hicimos el cursillo, solo nosotros vamos a casarnos en Estrecho, el resto venían de su padre y de su madre. Y en el caso de una pareja, sus padres y madres estaban en México, nada menos.

En la parroquia hay dos grupos de matrimonios que dan los cursillos. Esta, para algunas de las parejas, fue la primera sorpresa: que el cursillo no lo diera el cura, sino laicos. Tiene sentido, un cura sabrá mucho menos de la vida conyugal que alguien que se haya casado, pero la gente no espera este tipo de lógica de la Iglesia.

Se podría decir que tuvimos mala suerte, porque nos tocó el grupo más mayor, los sesentones en lugar de los cuarentones. Quieras que no, me habría parecido mejor que las personas tuvieran una edad más cercana a la nuestra (y conste que yo era el más viejo de los 12 novios).

Sin embargo, al final nos ha parecido a los dos que el cursillo no ha estado mal. Todo lo que se dijo sobre el matrimonio tenía entre bastante y muchísimo sentido, y no hubo muchas digresiones sobre otros temas. Salimos satisfechos, me parece.

Pero el resto de parejas lo flipó en colores. Lo fli-pó. Por ver a gente que es creyente, pero creyente de verdad, de esas que van a la parroquia a colaborar, diciendo cosas de persona normal y dando consejos interesantes para alimentar el amor en la pareja. Por ver una parroquia donde no se pregunta por qué se casa uno por la iglesia, sino que se alegra de que se haga. Y, sobre todo, por ver a un cura, Mariano, que decía cosas con las que no te quedaba más remedio que estar de acuerdo, valorarlas  y agradecerlas. Y valorarle tanto que la mitad de las parejas han acabado pidiendo a Mariano que sea él quien oficie en su boda. Porque en cinco días ha conseguido dejar de ser un extraño para ellos y ser alguien a quien conocen, por poco que sea, y aprecian.

Esto me parece maravilloso, y en el ambiente de los salesianos seguramente no le demos importancia a estas cosas, a esta forma de ser, porque la damos por supuesto, y no es lo habitual. Así que sirva este pequeño texto como homenaje y agradecimiento a los salesianos que dan este testimonio al mundo, representados aquí por Mariano.

Armas buenas, armas malas

Vuelve a oírse hablar de Siria después de unos meses de silencio. Como si hubieran dejado de pasar cosas terribles en los últimos meses, como si hubiera algún tipo de tregua que se hubiera roto ahora.

No, en Siria no ha habido ningún cambio importante. Lo que ha pasado es que ha habido unas cuantas muertes debidas a algún tipo de intoxicación debido a armas químicas. Y ya se sabe que las armas químicas son intolerables.

Y esto me parece una hipocresía terrible. Es decir, que hay armas buenas y armas malas. Las armas malas están oficialmente prohibidas en casi todo el mundo y usarlas significa echarte encima a la puta comunidad internacional.

Sin embargo, los misiles Tomahawk, los fusiles de asalto, los vehículos blindados de transporte, etc. son buenos. Se pueden usar sin problemas. Son armas buenas, porque… La verdad es que no sé por qué podrían serlo.

Aparte están las armas nucleares, que son buenas si las tienen los buenos. Y por los buenos quiero decir nuestros aliados, no los que sean éticamente menos malos, por supuesto.

Yo, ingenuo de mí, pensaba que las armas eran malas porque hieren y matan a seres humanos. No debe de ser el caso, claramente, porque hay armas buenas. Pero no entiendo qué es lo que las convierte en buenas. ¿Tú lo sabes?

Nextcloud en la Raspberry Pi (14). Más seguridad con fail2ban

Si tenemos datos personales o delicados almacenados en nuestra nube o si somos de natural desconfiado, veremos con buenos ojos la posibilidad de aumentar la seguridad de nuestro Nextcloud. Una posibilidad para ello es instalar fail2ban.

La idea de fail2ban es controlar los intentos fallidos de registrarse en nuestra nube. Si fail2ban detecta que desde una dirección IP está habiendo demasiados intentos fallidos, lo que suele indicar que alguien está intentando entrar sin tener contraseña, lo que se conoce como un ataque de fuerza bruta, produce un tiempo de espera que, a cada intento fallido,  va aumentando, de tal manera que fallar una o dos veces al meter nuestra contraseña no sea un incordio pero si alguien se pone a meter contraseñas una tras otra el tiempo aumente tanto que no merezca la pena.

Para esta guía sigo a pies juntillas el tutorial de Carsten Rieger en su página web.

Actualizamos la información e instalamos fail2ban con sudo apt update && sudo apt install fail2ban.

A continuación tenemos que crear un filtro, para que fail2ban pueda saber que ha habido un intento fallido. Lo creamos con sudo nano /etc/fail2ban/filter.d/nextcloud.conf y copiamos el siguiente texto:

[Definition]
failregex=^{"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","level":2,"time":".*"}$
^{"reqId":".*","level":2,"time":".*","remoteAddr":".*","app":"core".*","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)".*}$
ignoreregex =

Aunque en realidad las expresiones regulares me superan, lo que entiendo que hace esto es buscar el mensaje «Login failed» (registro fallido) para saber que ha habido un intento. Guardamos el filtro con ctrl+W.

A continuación, creamos una nueva jaula (jail). No me preguntéis para qué sirve esto, porque no lo sé, supongo que será el archivo que dice a fail2ban qué tiene que hacer cuando detecta estos fallos. Lo hacemos con sudo /etc/fail2ban/jail.d/nextcloud.local y copiamos el siguiente texto:

[nextcloud]
backend = auto
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 3
bantime = 36000
findtime = 36000
logpath = /var/nc_data/nextcloud.log

Podemos variar la última línea si queremos cambiar el lugar donde se guarda el registro, el que viene es la configuración por defecto en la instalación de Carsten Rieger. Tenemos que tener cuidado porque, si en esta línea ponemos un archivo que no existe, fail2ban dará un error.

Si no pasa nada malo, con esto ya tenemos instalado y configurado fail2ban, lo podemos comprobar con sudo service fail2ban status.

Estado de fails2ban

Para salir de esta información, pulsamos ctrl+C.

Si nos salta un error, es posible que sea por lo que comentaba antes. Para crear el archivo, se usa el comando touch. Siguiendo el ejemplo anterior, deberíamos hacerlo con sudo touch /var/nc_data/nextcloud.log. Volvemos a reiniciar el servicio con sudo service fail2ban status y ya debería estar.

Colores personalizados en LibreOffice

Nota rápida para no olvidar cómo lo hice. ¿El qué? Conseguir cambiar los colores que propone LibreOffice para, por ejemplo, rellenar el fondo de tablas y celdas.

Estaba copiando un cartel que he visto en Twitter (licencia CC, por supuesto) y no era capaz de poner un color mostaza como fondo de una celda en una tabla. Pues la cosa es que hay que insertar cualquier objeto (elipse, flecha, rectángulo…) desde la barra de dibujo. Se selecciona y vamos al menú Formato > Cuadro de texto y forma > Relleno y podemos cambiar la paleta por, por ejemplo, «html», que tiene colores más variados. Incluso se pueden definir colores personalizados.

Algo que tendrán que simplificar, sin duda.

Días desencantadores [actualizado]

  1. Estar en el instituto, ir al baño de profesores, ver a un compañero miccionando en el váter sin tirar de la cadena ni limpiar las tres gotitas.
  2. Estar en el departameno de Lengua y oír a alguien quejarse de que sus alumnos no saben nada de Lengua.

Sinceramente, hay días que me vengo un poco abajo. Si somos nosotros quienes tenemos que educar a las nuevas generaciones, vamos jodidos.

  1. Ni reglas básicas de urbanidad. Cuántas veces habremos dicho eso de «¿En tu casa tirarías papeles al suelo?». Pues no veo a nadie dejando un baño (recién limpiado, por cierto) en su casa como me he encontrado el de profesores hoy.
  2. ¿Qué queremos? ¿Alumnos que ya saben? ¿Para qué servimos entonces? ¿Cuál debería ser nuestro trabajo si solo queremos alumnos que vienen ya enseñados?

En fin. Seguiremos. Qué remedio.

Actualizado 10/2/17: Hoy, en otro baño de profesores de otro edificio del instituto, me he encontrado un cartel revelador: UTILIZAR LA ESCOBILLA. GRACIAS. Intentaré tomármelo como que hay gente que sigue luchando contra cómo son las cosas.

Nextcloud en la Raspberry Pi (10). Avisos de seguridad de Nextcloud

Actualizado a Nextcloud 14 el 14/10/18

Pantalla de configuración de Nextcloud 14

Cuando entramos en la configuración de Nextcloud 14, nos vamos a encontrar varios avisos de cosas que no están configuradas de la mejor manera posible.  Vamos a ver cómo solucionarlo.

Correo

El primer aviso es sobre el servidor de correo que usa Nextcloud para mandar sus correos de bienvenida, avisos, etc. a los usuarios.  Hasta la versión 13, Nextcloud usaba el servidor de correo incorporado de PHP, pero ha dejado de usarlo. Ahora debemos suministrarle los datos de una cuenta de correo que funcione. Lo haremos de la siguiente manera:

Configuración de correo para Nextcloud

Como vemos, debemos ir a los Ajustes básicos de la configuración y debemos dar los datos  del apartado de Servidor de correo electrónico:

  • Modo de envío: SMTP (no parece que haya otra opción)
  • Cifrado: ninguno, si no tienes configurado en el correo
  • Desde la dirección: podemos poner la que queramos, lo suyo es poner una de la que podamos disponer
  • Método de autenticación: yo he usado Iniciar sesión, para poder dar los datos siguientes
  • Dirección del servidor: suele ser smtp.dominio o mail.dominio o algo similar, depende de cada servidor.
  • Puerto: el estándar de SMTP es 587
  • Credenciales: ponemos el usuario y contraseña. Ojo aquí, en algunos servidores hace falta poner el @dominio.com y en otros dos. Lo mejor es consultar la ayuda de cada uno.

HSTS

El aviso escrito en texto rojo de la captura anterior nos recuerda que no se ha configurado la cabecera HTTP Strict Transport Security. Esto hace que no se permita ninguna conexión que no sea segura (HTTPS) y hace más difíciles los ataques al sitio. Para configurarlo, podemos editar el archivo de configuración que ha creado Let’s Encrypt:
sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf

Vamos al final del archivo y, bajo la línea que empieza ServerName y encima de la línea </VirtualHost> añadimos lo siguiente:

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
    </IfModule>

Aunque podemos limitarnos a reiniciar el servidor, como siempre, con sudo service apache2 restart, no es mala idea reiniciar la Raspberry con sudo reboot.

Nota: la última parte de la línea central (; preload) añade el dominio que hemos configurado con DDNS a una lista que incluyen los grandes navegadores y que obliga a usar HTTPS en estos dominios. Esto significa que si tienes un problema y tienes que volver a empezar, puede ser difícil volver a trabajar con el dominio antes de configurar Let’s Encrypt, porque no tendrás https y el navegador estará obligado a intentar usarlo.

Well-known

Los siguientes avisos están relacionados con el calendario y los contactos, se refieren a las llamadas direcciones «well-known» que permiten configurar estos dos elementos en clientes (móviles, por ejemplo) de forma más sencilla. Para eliminar este aviso, lo que hay que hacer es crear un archivo nuevo llamado .htaccess en la raíz del servidor, /var/www/html. Se puede hacer con sudo

 

  • Tu servidor web no está configurado correctamente para resolver «/.well-known/caldav». Se puede encontrar más información en la documentación.
  • Tu servidor web no está configurado correctamente para resolver «/.well-known/carddav».

 

Cache

La memoria caché es un sistema que permite al servidor servir ciertos objetos habituales de manera más rápida. Es fácil configurar una caché de última generación con sudo apt-get install php-redis redis-server.

Comprobamos que ha arrancado con ps ax | grep redis y editamos el archivo de configuración para que Nextcloud use esta cache: sudo nano /var/www/html/nube/config/config.php.

Aunque recomiendan otra configuración si el servidor redis está instalado en la misma máquina, a mí no solo no me funciona sino que cuelga Nextcloud. Así que como ofrecen otra posibilidad, añadimos

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),

para configurar la caché local, y

'memcache.locking' => '\OC\Memcache\Redis',

para configurar la caché de bloqueo de archivos.

Por último, la misma página de Administración nos recomienda configurar el archivo php.ini para la memoria OPcache. Para ello, lanzamos el comando sudo nano /etc/php/7.0/apache2/php.ini.

Tenemos que buscar (con CTRL+W) los valores de la izquierda de cada signo igual y cambiarlo a lo siguiente. Ojo: si la línea comienza con un punto y coma (;), también hay que borrarlo.

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Y reiniciamos el servidor con sudo service apache2 restart.

Permisos de archivos

Me doy cuenta al repasar esta serie de entradas que no había apuntado de dónde saqué este script, y lo lamento, debería darle el reconocimiento debido al autor. No lo he encontrado, parece que es de la documentación oficial pero no encuentro la página. Aun así, vamos con esto.

Para estar seguros de que todos los archivos de Nextcloud están bien configurados en cuanto a sus permisos y propietarios, podemos crear un script que lo comprueba.

Creamos un archivo nuevo con sudo nano permisos.sh y copiamos dentro el siguiente código con MAYS+Ins. Si hace falta, hay que cambiar la segunda línea para que refleje la carpeta exacta donde hemos instalado Nextcloud.

#!/bin/bash
ocpath='/var/www/html/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'

printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/updater

printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
 then
  chmod 0644 ${ocpath}/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
 then
  chmod 0644 ${ocpath}/data/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Cambiando en la segunda línea la carpeta donde está instalado Nextcloud. Guardamos con CTRL+X, «s» y ejecutamos el script con sudo sh ./permisos.sh.

Nextcloud en la Raspberry Pi (9). Afinando Nextcloud

Actualizada el 5/11/17 y el 14/10/18

Si hemos seguido hasta ahora las instrucciones de este tutorial, ya tenemos una nube privada funcionando. Sin embargo, hay ciertas configuraciones por defecto que podemos retocar para que sea más fácil, más segura, más elegante o más útil. Vamos a ver cómo podemos tunear nuestra instalación de Nextcloud.

Tamaño máximo de archivos

Debido a las configuraciones por defecto de PHP, mediante la interfaz web no se pueden subir archivos de más de 2 Mb, lo cual es muy pero que muy poco. Para subir este límite, debemos editar algunas cosas. El límite máximo que podremos poner son 2 Gb, que está mucho mejor aunque deja fuera ciertos archivos de vídeo, pero este límite ya es cosa de la Raspberry, y su arquitectura, de 32 bits, no de Nextcloud.

Siguiendo las instrucciones del manual de Nextcloud, para aumentar este límite, debemos editar el archivo de configuración de PHP 7.0. Lo hacemos escribiendo en el terminal:

sudo nano /etc/php/7.0/apache2/php.ini

Aparece el editor de texto y buscamos (con las teclas CTRL+W) las líneas en que aparecen las expresiones upload_max_filesize y post_max_size. Cambiamos las cifras para que de 2M y 8M pasen a ser 2G. Deben quedar así:

upload_max_filesize = 2G
(...)
post_max_size = 2G

También podemos aprovechar para configurar la carpeta temporal. Si subimos archivos grandes, podemos llenar la tarjeta SD y esto nunca es bueno, así que es mejor usar una carpeta del disco duro externo. Buscamos (CTRL+W otra vez) la línea ;upload_tmp_dir = y hacemos dos cosas: borramos el punto y coma del inicio (si no lo hacemos, los cambios que hagamos en esta línea no tendrán efecto ) y añadimos al final la carpeta que queramos del disco duro. No es recomendable usar una subcarpeta del directorio de la nube, eso sí, porque si se creara un usuario con el mismo nombre que esta carpeta, usaría la carpeta temporal como sus propios archivos.

Guardamos el archivo (CTRL+X, «s» para decir que sí queremos guardar) pero no reiniciamos todavía el servidor web porque tenemos que ocuparnos de la carpeta temporal. La creamos con
sudo mkdir /media/Vir/nubetmp (por ejemplo)

Cambiamos los permisos de la carpeta
sudo chown -R www-data:www-data /media/Vir/nubetmp

Y, ahora sí, reiniciamos el servidor Apache con
sudo service apache2 restart

Podemos comprobar que lo hemos hecho bien en Nextcloud. Pulsamos en nuestro usuario arriba a la derecha para mostrar el menú, seleccionamos Administración y miramos en los apartados «Monitorizando» (información del servidor) y «Configuración adicional»:

El ratón nos muestra que, efectivamente, ya está configurado para aceptar archivos de 2 Gb.

Eliminar «index.php» de las URLs de Nextcloud

Nextcloud, como su predecesor Owncloud, crea unas direcciones (URLs) bastante largas porque incluye por defecto el fragmento «index.php». Lukas Reschke (su avatar siempre me recuerda al niño del vídeo viral de Star Wars) lo explica en la ayuda de Nextcloud. Se puede eliminar, para pasar de algo como
https://polkas.ddns.net/nube/index.php/apps/files/ a  esto otro: https://polkas.ddns.net/nube/apps/files/, que queda más claro y sencillo.

Para ello, editamos el archivo config.php: sudo nano /var/www/html/config/config.php y añadimos al final la siguiente línea:
'htaccess.RewriteBase' => '/',

Debemos cambiar el final si no tenemos instalado Nextcloud en la carpeta raíz del servidor sino en una subcarpeta. Es decir, si los archivos de Nextcloud están en /var/www/html/nextcloud, la línea anterior debe quedar así:
'htaccess.RewriteBase' => '/nextcloud',

No estoy seguro de que el siguiente paso sea necesario, pero no hace daño hacerlo. Tenemos que activar unos cuantos módulos de Apache, concretamente rewrite, headers, env, dir y mime. Esto se hace con las siguientes instrucciones:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Todos menos headers deberían estar activos, pero no pasa nada por asegurarse. Una vez los hemos activado todos, debemos crear un sitio nuevo en la configuración de Apache:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Aparece el editor nano, que ya seguro conocéis, con un archivo vacío. Tenemos que copiar (con la combinación de teclas MAYS+Ins) el siguiente código (extraído, de nuevo, del manual):

Alias / "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All

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

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

Y hay que cambiar el directorio todas las veces que aparece, en lugar de /var/www/nextcloud/, debemos poner la carpeta que hayamos usado. Si hemos instalado Nextcloud en la raíz del servidor, debería ser /var/www/html/ y, si lo hemos hecho en una carpeta, deberá ser /var/www/html/nextcloud, dependiendo de lo que hayamos usado en la quinta entrada de la serie. Debemos cambiarlo las 4 veces que aparece. También, igual que antes, debemos cambiar la barra de la primera línea si tenemos Nextcloud en una subcarpeta.

Por último, creamos un enlace simbólico a la carpeta de sitios activos:
sudo ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

El útlimo paso es ejecutar una actualización de mantenimiento con el comando
sudo -u www-data php /var/www/html/occ maintenance:update:htaccess

Reiniciamos el servidor con
sudo service apache2 restart

Y podemos comprobar, encima del cursor, que ha desaparecido el «index.php» de la URL:

Cron

Es muy habitual que Nextcloud necesite que ciertas acciones tengan lugar cada cierto tiempo. La forma de asegurarse es el cron, cuya misma forma nos dice que tiene que ver con el tiempo (cronos en griego). Por defecto, el cron de Nextcloud se ejecuta cada vez que se carga una página. Es lo más sencillo pero normalmente no vamos a usar la interfaz web sino los clientes de escritorio y móvil, así que puede pasar demasiado tiempo sin que se ejecute el cron. Por ello, es muy recomendable hacerlo de otra manera. ¿Cómo? Encargándoselo al sistema operativo. Raspbian, como todos los sistemas Linux, tiene una opción para esto.

Para sacar ventaja de esto, debemos definir un cronjob. Es así:
sudo crontab -u www-data -e

Aparece un archivo bastante largo, con un montón de explicaciones (todas las líneas que empiezan por una almohadilla [ #] o un punto y coma [;] son comentarios). La orden significa «editar el crontab (lista de tareas que se ejecutan periódicamente) del usuario www-data (el de Apache)».

Podemos irnos al final del archivo y copiar la siguiente orden:
*/15 * * * * php -f /var/www/html/nextcloud/cron.php

Que significa que cada 15 minutos se va a ejecutar el cron. Como siempre, debemos cambiar la carpeta si fuera preciso. Guardamos como siempre con CTRL+X, «s» y podemos comprobar que se ha guardado con
sudo crontab -u www-data -l
que nos muestra el contenido del crontab.

Una vez lo hemos comprobado, podemos ir a la configuración de Nextcloud y cambiar este estado, si no se ha cambiado automáticamente:

Cargar más