Sådan installeres ownCloud 9.1 med Nginx og MariaDB på CentOS 7

Sådan installeres ownCloud 9.1 med Nginx og MariaDB på CentOS 7

OwnCloud er en serversoftware til datasynkronisering og fildeling med en brugervenlig webbaseret frontend, der er tilgængelig under en open source-licens. OwnCloud kan installeres på en Linux eller Windows webserver, er let at konfigurere og har en omfattende online dokumentation. Den native klient er tilgængelig til Windows, MacOS og Linux (Desktop Application). Der er også en mobil app til Android og iOS.

I denne vejledning vil jeg guide dig til at installere og konfigurere ownCloud 9.1 på en CentOS 7-server. Jeg vil vise dig, hvordan du konfigurerer ownCloud med Nginx og PHP 7 (som FPM) og MariaDB som databasesystem.

Forudsætninger

  • CentOS 7 Server
  • Root Privleges

Trin 1 - Installer Nginx og PHP7-FPM

Før vi begynder med installationen Nginx og php7-fpm, skal vi tilføje EPEL-depotet, som indeholder yderligere software, der ikke er tilgængelig fra CentOS-basen. Installer EPEL med denne yum-kommando.

yum-du installerer epel-release

Nu installer Nginx fra Epel repository.

yum-du installerer nginx

Nu skal vi tilføje et andet lager til php7-fpm. Der er flere lagre til PHP 7 tilgængelig på nettet, jeg vil bruge det webtatic repository her.

Tilføj webtatic repository:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Derefter skal du installere PHP7-FPM med nogle ekstra pakker til ownCloud-installationen.

yum -y installer php70w-fpm php70w-cli php70w-gd php70w-mcrypt php70w-mysql php70w-pære php70w-xml php70w-mbstring php70w-pdo php70w-json

Kontroller PHP-versionen fra serverterminalen for at sikre, at installationen lykkes.

php-v

Tjek PHP versionen

Trin 2 - Konfigurer PHP7-FPM

I dette trin vil vi konfigurere php-fpm til at køre med nginx. Php7-fpm kører under brugeren nginx og lytter på port 9000.

Rediger standard php7-fpm konfiguration med vim.

vim /etc/php-fpm.d/www.conf

I linje 8 og 10 skal du ændre bruger og gruppe til 'Nginx«.

bruger = nginx
gruppe = nginx

På linje 22 skal du sørge for, at php-fpm kører under serverport 9000.

lyt = 127.0.0.1: 9000

Uanmeldte linjerne 366-370 for php-fpm systemmiljøvariablerne.

env [HOSTNAME] = $ HOSTNAME
env [PATH] = / usr / local / bin: / usr / bin: / bin
env [TMP] = / tmp
env [TMPDIR] = / tmp
env [TEMP] = / tmp

Gem filen og forlad editoren

Derefter opretter du en ny mappe til sessionen i mappen '/ var / lib /' og ændrer ejeren til 'nginx'-brugeren.

mkdir -p / var / lib / php / session
chown nginx: nginx -R / var / lib / php / session /

Start php-fpm og nginx, så tilføj det for at starte ved opstartstidspunktet.

sudo systemctl start php-fpm
sudo systemctl start nginx
sudo systemctl aktiver php-fpm
sudo systemctl aktivere nginx

Konfigurer PHP-FPM på CentOS

PHP7-FPM konfiguration er udført.

Trin 3 - Installer og konfigurer MariaDB

OwnCloud understøtter PostgreSQL og MySQL databaser. I denne vejledning bruger vi MariaDB til ownCloud-databasen. Installer mariadb-serverpakken fra CentOS-depotet med yum-kommandoen.

yum-du installerer mariadb mariadb-server

Start MariaDB-tjenesten og konfigurer MariaDB root-adgangskoden.

systemctl start mariadb
mysql_secure_installation

Indtast din rodadgangskode, når du bliver bedt om det.

Indstil root password? [Y / n] Y
Nyt kodeord:
Indtast ny adgangskode:
Fjern anonyme brugere? [Y / n] Y
Disallow root login fjernt? [Y / n] Y
Fjern test database og adgang til det? [Y / n] Y
Genindlæs privilegietabeller nu? [Y / n] Y

MariaDB root kodeordet er indstillet, nu kan vi logge ind på MySQL shell for at oprette en ny database og bruger til ownCloud.We vil oprette en ny database '

Vi vil oprette en ny database 'owncloud_db'under brugeren'ownclouduser'med adgangskode'[Email protected]'. Vælg venligst et andet og sikkert kodeord til din installation!

mysql -u rod-p
Indtast adgangskode

Skriv MySQL-forespørgslen herunder for at oprette en ny database og en ny bruger.

oprette database owncloud_db;
oprette bruger [email protected] identificeret af '[Email protected]';
give alle privilegier på owncloud_db. * til [email protected] identificeret af '[Email protected]';
flush privilegier;

Opret en ny MySQL-database til ownCloud

'Owncloud_db database' med bruger 'ownclouduser' er blevet oprettet.

Trin 4 - Generer et selvsigneret SSL-certifikat

I denne tutorial løber vi owncloud under en https-forbindelse til klienten. Du kan bruge et gratis SSL cert, såsom lad os kryptere. I denne vejledning opretter jeg min egen SSL-certifikatfil med OpenSSL-kommandoen.

Opret en ny mappe til SSL-filen.

mkdir -p / etc / nginx / cert /

Derefter generere en ny SSL-certifikatfil med OpenSSL-kommandoen nedenfor.

openssl req-ny -x509 -days 365 -noder -out /etc/nginx/cert/owncloud.crt -keyout /etc/nginx/cert/owncloud.key

Indtast oplysningerne for SSL-certifikatet som anmodet af OpenSSL-kommandoen. Derefter ændres tilladelsen for alle certifikatfiler til 600 med chmod.

chmod 600 / etc / nginx / cert / *

Opret et selvsigneret SSL-certifikat

Trin 5 - Download OwnCloud

Vi downloader ownCloud med kommandoen wget, så vi skal først installere wget-pakken. Derudover skal vi pakke pakken ud.

yum-du installerer wget unzip

Gå til tmp-biblioteket og download den nyeste stabile ownCloud 9.1 fra ownCloud-webstedet med wget.

cd / tmp
wget https://download.owncloud.org/community/owncloud-9.1.2.zip

Uddrag egenCloud zip-filen og flyt den til '/ usr / share / nginx / html /' biblioteket.

Unzip owncloud-9.1.2.zip
mv owncloud / / usr / share / nginx / html /

Gå derefter til nginx web root directory og opret en ny 'data' bibliotek for owncloud.

cd / usr / share / nginx / html /
mkdir -p owncloud / data /

Skift ejeren af ​​'owncloud'-mappen til' nginx'-brugeren og gruppen.

chown nginx: nginx -R owncloud /

Trin 6 - Konfigurer OwnCloud Virtual Host i Nginx

På trin 5 har vi downloadet ownCloud kildekoden og konfigureret den til at køre under Nginx webserveren. Men vi skal stadig konfigurere den virtuelle vært til ownCloud.

Opret en ny virtuel værts konfigurationsfil 'owncloud.conf' i 'conf.d' biblioteket.

cd /etc/nginx/conf.d/
vim owncloud.conf

Indsæt egenCloud virtuelle værtskonfiguration nedenfor.

opstrøms php-handler {server 127.0.0.1: 9000; #server unix: /var/run/php5-fpm.sock; } server {lyt 80; servernavn data.owncloud.co; # håndhæve https return 301 https: // $ servernavn $ request_uri; } server {lyt 443 ssl; servernavn data.owncloud.co; ssl_certificate /etc/nginx/cert/owncloud.crt; ssl_certificate_key /etc/nginx/cert/owncloud.key; # Tilføj overskrifter for at tjene sikkerhedsrelaterede overskrifter # Før du aktiverer Header-Transport-Sikkerhedsoverskrifter skal du først læse om dette emne. add_header Strict-Transport-Security "max-age = 15552000; includeSubDomains"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode = blok"; add_header X-Robots-Tag ingen; add_header X-Download-Options noopen; add_header X-tilladt-tværs-domæne-politikker ingen; # Sti til roden af ​​din installationsroot / usr / share / nginx / html / owncloud /; placering = /robots.txt {tillad alt; log_not_found off; adgang_log slukket; } # Følgende 2-regler er kun nødvendige for appen user_webfinger. # Ukomment det, hvis du planlægger at bruge denne app. #rewrite ^ /. velkendt / host-meta /public.php?service=host-meta sidst; #rewrite ^ /. velkendt / host-meta.json /public.php?service=host-meta-json sidst; location = /.well-known/carddav {return 301 $ schema: //$host/remote.php/dav; } placering = /.well-known/caldav {return 301 $ -skema: //$host/remote.php/dav; } placering /.well-known/acme-challenge {} # sæt maks. uploadstørrelse client_max_body_size 512M; fastcgi_buffers 64 4K; # Deaktiver gzip for at undgå fjernelse af ETag header gzip fra; # Uncomment, hvis din server er bygget med ngx_pagespeed-modulet # Dette modul understøttes i øjeblikket ikke. #pagespeed off; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; placering / {omskrive ^ /index.php$uri; } placering ~ ^ / (?: build | tests | config | lib | 3rdparty | skabeloner | data) / {return 404; } placering ~ ^ / (?:. | autotest | occ | problem | indie | db_ | konsol) {return 404; } placering ~ ^ / (?: indeks | fjern | offentlig | cron | kerne / ajax / opdatering | status | ocs / v [12] | opdaterer /.+ | ocs-udbyder /.+ | kerne / skabeloner / 40 [34 ]). php (?: $ | /) {fastcgi_split_path_info ^ (. +. php) (/.*) $; inkluderer fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param HTTPS tændt; fastcgi_param modHeadersAvailable sandt; # Undgå at sende sikkerhedsoverskrifterne to gange fastcgi_param front_controller_active sandt; fastcgi_pass php-handler; fastcgi_intercept_errors tændt; fastcgi_request_buffering off; } placering ~ ^ / (?: updater | ocs-provider) (?: $ | /) {try_files $ uri $ uri / = 404; indeks indeks.php; } # Tilføjelse af cache-kontroloverskrift for js og css-filer # Sørg for, at det er NEDEN under PHP-blokeringens placering ~ *. (?: css | js) $ {try_files $ uri /index.php$uri$is_args$args; add_header Cache-Control "public, max-age = 7200"; # Tilføj overskrifter til at tjene sikkerhedsrelaterede overskrifter (Det er beregnet til at have dem, der er duplikeret til ovenstående) # Før du aktiverer strenge-transport-sikkerhedsoverskrifter skal du først læse ind i dette emne. #add_header Strict-Transport-Security "max-age = 15552000; includeSubDomains"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode = blok"; add_header X-Robots-Tag ingen; add_header X-Download-Options noopen; add_header X-tilladt-tværs-domæne-politikker ingen; # Valgfrit: Log ikke adgang til aktiver access_log fra; } placering ~ *. (?: svg | gif | png | html | ttf | woff | ico | jpg | jpeg) $ {try_files $ uri /index.php$uri$is_args$args; # Valgfrit: Log ikke adgang til andre aktiver access_log fra; }}

Gem filen og forlad editoren.

Endelig teste Nginx-konfigurationen og sørg for, at der ikke er nogen fejl, og genstart derefter tjenesten.

nginx -t
systemctl genstart nginx

Test egenClod Nginx-konfigurationen

Trin 7 - Konfigurer SELinux og FirewallD

I denne vejledning forlader vi SELinux i håndhævende tilstand, så vi har brug for pakken SELinux management tools til at konfigurere den.

Installer SELinux-styringsværktøjer med denne yum-kommando.

yum-du installerer policycoreutils-python

Udfør derefter kommandoerne nedenfor som root for at tillade ownCloud at køre under SELinux. Husk at ændre egenCloud-mappen, hvis du bruger en anden mappe til ownCloud-installationen.

semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/assets(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/owncloud/.user.ini'
restorecon -Rv '/ usr / share / nginx / html / owncloud /'

Dernæst aktiver firewalld-tjenesten og åbn HTTP- og HTTPS-porten for owncloud.

Start firewalld og konfigurer den til at starte ved opstartstidspunktet.

systemctl start firewalld
systemctl aktiver firewalld

Åbn HTTP- og HTTPS-portene med kommandoen firewall-cmd, og genindlæs derefter firewallen.

firewall-cmd -permanent -add-service = http
firewall-cmd -permanent -add-service = https
firewall-cmd-reload

Åbn HTTP og HTTPS-port i firewallen

Serverkonfigurationsdelen er færdig.

Trin 8 - Installationsguiden OwnCloud

Nu åbner du din webbrowser og skriver i ownCloud-domænenavnet i URL-feltet, min er: data.owncloud.co, og du bliver omdirigeret til den sikre HTTPS-forbindelse.

Indtast dit nye admin brugernavn og kodeord, og indtast derefter databaseoplysningerne og klik på 'Afslut opsætning«.

OwnCloud installationsguiden

Admin Dashboard Filhåndtering.

ownCloud installationsguiden

Brugerindstillinger.

Admin Dashboard og File Manager

Adminindstillinger.

Owncloud Admin

Owncloud er installeret med Nginx, PHP7-FPM og MariaDB på en CentOS 7 Server.

Reference

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.