Nextcloud is een van de meest populaire gratis en opensource-software voor het synchroniseren en delen van bestanden. Je kunt het gebruiken om je persoonlijke bestanden, contacten, foto's, muziek en nog veel meer op te slaan en je kunt er op elk moment toegang toe krijgen of ze delen met je vrienden. Het is een populair alternatief voor een andere veel gebruikte bestandshostingapp die ownCloud wordt genoemd. In deze zelfstudie laten we u zien hoe u de nieuwste versie 14 van Nextcloud op CentOS kunt installeren.
Eerste vereiste
- 7 CentOS
- SSH-toegang met rootprivileges
- PHP 7 of hoger
Stap 1: log in op uw server via SSH:
# ssh [e-mail beveiligd]_Adres -p Poortnummer
Voer vóór het starten de onderstaande opdracht in om te controleren of de juiste versie van CentOS op uw computer is geïnstalleerd:
# cat / etc / redhat-release
welke je de onderliggende uitvoer zou moeten geven:
CentOS Linux release 7.5.1804 (Core)
Stap 2: werk het systeem bij
Zorg ervoor dat uw server volledig up-to-date is:
# yum update
Als uw systeem een tijdje niet is bijgewerkt, duurt het enkele minuten om het te voltooien.
# yum installeer -y epel-release
Stap 3: Webserver installeren
In deze stap kunt u kiezen of u Apache of nginx wilt installeren.
Installeer Nginx-webserver
# yum installeer nginx
Schakel nginx in om te starten bij het opstarten en de service te starten met behulp van:
# systemctl enable nginx # systemctl start nginx
Installeer Apache webserver
Als u Apache in plaats van nginx wilt kiezen, kunt u bovenstaande nginx-installatie overslaan en vervolgens Apache installeren.
# yum installeer httpd
Schakel Apache in om te starten bij het opstarten en de service te starten met behulp van:
# systemctl enable httpd # systemctl start httpd
Stap 4: installeer PHP 7
De standaard PHP-versie op CentOS 7 is PHP 5.4 en Nextcloud 14 vereist PHP 7 of hoger, in deze stap zullen we PHP-versie 7 installeren.
Installeer de Remi en EPEL repository pakketten:
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Activeer Remi PHP 7 repo:
# yum-config-manager -enable remi-php70
en installeer PHP 7 en verschillende PHP-modules die vereist zijn door Nextcloud door het volgende commando uit te voeren:
# yum install php php-mysql php-pecl-zip php-xml php-mbstring php-gd php-fpm php-intl
Laten we nu de volgende strings vinden in /etc/php-fpm.d/www.conf
user = apache group = apache
Vervang de waarden met
user = nginx group = nginx
Wijzig vervolgens de machtiging voor de PHP-sessiemap, u moet deze stap overslaan als u Apache in plaats van nginx wilt gebruiken.
# chown -R root: nginx / var / lib / php / session /
Start ten slotte php-fpm opnieuw
# systemctl herstart php-fpm
Stap 5: MariaDB-databaseserver installeren
# nano /etc/yum.repos.d/MariaDB.repo
# [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1
# yum installeer MariaDB-server MariaDB-client
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb
Op dit moment draait MariaDB en we gaan nu een wachtwoord maken voor de root-gebruiker. Voer de volgende opdracht uit om een rootwachtwoord te maken, de testdatabase te verwijderen, de anonieme gebruiker te verwijderen en vervolgens de rechten opnieuw te laden.
# mysql_secure_installation
Eenmaal aangemaakt, kunt u het wachtwoord testen door deze opdracht in te roepen. U wordt om het wachtwoord gevraagd:
# Mysql-u root-p
Stap 6: maak een database
# mysql -uroot -p -e "CREËER DATABASE nextcloud KARAKTER SET utf8mb4 COLLATE utf8mb4_general_ci" # mysql -uroot -p -e "LAAT ALLES op de volgende wolk * [e-mail beveiligd] geïdentificeerd door 'M0d1fyth15 "# mysql -uroot -p -e" FLUSH-privileges "
Stap 7: webserver configureren
In de vorige stap hebt u een webserver gekozen om te installeren, nu moet u deze configureren.
Nginx-configuratie
Als u nginx wilt gebruiken, moet u een configuratiebestand maken voor het nginx-serverblok
nano /etc/nginx/conf.d/ydomdomain.com.conf
upstream php {server 127.0.0.1: 9000; } server {servernaam yourdomain.com; add_header X-Content-Type-Opties nosniff; add_header X-XSS-Protection "1; mode = block”; add_header X-Robots-Tag geen; add_header X-Download-Opties noopen; add_header X-Permitted-Cross-Domain-Policies geen; # Pad naar de root van uw installatiewortel / var / www / nextcloud /; location = /robots.txt {allow all; log_not_found uit; access_log off; } location = /.well-known/carddav {return 301 $ scheme: //$host/remote.php/dav; } location = /.well-known/caldav {return 301 $ scheme: //$host/remote.php/dav; } # stel maximale uploadgrootte in client_max_body_size 512M; fastcgi_buffers 64 4K; # Schakel gzip in maar verwijder ETag headers gzip niet; gzip_vary aan; gzip_comp_level 4; gzip_min_length 256; gzip_proxied verlopen no-cache no-store privé no_last_modified no_etag auth; gzip_types application / atom + xml application / javascript application / json application / ld + json application / manifest + json application / rss + xml application / vnd.geo + json application / vnd.ms-fontobject application / x-font-ttf application / x-web-app-manifest + json-toepassing / xhtml + xml-toepassing / xml-font / openingsype-afbeelding / bmp-afbeelding / svg + xml-afbeelding / x-pictogram tekst / cache-manifest-tekst / css-tekst / platte tekst / vcard-tekst / vnd .rim.location.xloc tekst / vtt tekst / x-componenttekst / x-cross-domein-beleid; locatie / {rewrite ^ /index.php$request_uri; } locatie ~ ^ / (?: build | tests | config | lib | 3rdparty | templates | data) / {alles weigeren; } locatie ~ ^ / (?:. | autotest | occ | probleem | indie | db_ | console) {alles weigeren; } locatie ~ ^ / (?: index | remote | public | cron | core / ajax / update | status | ocs / v [12] | updater /.+ | ocs-provider /.+). 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 HTTPS aan; #Vermijd het verzenden van de beveiligingsheaders twee keer fastcgi_param modHeadersVerkrijgbaar true; fastcgi_param front_controller_active true; fastcgi_pass php; fastcgi_intercept_errors on; fastcgi_request_buffering off; } locatie ~ ^ / (?: updater | ocs-provider) (?: $ | /) {try_files $ uri / = 404; index index.php; } # De cachebesturingsheader toevoegen voor js- en css-bestanden # Zorg dat het ONDER de PHP-bloklocatie ~ is. (?: css | js | woff | svg | gif) $ {try_files $ uri /index.php$request_uri; add_header Cache-Control "public, max-age = 15778463"; add_header X-Content-Type-Opties nosniff; add_header X-XSS-Protection "1; mode = block”; add_header X-Robots-Tag geen; add_header X-Download-Opties noopen; add_header X-Permitted-Cross-Domain-Policies geen; # Optioneel: log geen toegang tot assets access_log off; } Locatie ~. (?: png | html | ttf | ico | jpg | jpeg) $ {try_files $ uri /index.php$request_uri; # Optioneel: log de toegang tot andere assets access_log off niet in; }}
Test het nginx-configuratiebestand en start de service opnieuw
nginx -t systemctl herstart nginx
Apache-configuratie
Maak een virtueel host-configuratiebestand voor het domein dat u wilt gebruiken om Nextcloud te hosten.
nano /etc/httpd/conf.d/ydomdomin.com.conf
ServerAdmin [e-mail beveiligd] DocumentRoot / var / www / nextcloud Servernaam uwdomein.com ServerAlias www.uwdomein.com Opties + FollowSymlinks AllowOverride All Dav uit SetEnv HOME / var / www / nextcloud SetEnv HTTP_HOME / var / www / nextcloud ErrorLog / var / log / httpd / nextcloud-error_log CustomLog / var / log / httpd / nextcloud-access_log algemeen
Ga naar de officiële website van Nextcloud en download de nieuwste stabiele release van de applicatie
wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip
pak het gedownloade zip-archief uit in de hoofdmap van het document op uw server
# unzip nextcloud-14.0.0.zip -d / var / www / # mkdir / var / www / nextcloud / data # chown -R nginx: / var / www / nextcloud Als je Apache hebt gekozen, dan moet je de toestemming voor Apache instellen gebruiker # chown -R apache: / var / www / nextcloud U kunt nu doorgaan met de installatie van Nextcloud 14 via het web-installatieprogramma op http://uwdomein.com, vul de lege pagina naar behoefte en klik vervolgens op de knop "Installatie voltooien" om te voltooien het.
Het wordt aanbevolen om de Nextcloud 14 in de https-modus uit te voeren. We zullen hiervoor een SSL-certificaat moeten installeren. In deze stap laten we u zien hoe u een SSL-certificaat van Letsencrypt installeert.
# yum install certbot-nginx certbot-apache
# certbot
U wordt om uw e-mailadres gevraagd. Vervolgens moet u akkoord gaan met de takenlijst om door te gaan met de installatie van het certificaat.
Als er geen probleem is bij het aanvragen van het certificaat, zal Certbot uw bestaande nginx-serverblok automatisch bewerken om het certificaat te installeren.
Op dit punt hebt u toegang tot uw Nextcloud 14-installatie op https://uwdomein.com
En dat is het, met de laatste stap van deze zelfstudie hebben we met succes Nextcloud 14 op uw CentOS 7 geïnstalleerd en kunt u inloggen met de aanmeldingsreferenties van uw beheerder. Voor meer informatie, kunt u bezoek de officiële documentatie van Nextcloud 14.