Nextcloud: Skillnad mellan sidversioner

Från DannoWiki
Hoppa till navigeringHoppa till sök
Ingen redigeringssammanfattning
 
(23 mellanliggande sidversioner av samma användare visas inte)
Rad 9: Rad 9:
</pre>
</pre>


= Extra filer =
Efter installation av vissa appar behöver databasen indexeras om.<br />
Det bör framgå av gul varning i '''Administration -> Översikt'''<br />
<pre>sudo -u www-data php occ db:add-missing-indices</pre>
 
= Grundläggande inställningar =
'''Vitlista din IP'''
I ''Administration -> Säkerhet'' ställer du in din publika IP-adress,<br />
så att systemet inte får panik när det blir många anrop från samma adress.<br />
Detta kan annars göra att du stänger ute dig själv.<br />
Skulle detta hända ändå, eller från annan känd adress<br />
så kan du låsa upp via '''occ'''-kommandot <code>security:bruteforce:reset</code>,<br />
eller köra <code>TRUNCATE TABLE oc_bruteforce_attempts;</code> direkt i databasen.<br />
Om du vill kolla i tabellen först: <code>SELECT * FROM oc_bruteforce_attempts;</code><br />
 
== Ställa in språk ==
Användare kan ställa in önskat språk och tidszon, men för en mindre installation underlättar det att sätta en standard.<br />
<code>default_language</code> gör så att hela programmet pratar svenska från början.<br />
<code>default_locale</code> gör så att datum, tid och tidszon blir svenskt.<br />
<code>default_phone_region</code> att man inte blir tvungen att ange landskod i sitt telefonnummer.
<pre>
sudo -u www-data php occ config:system:set default_language --value="sv"
sudo -u www-data php occ config:system:set default_locale --value="sv_SE"
sudo -u www-data php occ config:system:set default_phone_region --value="SE"
</pre>
 
=== Tidszon i PHP ===
Även om du har rätt tid i servern, kan PHP-CLI ibland tro att standardtid är UTC.<br />
Kolla med detta kommando:<br />
<code>php -r "echo date('Y-m-d H:i:s T Layout', time()).PHP_EOL;"</code><br />
 
Stämmer utmatningen med din klocka - Grattis, du behöver inte göra något mera.<br />
Om inte, ändra i filen php.ini:<br />
<code>sudo vi /etc/php/8.3/cli/php.ini</code><br />
Leta efter raden ''';date.timezone = '''<br />
Avkommentera och skriv din tidszon efter lika med:<br />
<code>date.timezone = Europe/Stockholm</code><br />
Spara och stäng, samt kolla med ovanstående php-kommando.<br />
 
== Undvika exempelfiler ==
Som standard skapas massa filer och kataloger i nya konton.<br />
Detta kan undvikas med följande kommando:<br />
<pre>
sudo -u www-data php occ config:system:set skeletondirectory --value=""
sudo -u www-data php occ config:system:set templatedirectory --value=""
</pre>
 
== För att kunna skicka Push-meddelanden ==
<code>sudo -u www-data php occ app:install notify_push</code><br />
Meddelande till en specifik användare:<br />
<code>sudo -u www-data php /var/www/html/nextcloud/occ notification:generate användarnamn "Här är ditt meddelande"</code><br />
Skicka till en hel grupp (t.ex. "Deltagare")<br />
<code>sudo -u www-data php /var/www/html/nextcloud/occ notification:generate -g Deltagare "Välkomna till morgondagens lektion!"</code><br />
 
== Extra filer ==
Extra filer, såsom företagslogo, som har med anpassning att göra, läggs '''utanför''' installationsmappen.<br />
Extra filer, såsom företagslogo, som har med anpassning att göra, läggs '''utanför''' installationsmappen.<br />
Förslagsvis gör vi en ny mapp under ''/srv'' som heter något i stil med ''nextcloud-assets''.<br />
Förslagsvis gör vi en ny mapp under ''/srv'' som heter något i stil med ''nextcloud-assets''.<br />
Rad 26: Rad 79:


Nu kan du ställa in Logo, logo-header, primär färg, samt företagets namn och sidans slogan:<br />
Nu kan du ställa in Logo, logo-header, primär färg, samt företagets namn och sidans slogan:<br />
<code>
<pre>
sudo -u www-data php occ theming:config name "Företagets Namn"<br />
sudo -u www-data php occ theming:config name "Företagets Namn"
sudo -u www-data php occ theming:config logo /srv/nextcloud-assets/logo.webp<br />
sudo -u www-data php occ theming:config logo /srv/nextcloud-assets/logo.webp
sudo -u www-data php occ theming:config logoheader /srv/nextcloud-assets/logo-header.webp<br />
sudo -u www-data php occ theming:config logoheader /srv/nextcloud-assets/logo-header.webp
sudo -u www-data php occ theming:config primary_color "#hexkod"<br />
sudo -u www-data php occ theming:config primary_color "#hexkod"
sudo -u www-data php occ theming:config slogan "Välkommen till vår säkra molntjänst"<br />
sudo -u www-data php occ theming:config slogan "Välkommen till vår säkra molntjänst"
</code>
</pre>


Efter det ''kan'' du behöva köra en uppdatering av temat, så att serverns cache rensas (och ändringarna faktiskt visas):<br />
Efter det ''kan'' du behöva köra en uppdatering av temat, så att serverns cache rensas (och ändringarna faktiskt visas):<br />
Rad 42: Rad 95:


= PrestandaBoost server =
= PrestandaBoost server =
Det första tipset gäller inte specifikt NextCloud, utan hela Apache2.<br />
== Uppdatera OPcache ==
* Hitta rätt '''php.ini'''
** i mitt fall är php-versionen 8.3
* Öppna filen: <code>sudo vi /etc/php/8.3/apache2/php.ini</code>
** Leta upp sektionen opcache och ändra/avkommentera följande rader ''notera värdena''
<pre>
opcache.enable=1
opcache.enable_cli=1
; Hur mycket minne OPcache får använda (Nextcloud rekommenderar > 512MB om minnet tillåter)
opcache.memory_consumption=512
; Hur mycket minne som avsätts för återkommande textsträngar (Nextcloud vill ha > 16, vi sätter 32)
opcache.interned_strings_buffer=32
; Hur många PHP-filer som får cachas. Nextcloud + WordPress + MediaWiki har MASSOR av filer.
opcache.max_accelerated_files=100000
; Hur ofta PHP ska kontrollera om filer har ändrats (1 = en gång per sekund)
opcache.revalidate_freq=1
; Spara kommentarer i koden (krävs för att Nextcloud och vissa WordPress-plugins ska fungera)
opcache.save_comments=1
</pre>
Spara och stäng filen<br />
Starta om servern: <code>sudo systemctl restart apache2</code>
== Installera Redis på Ubuntu ==
== Installera Redis på Ubuntu ==
Installera Redis-servern och PHP-kopplingen:<br />
Installera Redis-servern och PHP-kopplingen:<br />
Rad 118: Rad 202:
Det var det hela, nu är det bara att surfa runt i ditt optimerade NextCloud<br />
Det var det hela, nu är det bara att surfa runt i ditt optimerade NextCloud<br />
så att servern får lägga så mycket som möjligt i cache.
så att servern får lägga så mycket som möjligt i cache.
= Inställningar i Administration =
text
== Tema ==
== Talk ==
Inaktivera samtal
= Hittade buggar =
== Tasks-begränsning ==
Uppgifter genererar inga server-notifieringar via Cron.<br />
För att få påminnelser på uppgifter behöver de synkas till en mobilapp som hanterar larmen lokalt i enheten.<br />

Nuvarande version från 22 juli 2026 kl. 10.07

 ⚠️ Den här artikeln är under utveckling. Information kan vara ofullständig eller ändras löpande.

Underhållsläge

Om du behöver göra något i filsystemet eller liknande:

sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ maintenance:mode --off

Efter installation av vissa appar behöver databasen indexeras om.
Det bör framgå av gul varning i Administration -> Översikt

sudo -u www-data php occ db:add-missing-indices

Grundläggande inställningar

Vitlista din IP I Administration -> Säkerhet ställer du in din publika IP-adress,
så att systemet inte får panik när det blir många anrop från samma adress.
Detta kan annars göra att du stänger ute dig själv.
Skulle detta hända ändå, eller från annan känd adress
så kan du låsa upp via occ-kommandot security:bruteforce:reset,
eller köra TRUNCATE TABLE oc_bruteforce_attempts; direkt i databasen.
Om du vill kolla i tabellen först: SELECT * FROM oc_bruteforce_attempts;

Ställa in språk

Användare kan ställa in önskat språk och tidszon, men för en mindre installation underlättar det att sätta en standard.
default_language gör så att hela programmet pratar svenska från början.
default_locale gör så att datum, tid och tidszon blir svenskt.
default_phone_region att man inte blir tvungen att ange landskod i sitt telefonnummer.

sudo -u www-data php occ config:system:set default_language --value="sv"
sudo -u www-data php occ config:system:set default_locale --value="sv_SE"
sudo -u www-data php occ config:system:set default_phone_region --value="SE"

Tidszon i PHP

Även om du har rätt tid i servern, kan PHP-CLI ibland tro att standardtid är UTC.
Kolla med detta kommando:
php -r "echo date('Y-m-d H:i:s T Layout', time()).PHP_EOL;"

Stämmer utmatningen med din klocka - Grattis, du behöver inte göra något mera.
Om inte, ändra i filen php.ini:
sudo vi /etc/php/8.3/cli/php.ini
Leta efter raden ;date.timezone =
Avkommentera och skriv din tidszon efter lika med:
date.timezone = Europe/Stockholm
Spara och stäng, samt kolla med ovanstående php-kommando.

Undvika exempelfiler

Som standard skapas massa filer och kataloger i nya konton.
Detta kan undvikas med följande kommando:

sudo -u www-data php occ config:system:set skeletondirectory --value=""
sudo -u www-data php occ config:system:set templatedirectory --value=""

För att kunna skicka Push-meddelanden

sudo -u www-data php occ app:install notify_push
Meddelande till en specifik användare:
sudo -u www-data php /var/www/html/nextcloud/occ notification:generate användarnamn "Här är ditt meddelande"
Skicka till en hel grupp (t.ex. "Deltagare")
sudo -u www-data php /var/www/html/nextcloud/occ notification:generate -g Deltagare "Välkomna till morgondagens lektion!"

Extra filer

Extra filer, såsom företagslogo, som har med anpassning att göra, läggs utanför installationsmappen.
Förslagsvis gör vi en ny mapp under /srv som heter något i stil med nextcloud-assets.
Kopiera in filerna dit:
sudo cp /sökväg/till/filmapp/logo.webp /srv/nextcloud-assets/
sudo cp /sökväg/till/filmapp/logo-header.webp /srv/nextcloud-assets/
Tänk på filstorlekar. logo-header (som visas vid Dashboard), är inte större än ca 60x30px.
Jag gjorde min fil till 100px bred.

Glöm inte att filerna - och mappen måste ägas av webbanvändaren (www-data).
sudo chown -R www-data:www-data nextcloud-assets

Nu kan du ställa in Logo, logo-header, primär färg, samt företagets namn och sidans slogan:

sudo -u www-data php occ theming:config name "Företagets Namn"
sudo -u www-data php occ theming:config logo /srv/nextcloud-assets/logo.webp
sudo -u www-data php occ theming:config logoheader /srv/nextcloud-assets/logo-header.webp
sudo -u www-data php occ theming:config primary_color "#hexkod"
sudo -u www-data php occ theming:config slogan "Välkommen till vår säkra molntjänst"

Efter det kan du behöva köra en uppdatering av temat, så att serverns cache rensas (och ändringarna faktiskt visas):
sudo -u www-data php occ maintenance:theme:update

Detta kan även göras grafiskt via admin-kontot, under administration -> teman

PrestandaBoost server

Det första tipset gäller inte specifikt NextCloud, utan hela Apache2.

Uppdatera OPcache

  • Hitta rätt php.ini
    • i mitt fall är php-versionen 8.3
  • Öppna filen: sudo vi /etc/php/8.3/apache2/php.ini
    • Leta upp sektionen opcache och ändra/avkommentera följande rader notera värdena
opcache.enable=1
opcache.enable_cli=1

; Hur mycket minne OPcache får använda (Nextcloud rekommenderar > 512MB om minnet tillåter)
opcache.memory_consumption=512

; Hur mycket minne som avsätts för återkommande textsträngar (Nextcloud vill ha > 16, vi sätter 32)
opcache.interned_strings_buffer=32

; Hur många PHP-filer som får cachas. Nextcloud + WordPress + MediaWiki har MASSOR av filer.
opcache.max_accelerated_files=100000

; Hur ofta PHP ska kontrollera om filer har ändrats (1 = en gång per sekund)
opcache.revalidate_freq=1

; Spara kommentarer i koden (krävs för att Nextcloud och vissa WordPress-plugins ska fungera)
opcache.save_comments=1

Spara och stäng filen

Starta om servern: sudo systemctl restart apache2

Installera Redis på Ubuntu

Installera Redis-servern och PHP-kopplingen:
sudo apt update
sudo apt install redis-server php-redis
Kontrollera att Redis snurrar: sudo systemctl status redis-server
(Den ska visa active (running). Tryck q för att avsluta statusvyn).

Konfigurera Redis för säkerhet (Unix Socket)

Öppna Redis konfigurationsfil i din favoriteditor (vi):
sudo vi /etc/redis/redis.conf
Leta upp följande rader, avkommentera dem (ta bort #) och justera värdena så de ser ut så här:
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770
Spara och avsluta (:wq).

Ge webbservern rättigheter till Redis: Eftersom Nextcloud körs som användaren www-data, måste vi lägga till den användaren i redis-gruppen så att den kan läsa och skriva till socket-filen:
sudo usermod -a -G redis www-data
Starta om Redis och Apache för att grupprättigheterna och PHP-modulen ska laddas in:
sudo systemctl restart redis-server
sudo systemctl restart apache2

Koppla Nextcloud till Redis

Nu ska vi tala om för Nextcloud att börja använda Redis för både lokal cache och fillåsning. Det gör vi genom att redigera din config.php.

Öppna Nextclouds konfigurationsfil:
sudo vi /var/www/html/next/config/config.php
Leta upp arrayen och lägg till följande rader precis innan den avslutande );-parentesen:

'memcache.local' => '\OC\Memcache\APCu',
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => array(
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),

Spara och avsluta (:wq).

Testa att ladda om NextCloud.
Om du ser ett felmeddelande (Fel 500 - Sidan fungerar inte):

Kontrollera om APCu saknas i PHP

sudo apt install php-apcu php8.3-apcu
sudo systemctl restart apache2
Testa nu att ladda om NextCloud-sidan

Bakgrundsjobb

Systemet vill göra saker i bakgrunden.
Tillexempel ordna/optimera databasen, och andra magiska saker.
Som standard används AJAX, vilket gör att sidor måste laddas, för att något ska hända.
Rekommendationen är att i stället köra med gamla hederliga Cron

Under Administration -> Generella inställningar klicka i valet för Cron.
Sedan måste du berätta för Cron vad den ska göra. Observera att Scriptet måste köras från systemkontot www-data
I terminalen skriver du:

sudo crontab -u www-data -e

Välj editor (alt. 3 ger VI).

Väl där går du längst ner i filen och lägger till följande:

*/5 * * * * php -f /var/www/html/next/cron.php

Det var det hela, nu är det bara att surfa runt i ditt optimerade NextCloud
så att servern får lägga så mycket som möjligt i cache.

Inställningar i Administration

text

Tema

Talk

Inaktivera samtal

Hittade buggar

Tasks-begränsning

Uppgifter genererar inga server-notifieringar via Cron.
För att få påminnelser på uppgifter behöver de synkas till en mobilapp som hanterar larmen lokalt i enheten.