Preduvjeti
Korak 1: Ažurirajte sustav
Korak 2: Instalirajte Apache
Korak 3: Instalirajte PHP i potrebna PHP proširenja
Korak 4: Instalirajte MariaDB i postavite bazu podataka za NextCloud
Korak 5: Instalirajte NextCloud
NextCloud, baš kao što mu ime govori, obećavajuća je alternativa drugom OwnCloud rješenju za hostiranje datoteka otvorenog koda.
U ovom članku pokazat ću vam kako instalirati NextCloud na instancu poslužitelja Vultr CentOS 7.
Preduvjeti
- Novostvorena instanca poslužitelja Vultr CentOS 7.
- Korisnik sudo za prijavu.
Korak 1: Ažurirajte sustav
Prijavite se u sustav CentOS 7 kao sudo korisnik, a zatim ažurirajte sustav na najnoviji stabilan status:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Nakon ponovnog pokretanja i dalje koristite istog sudo korisnika za prijavu.
Korak 2: Instalirajte Apache
Instalirajte Apache kao web poslužitelj za NextCloud:
sudo yum install httpd -y
Onemogućite unaprijed postavljenu stranicu dobrodošlice Apachea:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Iz sigurnosnih razloga spriječite Apache da prikazuje sadržaj u korijenskom web direktoriju /var/www/html:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Spriječite Apacheu da učita WebDAV module, kako to zahtijeva NextCloud:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf
Pokrenite uslugu Apache i neka se pokrene pri pokretanju:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Korak 3: Instalirajte PHP i potrebna PHP proširenja
NextCloud preporučuje korištenje PHP 5.6. Ovdje možete instalirati PHP 5.6 i potrebna PHP proširenja koristeći IUS YUM repozitorij.
Instalirajte IUS YUM spremište:
cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release.rpm
Instalirajte PHP 5.6 i potrebna proširenja koristeći IUS YUM repo:
sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y
Povećajte veličinu datoteke za prijenos na odgovarajuću vrijednost, recimo 50 MB:
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini
Ponovo pokrenite Apache kako biste primijenili gore navedene izmjene:
sudo systemctl restart httpd.service
Korak 4: Instalirajte MariaDB i postavite bazu podataka za NextCloud
Instalirajte MariaDB:
sudo yum install mariadb mariadb-server -y
Pokrenite uslugu MariaDB i neka se pokrene pri pokretanju:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Sigurna instalacija MariaDB:
sudo /usr/bin/mysql_secure_installation
Tijekom procesa odgovorite na pitanja jedno po jedno na sljedeći način:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Sada je vrijeme da postavite bazu podataka za NextCloud:
mysql -u root -p
Unesite MariaDB root lozinku koju ste ranije postavili za prijavu.
U ljusci MySQL morate stvoriti bazu podataka i korisnika baze podataka, a zatim dodijeliti privilegije ovom korisniku baze podataka.
Za završetak posla koristite sljedeće naredbe. Svakako zamijenite naziv baze podataka "nextcloud", korisničko ime baze podataka "nextclouduser" i korisničku lozinku baze podataka "yourpassword" u svakoj naredbi svojim vlastitim.
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Korak 5: Instalirajte NextCloud
Preuzmite najnoviju stabilnu verziju NextClouda s njegove službene web stranice. U vrijeme pisanja, broj najnovije stabilne verzije je 9.0.53.
cd
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip
Raspakirajte NextCloud arhivu:
sudo yum install unzip -y
unzip nextcloud-9.0.53.zip
Premjestite sve datoteke NextCloud u korijenski direktorij weba, a zatim im dodijelite odgovarajuća dopuštenja:
sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html
Instalirajte NextCloud iz sučelja naredbenog retka sa sljedećim uzorcima parametara. Svakako ih zamijenite svojima.
- naziv-baze: sljedećicloud
- korisnik baze podataka: nextclouduser
- baza podataka: vaša lozinka
- admin-korisnik: admin
- admin-pass nextcloudaadminpassword
Trčanje:
cd /var/www/html/
sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"
Ako sve prođe kako treba, izlaz će glasiti:
Nextcloud is not installed - only a limited number of commands are available
ownCloud was successfully installed
Dodajte IP poslužitelja (recimo da je 203.0.113.1) i naziv domene (recimo da je www.example.com) na NextCloudov popis pouzdanih domena:
sudo vi /var/www/html/config/config.php
Pronađite liniju:
0 => 'localhost',
Ispod njega umetnite sljedeća dva retka:
1 => '203.0.113.1',
2 => 'www.example.com',
Spremi i zatvori:
:wq!
Iz sigurnosnih razloga morate postaviti jaka dopuštenja za Nextcloud datoteke i direktorije nakon instalacije:
sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750
sudo chown -R root:apache /var/www/html
sudo chown -R apache:apache /var/www/html/apps
sudo chown -R apache:apache /var/www/html/config
sudo chown -R apache:apache /var/www/html/data
sudo chown -R apache:apache /var/www/html/themes
sudo chown -R apache:apache /var/www/html/updater
sudo chmod 0644 /var/www/html/.htaccess
sudo chown root:apache /var/www/html/.htaccess
sudo chmod 0644 /var/www/html/data/.htaccess
sudo chown root:apache /var/www/html/data/.htaccess
Osim toga, zapamtite da postoji direktorij koji nije kreiran pod nazivom /var/www/html/assets. Ako kreirate ovaj direktorij u budućnosti, također morate pokrenuti sljedeću naredbu:
sudo chown -R apache:apache /var/www/html/assets
Ove postavke pomažu spriječiti NextCloud od neovlaštenog pristupa.
Note: If you need to update NextCloud in the future, you can temporarily loosen permissions using the following command:
sudo chown apache:apache -R /var/www/html
After the update, still set strong permissions as above.
Ponovo pokrenite Apache kako biste svoje promjene stavili na snagu:
sudo systemctl restart httpd.service
Izmijenite pravila vatrozida kako biste posjetiteljima omogućili pristup:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
To je to. Sada možete usmjeriti svoj web preglednik na http://203.0.113.1i koristiti NextCloud administratorski račun za prijavu.
Hvala na čitanju.