Nextcloud
⚠️ 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
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/
Tänk på filstorlekar. logo-header (som visas vid Dashboard), är inte större än ca 60x30px.
sudo cp /sökväg/till/filmapp/logo-header.webp /srv/nextcloud-assets/
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"<br /> sudo -u www-data php occ theming:config logo /srv/nextcloud-assets/logo.webp<br /> sudo -u www-data php occ theming:config logoheader /srv/nextcloud-assets/logo-header.webp<br /> sudo -u www-data php occ theming:config primary_color "#hexkod"<br /> sudo -u www-data php occ theming:config slogan "Välkommen till vår säkra molntjänst"<br />
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
Kontrollera att Redis snurrar:
sudo apt install redis-server php-redis
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
Spara och avsluta (:wq).
unixsocketperm 770
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
Testa nu att ladda om NextCloud-sidan
sudo systemctl restart apache2
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.