Hola tengo batocera con 16gb de juegos y Kodi con […]

arrancar sistema jessie

necesito instalar el sistema jessie en mi raspbe[…]

Imagen rooms 8gb

Por poder puedes hacerlo, te limitaras mucho por t[…]

Buenas noches foro soi nuevo por aqui y quiero fe[…]

Sección Unicamente para Tutoriales y Guías
#50870
Imagen
Creé este manual para el usuario@brosvv y lo publiqué en el post viewtopic.php?p=50542#p50542 y ahora me he animado a subirlo como tutorial.

Existe un manual anterior de @Kike pero está desactualizado aunque he usado algunos datos, la mayor parte de este manual pertenece al texto sobre el tema de la página web ElAngelCaido (Cerrada por el momento) y también a algunas revisiones mias.

RASPBIANJESSIE:
He usado una RPi3 y la imagen 2017-06-21-raspbian-jessie-lite.img con configuración de locales en es_ES.UTF8-UTF8 e IP estática 192.168.1.20.

RASPBIAN STRETCH:
He usado una RPi3 y la imagen 2017-09-07-raspbian-stretch-lite.img con configuración de locales en es_ES.UTF8-UTF8 e IP estática 192.168.1.20.

:ponpon ¡¡EMPEZAMOS!! :ponpon

ACTUALIZAMOS EL SISTEMA
Código: Seleccionar todo
sudo apt-get update && sudo apt-get upgrade
SOLO RASPIAN JESSIE

INSTALAMOS REPOSITORIOS
Código: Seleccionar todo
sudo su
Código: Seleccionar todo
echo "deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi" >> /etc/apt/sources.list
Código: Seleccionar todo
echo "Package: *" >> /etc/apt/preferences
Código: Seleccionar todo
echo "Pin: release n=jessie" >> /etc/apt/preferences
Código: Seleccionar todo
echo "Pin-Priority: 600" >> /etc/apt/preferences
Código: Seleccionar todo
exit
ACTUALIZAMOS REPOSITORIOS E INSTALAMOS PHP7-MARIADB-APACHE2
Código: Seleccionar todo
sudo apt-get update
Código: Seleccionar todo
sudo apt-get install -t stretch php7.0 php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-fpm php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php-pear php7.0-imap php-memcache php7.0-pspell php7.0-recode php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mysql php7.0-opcache php7.0-xml php7.0-zip php-imagick php-redis libapache2-mod-php7.0 mariadb-server apache2
- Tardará bastante y en algunos paquetes te aparecerá "deprecated", no te preocupes porque se instalaran las nuevas versiones.
- Cuando te aparezca (:) dos puntos en la parte inferior izquierda deberás pulsar ENTER hasta que aparezca (q to quit) entonces pulsas "q"
- Después te aparecerán varias pantallas azules
"Restart services during package upgrades without asking?" ----> NO
"Services to restart for GNU library upgrade: ssh cron" -----------> OK
Código: Seleccionar todo
sudo apt-get autoremove
SOLO RASPIAN STRETCH

INSTALAMOS PHP7-MARIADB-APACHE2
Código: Seleccionar todo
sudo apt-get install php7.0 php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-fpm php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php-pear php7.0-imap php-memcache php7.0-pspell php7.0-recode php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mysql php7.0-opcache php7.0-xml php7.0-zip php-imagick php-redis libapache2-mod-php7.0 mariadb-server apache2
ORANGE PI CON UBUNTU 18.04

INSTALAMOS PHP7.2-MARIADB-APACHE2
Código: Seleccionar todo
 sudo apt-get install php7.2 php7.2-bz2 php7.2-cli php7.2-curl php7.2-gd php7.2-fpm php7.2-intl php7.2-json php7.2-mbstring php-pear php7.2-imap php-memcache php7.2-pspell php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-mysql php7.2-opcache php7.2-xml php7.2-zip php7.2-dev php-imagick redis-server php-redis libapache2-mod-php7.2 mariadb-server apache2 
Habilitamos el servidor Redis
Código: Seleccionar todo
 sudo systemctl enable redis-server  
DEBIDO A QUE php7.2-mcrypt ESTÁ DEPRECADO HAY QUE INSTALAR mcrypt DE LA SIGUIENTE FORMA
- Instalamos los paquetes de configuración necesarios
Código: Seleccionar todo
 sudo apt-get -y install gcc make autoconf libc-dev pkg-config 
- Instalamos la librería
Código: Seleccionar todo
 sudo apt-get -y install libmcrypt-dev 
- Instalamos mcrypt mediante PECL
Código: Seleccionar todo
 sudo pecl install mcrypt-1.0.1 
- Añadimos las direcciones a cli y apache2
Código: Seleccionar todo
 sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini" 
Código: Seleccionar todo
 sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini" 
- Comprobamos que está instalado
Código: Seleccionar todo
 php -i | grep mcrypt 
Si en una de las líneas que aparecen puedes leer “mcrypt support => enabled” es que está instalado y ya puedes continuar con la instalación normalmente.



CONTINUAMOS, UNA VEZ INSTALADOS LOS PROGRAMAS EN EL SISTEMA OPERATIVO CORRESPONDIENTE

COMPROBAMOS LAS VERSIONES INSTALADAS
Código: Seleccionar todo
php --version
Código: Seleccionar todo
mysql --version
AUMENTAMOS LOS LIMITES DE TRASFERENCIA EN PHP
Código: Seleccionar todo
sudo nano /etc/php/7.0/fpm/php.ini
Buscamos "upload_max_filesize" mediante CRTL+W
upload_max_filesize = 2M
Y lo modificamos
upload_max_filesize = 2000M
Guardamos CRTL+O y cerramos CRTL+X

Buscamos "post_max_size"
post_max_size = 8M
Y lo modificamos
post_max_size = 2000M
Guardamos y cerramos

CONFIGURACION DE MariaDB

Securizamos la instalación:
Código: Seleccionar todo
sudo mysql_secure_installation
El password de root estará vacio y hay que pulsar ENTER

Preguntará
"Set root password? [Y/n]" --- Y
e introducimos el password que queramos para root en MariaDB

Tras introducir la contraseña de root respondemos a las preguntas como sigue:
Change the root password? [Y/n] n <---
(ATENCIÓN: Puede que no salga debido a que hemos cambiado el password en el paso anterior)
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
CREAMOS LA BASE DE DATOS Y EL USUARIO
Código: Seleccionar todo
sudo mysql -u root -p
Introducimos los siguientes comandos modificando los datos marcados en color:
CREATE DATABASE nextcloud;
CREATE USER 'caylus'@'localhost' IDENTIFIED BY 'caylus123';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'caylus'@'localhost';
FLUSH PRIVILEGES;
exit;
HABILITAMOS LOS MODULOS SSL Y REWRITE EN APACHE
Código: Seleccionar todo
sudo a2enmod ssl
Código: Seleccionar todo
sudo a2enmod rewrite
Código: Seleccionar todo
sudo reboot
GENERAMOS LOS CERTIFICADOS AUTOFIRMADOS
Código: Seleccionar todo
sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/nextcloud.pem -keyout /etc/ssl/private/nextcloud.key
Hay que responder a las preguntas para generar los certificados:
Country Name (2 letter code) [AU]: SP
State or Province Name (full name) [Some-State]: Mi_Casa
Locality Name (eg, city) []: Mi_Casa
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Caylus
Organizational Unit Name (eg, section) []:Caylus
Coomon Name (e.g. server FQDN or YOUR name) []: Caylus NUBE
Email Addres []: [email protected]
Al ser un certificado autofirmado aparecerá, cuando conectemos por https, el mensaje "No se confía en el certificado porque está autofirmado." simplemente hay que añadir la página a las excepciones de seguridad.

CONFIGURAMOS LOS CERTIFICADOS

Copiar el archivo de configuracion default-ssl en la carpeta de sitios activos
Código: Seleccionar todo
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
Editamos
Código: Seleccionar todo
sudo nano /etc/apache2/sites-enabled/default-ssl.conf
Hay que sustituir los certificados de ejemplo por los nuestros

Buscamos "ssl-cert-snakeoil.pem" y lo sustituimos por "nextcloud.pem"
Buscamos "ssl-cert-snakeoil.key" y lo sustituimos por "nextcloud.key"

Y añadir, justo debajo, lo siguiente:
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
Guardamos y, antes de reiniciar, activamos el módulo headers
Código: Seleccionar todo
sudo a2enmod headers
Reiniciamos
Código: Seleccionar todo
sudo reboot

INSTALACION NEXTCLOUD

Descargamos
Código: Seleccionar todo
sudo wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
Descomprimimos
Código: Seleccionar todo
sudo unzip nextcloud-12.0.0.zip
Instalamos
Código: Seleccionar todo
sudo cp -R /var/www/html /var/www/htmlviejo
Código: Seleccionar todo
sudo rm -R /var/www/html
Código: Seleccionar todo
sudo mv nextcloud /var/www/html
Código: Seleccionar todo
sudo rm nextcloud-12.0.0.zip
CONFIGURACIÓN

Para configurar más facilmente damos permisos totales temporalmente
Código: Seleccionar todo
sudo chmod 777 -R /var/www/html
Al final de este manual generaremos un script "nextcloud.sh" para securizar el servidor

Ahora entraremos al servidor desde nuestro navegador Web poniendo la dirección IP de nuestra PI

http://IP_DE_NUESTRA_PI en mi caso http://192.168.1.20

Imagen

A continuación, debemos añadir las direcciones IP y DOMINIOS a los que se permite el acceso
Código: Seleccionar todo
sudo nano /var/www/html/config/config.php
Buscamos
array (
0 => '192.168.1.20',
),
y añadimos las direcciones IP y DOMINIOS que necesitemos
array (
0 => '192.168.1.20',
1 => 'caylus.no-ip.com',
),
SECURIZACION DE LA INSTALACION

Añadimos el usuario www-data al grupo www-data
Código: Seleccionar todo
sudo usermod -a -G www-data www-data
Creamos un script para que nos sea mas fácil la securización
Código: Seleccionar todo
sudo nano nextcloud.sh
y añadimos lo siguiente
Código: Seleccionar todo
#!/bin/bash
ocpath='/var/www/html'
htuser='www-data'
htgroup='www-data'
rootuser='root'

printf "Comprobando Directorios y creandolos si faltasen\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater

printf "Dando permisos a Archivos y Directorios\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}

printf "Asignando propietarios de Directorios\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
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
Ejecutamos el script
Código: Seleccionar todo
sudo bash nextcloud.sh
Borramos el script
Código: Seleccionar todo
sudo rm nextcloud.sh
TERMINADO

:mareado

Espero que os sea útil, pero si alguien tiene alguna duda, sugerencia o comentario no dudeis en hacermelo saber.

Abrazos
:guiño2
Última edición por caylus el |16 Jun 2018|, 12:26, editado 6 veces en total.
erbeni, Memnoch, Kike y 1 usuarios más les gusta esto
#50974
Efectivamente @eneteache, si accedes como administrador puedes aumentar el tamaño de la transferencia desde la misma aplicación, pero lo que hace es modificar el archivo ".htaccess" cosa que, alguna vez, me ha dado problemas.

No he hablado del proyecto no-ip debido a que la gran mayoría de los routers actuales llevan implementado de serie el servicio DDNS (Dynamic Domain Name System – Sistema de Nombre de Dominio Dinámico). Todos los de fibra lo incluyen, aunque usan diferentes formas de nombrarlo. Ya sólo tendrías que darte de alta en http://www.no-ip.com y configurar el router con tu usuario y contraseña. Luego deberías direccionar (NAT) el puerto 443 (https) hacia la IP de tu RPi, no te recomiendo usar el puerto 80 debido a que es altamente vulnerable.

Para no tener que cambiar el acceso a tu servidor NextCloud desde tu teléfono, tablet o laptop cuando estés dentro y fuera de tu red, te recomiendo crear un servidor DNS en tu red interna. Yo estoy usando la app NextCloud en mi teléfono y funciona bastante bien.

Gracias por tu comentario, espero haber respondido a tus dudas. Por favor, si tienes alguna otra pregunta házmelo saber.

Abrazos
:guiño2
#51873
@eneteache Debes de tener en cuenta que NO-IP es sólo una forma de direccionamiento para IPs dinámicas y esto hace que el nombre que elijas apunte siempre a tu router, aunque este cambie de IP por la normativa de las empresas proveedoras. La seguridad, por tanto, la tienes que implementar tanto en tu router como en el servidor. Una buena forma es apuntar exclusivamente el puerto 443 (https) del router hacia la IP del servidor raspberry. Por supuesto, si quieres seguridad, el puerto 80 (http) queda totalmente descartado. Normalmente no deberías tener problemas, especialmente si encriptas los datos contenidos en NextCloud, cosa que puedes hacer como administrador. Si te fijas, el manual que he creado está pensado para el puerto 443 (https) por esa razón he explicado la forma de crear un certificado autofirmado y alguna otra “cosilla”.

Existe otro método, crear un sistema VPN (Virtual Private Network o Red Privada Virtual, en español) y conectarte a través de él a tu red interna. Esto es muy eficaz en la protección de datos, ya que cifra la transmisión de punto a punto y puedes elegir el nivel de seguridad:
1024 – nivel normal
2048 – nivel excelente
4096 – nivel paranoico
Cada uno tiene sus ventajas e inconvenientes: a mayor nivel la transferencia se vuelve excesivamente lenta, en el caso de los Smartphones consumo excesivo de batería y datos.

Espero haber aclarado tus dudas.

Abrazos
:guiño2
Última edición por caylus el |08 Jul 2017|, 11:35, editado 1 vez en total.
#51874
@eneteache El problema con (.htaccess no funciona) es debido a un problema con apache2 y para solucionarlo sólo tienes que seguir estos pasos:
$ sudo nano /etc/apache2/apache2.conf

(Sólo hay que modificar lo que afecta a /var/www):

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Y cambiarlo a:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Fíjate bien porque sólo se cambia "None" por "All"

Después reiniciamos:

$ sudo reboot

Solucionado

Para solucionar el problema de acceso por http sólo tienes que escribir

https://IP_DE_MI_NEXTCLOUD
Solucionado

Espero haberte ayudado.

Abrazos
:guiño2
Última edición por caylus el |08 Jul 2017|, 11:37, editado 1 vez en total.
#51896
caylus escribió:El problema con (.htaccess no funciona) es debido a un problema con apache2 y para solucionarlo sólo tienes que seguir estos pasos:

$ sudo nano /etc/apache2/apache2.conf

(Sólo hay que modificar lo que afecta a /var/www):

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Y cambiarlo a:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Fíjate bien porque sólo se cambia "None" por "All"

Después reiniciamos:

$ sudo reboot

Solucionado

Para solucionar el problema de acceso por http sólo tienes que escribir

https://IP_DE_MI_NEXTCLOUD

Solucionado

Espero haberte ayudado.

Abrazos
:guiño2
El problema principal estaba en que el puerto 443 no estaba abierto :x

Por cierto, el parámetro AllowOverride All para que sirve?
#51911
Hola !

Tengo un problema a la hora de configurar nextcloud.

He puesto como directorio de datos un disco usb externo que esta montado en /media/hddext1 y compratido por samba a la red local, pero claro este está como root:root y 777 de permisos y cuando entro a configurar nextcloud me dice esto:
Código: Seleccionar todo
Su directorio data es leible por otros usuarios
Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios
Y ese directorio /media/hddext1 y o que cuelga por debajo no lo puedo cambiar de propietario ni permisos, ni con root , supongo que por el punto de montaje. Creoque habia una forma de cambiar esos permisos en el montaje del disco pero no me acuerdo.

Como lo habéis hecho vosotros ?
#51923
eneteache escribió:
caylus escribió:El problema con (.htaccess no funciona) es debido a un problema con apache2 y para solucionarlo sólo tienes que seguir estos pasos:

$ sudo nano /etc/apache2/apache2.conf

(Sólo hay que modificar lo que afecta a /var/www):

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Y cambiarlo a:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Fíjate bien porque sólo se cambia "None" por "All"

Después reiniciamos:

$ sudo reboot

Solucionado

Para solucionar el problema de acceso por http sólo tienes que escribir

https://IP_DE_MI_NEXTCLOUD

Solucionado

Espero haberte ayudado.

Abrazos
:guiño2
El problema principal estaba en que el puerto 443 no estaba abierto :x

Por cierto, el parámetro AllowOverride All para que sirve?

@eneteache La directiva “AllowOverride None” hace que apache2 ignore los archivos “.htacces”, que son los que utiliza NextCloud para almacenar algunas de sus configuraciones dentro del directorio asignado. (Me parece que ya te hablé sobre ello en un post anterior sobre el aumento de tamaño de transferencia). Mientras que la directiva “AllowOverride All” hace que apache2 permita a NextCloud leer y escribir estos archivos.

Espero haberte ayudado.

Abrazos
:guiño2
Última edición por caylus el |08 Jul 2017|, 11:31, editado 1 vez en total.
#51924
gogua escribió:Hola !

Tengo un problema a la hora de configurar nextcloud.

He puesto como directorio de datos un disco usb externo que esta montado en /media/hddext1 y compratido por samba a la red local, pero claro este está como root:root y 777 de permisos y cuando entro a configurar nextcloud me dice esto:
Código: Seleccionar todo
Su directorio data es leible por otros usuarios
Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios
Y ese directorio /media/hddext1 y o que cuelga por debajo no lo puedo cambiar de propietario ni permisos, ni con root , supongo que por el punto de montaje. Creoque habia una forma de cambiar esos permisos en el montaje del disco pero no me acuerdo.

Como lo habéis hecho vosotros ?

Permisos 0770

Este problema se produce cuando creamos el directorio de datos fuera del servidor con sistema Linux, especialmente si usamos Samba o HD’s formateados en NTFS o FAT32. No existe una solución para ello puesto que es un problema de permisos que no pueden ser gestionados, pero podemos hacer que no aparezca el mensaje.

$ sudo nano /var/www/html/lib/private/legacy/util.php

Hay que buscar lo siguiente:

/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}

Para comentarlo hay que añadir una línea delante de esta secuencia donde escribiremos “ /* ” y una línea detrás donde escribiremos “ */ ” quedando:

/*
/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}
*/

Espero haberte ayudado.

Abrazos
:guiño2
#51929
caylus escribió:
gogua escribió:Hola !

Tengo un problema a la hora de configurar nextcloud.

He puesto como directorio de datos un disco usb externo que esta montado en /media/hddext1 y compratido por samba a la red local, pero claro este está como root:root y 777 de permisos y cuando entro a configurar nextcloud me dice esto:
Código: Seleccionar todo
Su directorio data es leible por otros usuarios
Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios
Y ese directorio /media/hddext1 y o que cuelga por debajo no lo puedo cambiar de propietario ni permisos, ni con root , supongo que por el punto de montaje. Creoque habia una forma de cambiar esos permisos en el montaje del disco pero no me acuerdo.

Como lo habéis hecho vosotros ?

Permisos 0770

Este problema se produce cuando creamos el directorio de datos fuera del servidor con sistema Linux, especialmente si usamos Samba o HD’s formateados en NTFS o FAT32. No existe una solución para ello puesto que es un problema de permisos que no pueden ser gestionados, pero podemos hacer que no aparezca el mensaje.

$ sudo nano /var/www/html/lib/private/legacy/util.php

Hay que buscar lo siguiente:

/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}

Para comentarlo hay que añadir una línea delante de esta secuencia donde escribiremos “ /* ” y una línea detrás donde escribiremos “ */ ” quedando:

/*
/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}
*/

Espero haberte ayudado.

Abrazos
:guiño2
Hola @caylus !

No tengo el directorio /var/www/html/lib

debajo de html, solo hay un index.html

Enviado desde mi Redmi Note 4X mediante Tapatalk
#51931
gogua escribió:
caylus escribió:
gogua escribió:Hola !

Tengo un problema a la hora de configurar nextcloud.

He puesto como directorio de datos un disco usb externo que esta montado en /media/hddext1 y compratido por samba a la red local, pero claro este está como root:root y 777 de permisos y cuando entro a configurar nextcloud me dice esto:
Código: Seleccionar todo
Su directorio data es leible por otros usuarios
Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios
Y ese directorio /media/hddext1 y o que cuelga por debajo no lo puedo cambiar de propietario ni permisos, ni con root , supongo que por el punto de montaje. Creoque habia una forma de cambiar esos permisos en el montaje del disco pero no me acuerdo.

Como lo habéis hecho vosotros ?

Permisos 0770

Este problema se produce cuando creamos el directorio de datos fuera del servidor con sistema Linux, especialmente si usamos Samba o HD’s formateados en NTFS o FAT32. No existe una solución para ello puesto que es un problema de permisos que no pueden ser gestionados, pero podemos hacer que no aparezca el mensaje.

$ sudo nano /var/www/html/lib/private/legacy/util.php

Hay que buscar lo siguiente:

/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}

Para comentarlo hay que añadir una línea delante de esta secuencia donde escribiremos “ /* ” y una línea detrás donde escribiremos “ */ ” quedando:

/*
/**
* Check for correct file permissions of data directory
*
* @param string $dataDirectory
* @return array arrays with error messages and hints
*/
public static function checkDataDirectoryPermissions($dataDirectory) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
. ' cannot be listed by other users.');
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if (substr($perms, -1) !== '0') {
chmod($dataDirectory, 0770);
clearstatcache();
$perms = substr(decoct(@fileperms($dataDirectory)), -3);
if ($perms[2] !== '0') {
$errors[] = [
'error' => $l->t('Your data directory is readable by other users'),
'hint' => $permissionsModHint
];
}
}
return $errors;
}
*/

Espero haberte ayudado.

Abrazos
:guiño2
Hola @caylus !

No tengo el directorio /var/www/html/lib

debajo de html, solo hay un index.html

Enviado desde mi Redmi Note 4X mediante Tapatalk

¿Dónde tienes instalado el directorio de NextCloud? Una vez lo localices sólo tienes que seguir a partir de la carpeta lib

/directorio.de.nextcloud…/lib/private/legacy/util.php

Abrazos
:guiño2
#51935
caylus escribió:
Kike escribió:Muchísimas gracias por el tutorial de verdad, ¿me dejas modificarlo el hilo para que tenga un mejor aspecto y sea más facil leer entre lineas?

Un abrazo y gran trabajo! :mrgreen: :mrgreen:
Por supuesto, es un placer que lo hagas, muchisimas gracias.

Un besote
:guiño2
Ya lo tengo modificado completamente! Cambia alguna cosa si algo no te gusta, un saludo! :)
#51939
Kike escribió:
caylus escribió:
Kike escribió:Muchísimas gracias por el tutorial de verdad, ¿me dejas modificarlo el hilo para que tenga un mejor aspecto y sea más facil leer entre lineas?

Un abrazo y gran trabajo! :mrgreen: :mrgreen:
Por supuesto, es un placer que lo hagas, muchisimas gracias.

Un besote
:guiño2
Ya lo tengo modificado completamente! Cambia alguna cosa si algo no te gusta, un saludo! :)
:ponpon ¡¡¡¡Ha quedado estupendo!!!! :ponpon Muchísimas gracias, de verdad. :D

Abrazos
:guiño2
#51971
@caylus he seguido el tutorial al pie de la letra y me sale esto,

despues de configurar nextcloud en la web
Código: Seleccionar todo
Error interno del servidor

El servidor ha encontrado un error y no puede completar la solicitud.

Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran a continuación.

Pueden verse más detalles en el registro del servidor.

Detalles técnicos

    Dirección remota: 192.168.1.41
    ID de la solicitud: QkMVEhMAdlgV1zQYQMxl

#51976
gogua escribió:@caylus he seguido el tutorial al pie de la letra y me sale esto,

despues de configurar nextcloud en la web
Código: Seleccionar todo
Error interno del servidor

El servidor ha encontrado un error y no puede completar la solicitud.

Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran a continuación.

Pueden verse más detalles en el registro del servidor.

Detalles técnicos

    Dirección remota: 192.168.1.41
    ID de la solicitud: QkMVEhMAdlgV1zQYQMxl

¿En que momento te ha salido ese mensaje?

:guiño2
#51983
caylus escribió:
gogua escribió:@caylus he seguido el tutorial al pie de la letra y me sale esto,

despues de configurar nextcloud en la web
Código: Seleccionar todo
Error interno del servidor

El servidor ha encontrado un error y no puede completar la solicitud.

Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran a continuación.

Pueden verse más detalles en el registro del servidor.

Detalles técnicos

    Dirección remota: 192.168.1.41
    ID de la solicitud: QkMVEhMAdlgV1zQYQMxl

¿En que momento te ha salido ese mensaje?

:guiño2
Al final del todo, cuando entras en a configurar desde la web nexcloud, y metes usuario y password, la BBDD, el directorydata. Ahi sale lo de los permisos del disco duro externo y cambio el util.php.

Cuando ya voy a acceder de forma normal, me sale el error y no me deja hacer nada mas.
Si he visto que en el datadirectory ha creado la estructura sin problemas en principio.

Ahora estoy de viaje, asi que no podré hacer nada en 15 dias por lo menos.

Gracias por tu ayuda.