Nextcloud je moćno rešenje otvorenog koda za hostovanje vaših fajlova, kalendara, kontakata i još mnogo toga, sve na vašem sopstvenom serveru. Evo korak po korak vodiča za instalaciju Nextcloud-a na mašini Debian 12.
Korak 1: Ažuriranje vašeg sistema
Počnite tako što ćete se uveriti da je vaš sistem ažuriran :
sudo apt-get update && sudo apt-get upgrade -y
Korak 2: Instalacija i konfiguracija Apachija
Instalirajte web server Apache :
sudo apt install apache2 -y
Aktivirajte Apache da se automatski pokrene prilikom pokretanja:
sudo systemctl is-enabled apache2
Proverite da li je usluga aktivna :
sudo systemctl status apache2
Korak 3: Konfigurišite vatrozid sa UFW
Instalirajte UFW (Jednostavni vatrozid) da zaštitite svoj server :
sudo apt install ufw
Dozvolite SSH veze i aktivirajte vatrozid:
sudo ufw allow OpenSSH sudo ufw enable
Dozvolite HTTP i HTTPS konekcije :
sudo ufw allow "WWW Full" sudo ufw reload
Proverite status vatrozida :
sudo ufw status
Korak 4: Instalirati PHP i njegove potrebne module
Nextcloud zahteva PHP i nekoliko modula. Instalirajte ih jednim komandama:
sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached
Proverite verziju PHP-a i instalirane module:
php --version php -m
Korak 5: Konfiguriši PHP
Uredite PHP konfiguracioni fajl kako biste optimizovali performanse i prilagodili potrebne limite za Nextcloud:
sudo nano /etc/php/8.2/apache2/php.ini
Izmenite sledeće parametre:
date.timezone = Europe/Zurich memory_limit = 4096M upload_max_filesize = 100000M post_max_size = 100000M max_execution_time = 3600 file_uploads = On allow_url_fopen = On display_errors = Off output_buffering = Off zend_extension=opcache opcache.enable = 1 opcache.interned_strings_buffer = 64 opcache.max_accelerated_files = 10000 opcache.memory_consumption = 128 opcache.save_comments = 1 opcache.revalidate_freq = 1
Restartujte Apache da primenite izmene :
sudo systemctl restart apache2
Korak 6: Instalirati i konfigurisati MariaDB
Instalirajte MariaDB :
sudo apt install mariadb-server -y
Uverite se da je aktiviran :
sudo systemctl is-enabled mariadb
Proverite njegov status :
sudo systemctl status mariadb
Konfigurišite MariaDB sa pomoćnikom za bezbednost:
sudo mariadb-secure-installation
Napravite bazu podataka i korisnika za Nextcloud :
sudo mariadb -u root -p CREATE DATABASE nextcloud_db; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'StrongPassword'; GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'nextclouduser'@'localhost'; quit
Korak 7: Preuzmite i konfigurišite Nextcloud
Instalirajte potrebne alate :
sudo apt install curl unzip -y
Preuzmite i raspakujte Nextcloud :
cd /var/www/ curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip unzip nextcloud.zip
Uverite se da su dozvole ispravno postavljene :
sudo chown -R www-data:www-data nextcloud
Korak 8: Konfigurišite Apache za Nextcloud
Napravite konfiguracioni fajl za Nextcloud sajt:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Dodajte sledeći sadržaj, prilagođavajući detalje kao što je naziv domena:
<VirtualHost *:80> ServerName cloud.ait.hosting DocumentRoot /var/www/nextcloud/ ErrorLog /var/log/apache2/files.cloud.ait.hosting-error.log CustomLog /var/log/apache2/files.cloud.ait.hosting-access.log combined <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> </VirtualHost>
Aktivirajte sajt i restartujte Apache :
sudo a2ensite nextcloud.conf sudo apachectl configtest sudo systemctl restart apache2
Korak 9: Osiguranje sa Certbot-om
Instalirajte Certbot da generišete SSL sertifikat:
sudo apt install certbot python3-certbot-apache
Pokrenite Certbot da konfigurišete HTTPS:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email admin@ait.hosting -d cloud.ait.hosting
Zaključak
Vaša instalacija Nextcloud-a na Debian 12 je sada završena. Pristupite svom serveru putem pregledača koristeći konfigurisan URL (na primer, https://cloud.ait.hosting), i pratite uputstva na ekranu da završite konfiguraciju. 🎉
Cron job
Napravite novi crontab koji će se koristiti za izvršavanje crontab skripte Nextcloud-a
sudo crontab -u www-data -e
Add the following configuration to the crontab file
*/5 * * * * php --define apc.enable_cli=1 -f /var/www/nextcloud/cron.php
Save and exit the file
Bonus
Otvorite konfiguracioni fajl Nextcloud-a /var/www/nextcloud/config/config.php
sudo nano /var/www/nextcloud/config/config.php
i dodati te komande
'memcache.local' => '\OC\Memcache\APCu',
'default_phone_region' => 'ch',
'maintenance_window_start' => 1,
Sačuvajte izmene i zatvorite fajl kada završite
OCC Komande
Može biti korisno
/var/www/nextcloud$ sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair --include-expensive
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-columns
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-primary-keys