Chcete-li nainstalovat Nextcloud z příkazového řádku , připravte si balíček LEMP nebo LAMP, vytvořte databázi, stáhněte si verzi Nextcloud, nakonfigurujte webový server a TLS a poté spusťte neinteraktivní příkaz „occ maintenance:install“.
Nakonec povolte cron, ukládání do mezipaměti Redisu a nastavení zabezpečení. Následující kroky se týkají Ubuntu/Debianu (Nginx/Apache), možnosti Snap a Docker. Pokud chcete soukromý, samostatně hostovaný cloud, instalace Nextcloudu z příkazového řádku je nejrychlejší a nejlépe ovladatelná metoda.
Tato příručka ukazuje, jak nainstalovat NextCloud z příkazového řádku v Ubuntu/Debianu pomocí Nginx (LEMP) nebo Apache (LAMP) a rychlé alternativy se Snap a Docker, plně optimalizované, bezpečné a připravené pro produkční prostředí.
Co budete potřebovat (předpoklady)
Než začnete, ujistěte se, že jsou na místě následující:
- Nový server Ubuntu 22.04/24.04 nebo Debian 12 (VPS nebo dedikovaný)
- Přístup Sudo nebo root přes SSH
- Doména (např. cloud.example.com) s DNS Záznamy A/AAAA odkazující na váš server
- Otevřené porty: 80 (HTTP) a 443 (HTTPS)
- Alespoň 2 GB RAM (pro větší týmy doporučeno 4+ GB), SSD úložiště
- Synchronizace času (systemd-timesyncd nebo chrony)
Tip: Pro spolehlivý výkon je VPS s vyhrazeným serveremCPU a pomáhá NVMe SSD. YouStableSSD VPS plány od společnosti Nextcloud poskytují stabilní zdroje a snadno použitelné šablony operačních systémů.
Rychlé instalační cesty (vyberte si metodu)
- LEMP (Nginx + PHP-FPM + MariaDB/PostgreSQL): Nejlepší výkon, flexibilní kalení
- LAMPA (Apache + PHP + MariaDB/PostgreSQL): Jednodušší pro Apache uživatelé
- Balíček Snap: Rychlé vše v jednom, minimální potřeba ladění
- Docker/Compose: Přenosné a reprodukovatelné nasazení
Níže se podrobně ponoříme do LEMPu na Ubuntu/Debianu a poté si ukážeme Apache, Snap a varianty Dockeru.
Instalace Nextcloudu z příkazového řádku (Ubuntu/Debian, Nginx) – Krok za krokem
1) Aktualizace systému a instalace základních balíčků
sudo apt update && sudo apt -y upgrade
sudo apt -y install nginx mariadb-server redis-server unzip wget curl gnupg2 ufw software-properties-common
sudo ufw allow OpenSSH
sudo ufw allow "Nginx Full"
sudo ufw enable2) Nainstalujte PHP-FPM a požadovaná rozšíření
sudo apt -y install php-fpm php-cli php-mysql php-gd php-curl php-xml php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-apcu php-redis php-ldapZajistit PHP-FPM běží a poznamenejte si cestu k socketu, např. /run/php/php8.2-fpm.sock.
3) Zabezpečení MariaDB a vytvoření databáze Nextcloud
sudo mysql_secure_installation
sudo mysql -u root -p
# Inside the MariaDB shell:
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Alternativně můžete pro lepší škálovatelnost použít PostgreSQL. Instalační program „occ“ podporuje oba.
4) Stáhněte a ověřte Nextcloud
wget https://download.nextcloud.com/server/releases/latest.zip
wget https://download.nextcloud.com/server/releases/latest.zip.asc
wget https://nextcloud.com/nextcloud.asc
gpg --import nextcloud.asc
gpg --verify latest.zip.asc latest.zip # verify signature (recommended)
unzip latest.zip
sudo mv nextcloud /var/www/nextcloud
sudo mkdir -p /var/www/nextcloud-data
sudo chown -R www-data:www-data /var/www/nextcloud /var/www/nextcloud-data
sudo find /var/www/nextcloud/ -type d -exec chmod 750 {} ;
sudo find /var/www/nextcloud/ -type f -exec chmod 640 {} ;5) Konfigurace Nginx blok serveru
sudo nano /etc/nginx/sites-available/nextcloudserver {
listen 80;
server_name cloud.example.com;
root /var/www/nextcloud;
client_max_body_size 512M;
fastcgi_buffers 64 4K;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy no-referrer;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
index index.php index.html /index.php$request_uri;
location = /robots.txt { allow all; log_not_found off; access_log off; }
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; }
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) { deny all; }
location / {
try_files $uri $uri/ /index.php$request_uri;
}
location ~ .php(?:$|/) {
fastcgi_split_path_info ^(.+?.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ .(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
access_log off;
}
location ~ .(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$request_uri;
access_log off;
}
}sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud
sudo nginx -t && sudo systemctl reload nginx6) Získejte Let's Encrypt SSL certifikát
sudo apt -y install certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.example.com --redirect --agree-tos -m [email protected] -n
sudo systemctl reload nginxToto přidává HTTPS s automatickými přesměrováními a časovači obnovení.
7) Spusťte neinteraktivní instalační program Nextcloud (occ)
sudo -u www-data php /var/www/nextcloud/occ maintenance:install
--database "mysql"
--database-name "nextcloud"
--database-user "ncuser"
--database-pass "StrongPasswordHere"
--admin-user "ncadmin"
--admin-pass "AnotherStrongPassword"
--data-dir "/var/www/nextcloud-data"Pro PostgreSQL použijte „–database pgsql“ a zadejte uživatele a databázi PostgreSQL.
8) Povolte ukládání do mezipaměti, důvěryhodné domény a nastavení zabezpečení
# Set the trusted domain and URL
sudo -u www-data php /var/www/nextcloud/occ config:system:set trusted_domains 1 --value=cloud.example.com
sudo -u www-data php /var/www/nextcloud/occ config:system:set overwrite.cli.url --value=https://cloud.example.com
# Enable APCu (local cache) and Redis (file locking/memcache)
sudo -u www-data php /var/www/nextcloud/occ config:system:set memcache.local --value='OCMemcacheAPCu'
sudo -u www-data php /var/www/nextcloud/occ config:system:set memcache.locking --value='OCMemcacheRedis'
sudo -u www-data php /var/www/nextcloud/occ config:system:set redis --value='{"host":"127.0.0.1","port":6379}' --type=json
# Set recommended defaults
sudo -u www-data php /var/www/nextcloud/occ background:cron
sudo -u www-data php /var/www/nextcloud/occ config:system:set default_phone_region --value=US
sudo -u www-data php /var/www/nextcloud/occ config:system:set logtimezone --value=UTC9) Konfigurace cronu pro úlohy na pozadí
sudo crontab -u www-data -e*/5 * * * * php -f /var/www/nextcloud/cron.php >/dev/null 2>&1Úlohy na pozadí efektivně zpracovávají náhledy, čištění a úlohy federace.
10) Ověřte instalaci
sudo -u www-data php /var/www/nextcloud/occ status
sudo tail -f /var/log/nginx/access.log /var/log/nginx/error.logOtevřete ve svém prohlížeči https://cloud.example.com. Měli byste vidět přihlašovací údaje Nextcloud.
Apache Varianta (LAMP) ve zkratce
Preferujte ApacheVyměnit Nginx kroky s následujícími základními informacemi.
sudo apt -y install apache2 libapache2-mod-php
sudo a2enmod rewrite headers env dir mime ssl http2 proxy_fcgi setenvif
sudo a2dismod php* # use PHP-FPM with Apache for performance
sudo a2enconf php8.2-fpmsudo nano /etc/apache2/sites-available/nextcloud.conf<VirtualHost *:80>
ServerName cloud.example.com
DocumentRoot /var/www/nextcloud
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
<FilesMatch ".php$">
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined
</VirtualHost>sudo a2ensite nextcloud
sudo a2dissite 000-default
sudo systemctl reload apache2
sudo apt -y install certbot python3-certbot-apache
sudo certbot --apache -d cloud.example.com --redirect -m [email protected] --agree-tos -nPak spusťte stejné příkazy „occ maintenance:install“ a hardening, které byly uvedeny dříve.
Volitelné: Snap nebo Docker z příkazového řádku
Snap (nejrychlejší instalace z jednoho uzlu)
sudo apt -y install snapd
sudo snap install core
sudo snap install nextcloud
# Create admin:
sudo nextcloud.manual-install ncadmin "AnotherStrongPassword"
# Add domain and TLS:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=cloud.example.com
sudo nextcloud.enable-https lets-encryptDocker Compose (přenosný)
mkdir -p ~/nextcloud && cd ~/nextcloud
nano docker-compose.ymlservices:
db:
image: mariadb:11
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=RootPass
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=ncuser
- MYSQL_PASSWORD=StrongPasswordHere
volumes:
- db:/var/lib/mysql
redis:
image: redis:7-alpine
restart: unless-stopped
app:
image: nextcloud:latest
restart: unless-stopped
ports:
- "8080:80"
depends_on:
- db
- redis
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=ncuser
- MYSQL_PASSWORD=StrongPasswordHere
volumes:
- nextcloud:/var/www/html
links:
- redis
volumes:
db:
nextcloud:docker compose up -d
# Access via http://server-ip:8080 and finalize setup. Add a proper reverse proxy and TLS (e.g., Caddy/Traefik/Nginx) for production.Ladění a zdokonalování výkonu
PHP a limity nahrávání
sudo nano /etc/php/8.2/fpm/php.inimemory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
expose_php = Offsudo systemctl restart php8.2-fpmNginx bezpečnostní hlavičky a HSTS
Pro lepší zabezpečení a kontrolu ukládání do mezipaměti je přidejte nebo potvrďte v bloku serveru.
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy no-referrer;Základy databáze
- Pro plnou podporu Unicode použijte utf8mb4.
- Spusťte mysql_secure_installation a omezte vzdálený přístup root uživateli.
- Plánování záloh (logický výpis + kopie mimo pracoviště)
Zálohy a aktualizace
# Files backup (example)
rsync -Aax /var/www/nextcloud/ /backup/nextcloud-app/
rsync -Aax /var/www/nextcloud-data/ /backup/nextcloud-data/
# MariaDB backup
mysqldump -u root -p nextcloud > /backup/nextcloud_$(date +%F).sqlPravidelně testujte postupy obnovení. Udržujte operační systém a PHP balíčky aktualizovány.
Časté chyby a opravy z CLI
- 403 nebo 404 po instalaci: Kontrola Nginx/Apache Kořenová cesta vhost a pravidla try_files.
- Velikost nahrávaného souboru je příliš malá: Zvětšete upload_max_filesize a post_max_size, načtěte znovu PHP/Nginx.
- „Nelze zapisovat do konfiguračního adresáře“: Opravte vlastnictví www dat a upravte oprávnění.
- Úlohy na pozadí neběží: Ujistěte se, že je crontab pro www data nastaven na spouštění každých 5 minut.
- Redis se nepoužívá: Potvrďte instalaci PHP Redis a nastavení Redis pomocí occ.
- SELinux (založený na RHEL): Nastavte správné kontexty nebo dočasně povolte testování.
Bezpečný upgrade Nextcloudu z příkazového řádku
- Vytvářejte zálohy aplikací, dat a databáze
- Přepněte Nextcloud do režimu údržby
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
sudo -u www-data php /var/www/nextcloud/occ upgrade
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --offPro větší aktualizace si přečtěte oficiální seznam změn a postupně aktualizujte napříč podporovanými verzemi.
Proč hostovat Nextcloud na YouStable
- VPS s podporou SSD nebo NVMe s vyhrazeným VCPU rychleji PHP a výkon databáze
- Čisté IPv4, moderní datová centra a rychlé šablony operačních systémů (Ubuntu/Debian)
- Nonstop odborná podpora, která rozumí webhostingu, WordPressu a samohostovaným platformám jako Nextcloud
Pokud chcete předvídatelný výkon a jednoduché škálování, YouStableVPS a dedikované servery jsou ideální pro nasazení Nextcloudu jakékoli velikosti.
FAQs
1. Je Nginx or Apache lepší pro instalaci z Nextcloud CLI?
Oba fungují dobře. Nginx s PHP-FPM obvykle nabízí lepší využití zdrojů a výkon, zatímco Apache může být pro některé administrátory jednodušší na konfiguraci. U velkých instancí, Nginx + PHP-FPM + Redis je oblíbená volba.
2. Jaké jsou minimální PHP moduly pro Nextcloud?
Minimálně: php-fpm, php-cli, php-mysql nebo php-pgsql, php-xml, php-zip, php-gd, php-curl, php-mbstring, php-intl. Pro lepší ukládání do mezipaměti a zamykání souborů přidejte php-apcu a php-redis a pro náhledy php-imagick.
3. Jak povolím HTTPS během instalace z příkazového řádku?
Používejte Certbot s Nginx or Apache Plugin pro vydávání certifikátů Let's Encrypt a následnou automatickou konfiguraci přesměrování a obnovy. Příklad: „certbot –nginx -d cloud.example.com –redirect -n“. Pro Docker ukončete TLS ve vaší reverzní proxy.
4. Mohu nainstalovat Nextcloud s PostgreSQL z CLI?
Ano. Nainstalujte PostgreSQL, vytvořte databázi a uživatele a poté spusťte instalační program s parametrem „–database pgsql“ a správnými přihlašovacími údaji. Mnoho velkých nasazení preferuje PostgreSQL kvůli souběžnosti a stabilitě.
5. Jaký je nejrychlejší způsob nasazení Nextcloudu pro testování?
Snap je nejrychlejší metoda pro jeden uzl. Spusťte „snap install nextcloud“, nastavte administrátorského uživatele a povolte Let's Encrypt. Pro přenositelnost na produkční úrovni použijte Docker s reverzní proxy (Caddy/Traefik/Nginx) je také rychlý a reprodukovatelný.
S těmito kroky můžete s jistotou nainstalovat NextCloud z příkazového řádku, optimalizovat výkon a posílit zabezpečení od prvního dne. S růstem úložiště a počtu uživatelů zvažte škálování na YouStable VPS or Dedikovaný server pro konzistentní a spolehlivý výkon.
