Kā instalēt Nextcloud uz Ubuntu 16.04
Nextcloud ir viens no populārākajiem risinājumiem privātai failu glabāšanai, sinhronizācijai, kalendāriem, kontaktu sinhronizēšanai un komandas sadarbībai. Tas ir īpaši noderīgs uzņēmumiem un lietotājiem, kuri nevēlas glabāt datus tikai publiskajos mākoņos un kuriem ir svarīga kontrole pār piekļuvi, rezerves kopijām un servera infrastruktūru. Uz Ubuntu 16.04 Nextcloud uzstādīšana joprojām ir iespējama, taču ir svarīgi saprast, ka tā ir vecāka operētājsistēma, tāpēc jāstrādā uzmanīgi ar PHP versijām, drošības atjauninājumiem un saderību starp komponentēm.
Praktiskā uzstādīšana sastāv no vairākiem slāņiem: web servera, PHP, datubāzes un pašas Nextcloud lietotnes. Tad seko failu īpašumtiesību sakārtošana, HTTPS ieviešana, cron uzdevumu iestatīšana un dažas pamata optimizācijas. Šādu vidi parasti izvieto uz virtuālā servera, jo tas dod pilnu kontroli pār sistēmu un resursiem. Lielākai slodzei vai uzņēmuma līmeņa projektiem var būt piemērota serveru īre, bet drošai piekļuvei caur HTTPS jāizmanto arī SSL sertifikāti.
Pirms sākat, ir svarīgi noteikt, vai jūs uzstādāt Nextcloud no nulles uz jauna servera vai uz esošas sistēmas, kur jau darbojas citi servisi. Ja serveris ir tīrs, konfigurācija būs vienkāršāka. Ja tur jau ir citi Apache virtual host, PHP iestatījumi vai datubāzes, būs jārūpējas, lai jaunā vide neradītu konfliktus. Vēl viens svarīgs punkts ir domēna vārds: Nextcloud strādā visērtāk un drošāk, ja tam ir savs pilns hostname, piemēram, cloud.example.com, nevis tikai IP adrese.
1) Sistēmas atjaunināšana un bāzes pakotnes
Sāciet ar sistēmas atjaunināšanu. Tas ir svarīgi ne tikai funkcionalitātei, bet arī drošībai. Ubuntu 16.04 ir vecāka sistēma, tāpēc jums jābūt uzmanīgam, kādus repozitorijus lietojat un kādas PHP pakotnes instalējat. Pamatā būs vajadzīgi Apache, MariaDB, PHP un vairāki PHP paplašinājumi, kas nepieciešami Nextcloud korektai darbībai.
sudo apt update sudo apt upgrade -y sudo apt install -y apache2 mariadb-server libapache2-mod-php php php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip unzip wget curl
Pēc pakotņu uzstādīšanas pārliecinieties, ka Apache un MariaDB ir palaisti un ieslēgti automātiskai startēšanai. Ja kāds no servisiem nestartējas, labāk problēmu risināt uzreiz, nevis pēc tam, kad jau ir uzlikta pati lietotne un kļūdu ir vairāk. Tieši šis ir brīdis, kad pārbaudīt, vai ports 80 vispār klausās un vai serveris korekti atbild lokāli.
2) MariaDB konfigurācija un datubāzes sagatavošana
Nextcloud glabā lietotāju informāciju, failu indeksus, sesijas un citu metadatu struktūru datubāzē, tāpēc kvalitatīva datubāzes konfigurācija ir ļoti svarīga. MariaDB ir bieža un stabila izvēle šim uzdevumam. Pēc uzstādīšanas palaidiet mysql_secure_installation, lai iestatītu root paroli, noņemtu testu datubāzes un sakārtotu pamata drošības iestatījumus. Tas ir vienkāršs solis, kas būtiski uzlabo kopējo drošības līmeni.
sudo mysql_secure_installation
Pēc tam pieslēdzieties MariaDB un izveidojiet atsevišķu datubāzi un lietotāju tieši Nextcloud vajadzībām. Nav ieteicams izmantot root kontu lietotnes ikdienas darbībai. Atsevišķa lietotāja izmantošana samazina riskus, vienkāršo diagnostiku un ļauj precīzāk kontrolēt piekļuves tiesības.
mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'StrongPasswordHere'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Šos datus saglabājiet drošā vietā, jo tie būs vajadzīgi instalācijas vednī. Ja vēlāk paredzētas rezerves kopijas vai migrācija, jums būs svarīgi precīzi zināt datubāzes nosaukumu un lietotāju, lai visu varētu atjaunot bez minējumiem.
3) Nextcloud lejupielāde un failu izvietošana
Tagad var lejupielādēt pašu Nextcloud. Ieteicams izmantot oficiālo arhīvu un izvietot failus direktorijā, kas ir skaidri atdalīta no citām vietnēm, piemēram, /var/www/nextcloud. Pēc izpakošanas vajadzēs sakārtot failu īpašumtiesības un pārliecināties, ka Apache lietotājam ir nepieciešamā piekļuve. Nepareizas tiesības ir viens no biežākajiem iemesliem, kāpēc instalācija sākumā izskatās pareiza, bet vēlāk lietotne nespēj rakstīt datus vai kešu.
cd /tmp wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip sudo mv nextcloud /var/www/nextcloud sudo chown -R www-data:www-data /var/www/nextcloud sudo chmod -R 755 /var/www/nextcloud
Ja datu direktoriju vēlaties turēt ārpus web root, tas ir vēl labāk no drošības viedokļa. Piemēram, varat izveidot /var/ncdata vai citu ceļu, kas nav tieši publicēts caur Apache. Tas palīdz samazināt risku, ja servera konfigurācijā vēlāk rodas kļūda vai nejauši tiek nepareizi publicēts saturs.
sudo mkdir -p /var/ncdata sudo chown -R www-data:www-data /var/ncdata sudo chmod -R 750 /var/ncdata
4) Apache virtual host un moduļi
Nextcloud pareizai darbībai Apache pusē jāieslēdz vairāki moduļi, piemēram, rewrite, headers, env, dir un mime. Pēc tam jāizveido atsevišķs virtual host, kurš norāda uz Nextcloud direktoriju un izmanto jūsu izvēlēto hostname. Šis solis ir svarīgs ne tikai tam, lai vietne atvērtos, bet arī lai vēlāk būtu viegli pieslēgt HTTPS un uzturēt vidi pārskatāmi.
sudo a2enmod rewrite headers env dir mime ssl sudo nano /etc/apache2/sites-available/nextcloud.conf
ServerName cloud.example.com DocumentRoot /var/www/nextcloud Require all granted AllowOverride All Options FollowSymLinks MultiViews ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
Pēc konfigurācijas saglabāšanas aktivizējiet virtual host un pārlādējiet Apache. Ja serverī iepriekš bija ieslēgta tikai noklusējuma vietne, ieteicams to atspējot, lai izvairītos no negaidītas satura sajaukšanās starp hostiem. Pēc pārlādes pārbaudiet, vai cloud.example.com jau lokāli atveras vismaz ar pamata instalācijas vedni.
sudo a2ensite nextcloud.conf sudo a2dissite 000-default.conf sudo systemctl reload apache2
5) Instalācija pārlūkā un cron iestatīšana
Atveriet pārlūkā savu domēnu un pabeidziet instalācijas vedni. Jums būs jānorāda administratora konts, parole, datu direktorijs, datubāzes tips un iepriekš izveidotie MariaDB dati. Ja esat izveidojis atsevišķu datu direktoriju ārpus web root, šeit to arī ievadiet. Pareiza datu direktorija izvēle jau pašā sākumā vēlāk samazina nepieciešamību pārnest lielu failu apjomu uz citu vietu.
Pēc pirmās pieslēgšanās administrācijas panelī Nextcloud parasti iesaka pārslēgt fona uzdevumus uz cron režīmu. Tas ir svarīgi, jo AJAX režīms ir mazāk stabils un lielākai videi nederīgs. Cron uzdevumi nodrošina paredzamu indeksēšanu, paziņojumus, versiju tīrīšanu un citus iekšējos procesus.
sudo crontab -u www-data -e
*/5 * * * * php -f /var/www/nextcloud/cron.php
HTTPS, drošība un uzturēšana pēc uzstādīšanas
Pēc veiksmīgas uzstādīšanas ir ļoti svarīgi ieslēgt HTTPS. Nextcloud bez šifrēta savienojuma nav laba prakse, jo lietotāji tajā glabā failus, paroles, kontaktus un citus sensitīvus datus. Ja lietojat publisku domēnu, uzlieciet SSL sertifikātu un pārbaudiet, vai pāradresācija no HTTP uz HTTPS ir korekta. Tāpat ieteicams pārbaudīt trusted domains iestatījumu Nextcloud konfigurācijā, lai lietotne akceptētu tikai tos hostname, kurus tiešām izmantojat.
No veiktspējas un uzturēšanas viedokļa svarīgi ir ne tikai faili, bet arī PHP limiti, datubāzes optimizācija, kešs un rezerves kopijas. Ja plānojat vairāk lietotāju vai lielākus failus, laicīgi palieliniet upload limitus, memory_limit un max_execution_time. Tāpat ieteicams ieplānot datubāzes dump un failu rezerves kopijas, jo tikai abu kopums ļauj pilnvērtīgi atjaunot vidi pēc kļūmes.
sudo mysqldump -u root -p nextcloud > /tmp/nextcloud.sql sudo tar -czf /tmp/nextcloud-files.tar.gz /var/www/nextcloud /var/ncdata
Ubuntu 16.04 vidē īpaši svarīgi ir arī sekot tam, cik ilgi šādu sistēmu plānojat uzturēt. Tā ir vecāka platforma, un ilgtermiņā labākā prakse būs plānot migrāciju uz jaunāku Ubuntu versiju. Taču, ja šī instalācija tiek veidota mantotai videi vai testēšanai, pareizi sakārtots Apache, PHP, MariaDB, cron, HTTPS un backup process joprojām ļauj iegūt saprotamu, drošu un funkcionālu Nextcloud vidi.