Si të instaloni ownCloud 9 me Nginx në OpenSUSE Leap 42.1
ownCloud është një aplikacion për ndarjen e skedarëve OpenSource i bazuar në gjuhën e programimit PHP. OwnCloud ofron sinkronizimin dhe ndarjen e skedarëve të vetë-strehuar me një ndërfaqe të këndshme ueb dhe aplikacione sinkronizuese për të gjitha platformat kryesore celulare dhe desktop me një sistem funksional si dropbox, mega, etj. ownCloud e bën të lehtë qasjen dhe sinkronizimin e skedarëve, kalendarëve dhe kontakteve në të gjithë pajisje.
Në këtë tutorial, unë do t'ju udhëzoj të krijoni platformën tuaj të sinkronizimit dhe ndarjes së serverit me ownCloud. Ne do të instalojmë ownCloud me Nginx si server në internet, MariaDB (një pirun MySQL) si bazën e të dhënave dhe php-fpm për të trajtuar kërkesën për php në Linux OpenSUSE Leap 42.1.
Kusht paraprak
- OpenSUSE Leap 42.1
- Privilegjet e rrënjës
- Kuptimi i komandës zypper
Hapi 1 - Instaloni SuSEfirewall2
SuSEfirewall është një skript i murit të zjarrit i cili ruan konfigurimin e tij në skedarin \/etc/sysconfig/SuSEfirewall2\. Me SuSEfirewall2, ju mund të hapni portet duke redaktuar skedarin \SuSEfirewall2\.
Instaloni SuSEfirewall2 me komandën zypper:
zypper in SuSEfirewall2
Kur të instalohet muri i zjarrit, shkoni te drejtoria sysconfig dhe modifikoni konfigurimin \SuSEfirewall2\ me vim:
cd /etc/sysconfig/
vim SuSEfirewall2
Shkoni te rreshti 253 dhe shtoni portat e të gjitha shërbimeve që dëshironi të përdorni. Në këtë hap, unë do të shtoj portet: ssh, http dhe https.
FW_SERVICES_EXT_TCP="22 80 443"
Ruani skedarin dhe dilni nga redaktori.
Më pas, nisni SuSEfirewall2 dhe aktivizoni atë të funksionojë në kohën e nisjes:
systemctl start SuSEfirewall2
systemctl enable SuSEfirewall2
Tani rinisni shërbimin sshd:
systemctl restart sshd
Nëse dëshironi të testoni portën e serverit SSH, mund të përdorni komandën telnet për t'u lidhur me portin 22:
telnet 192.168.1.101 22
Hapi 2 - Instaloni Nginx
Nginx është një server web i lehtë me memorie të ulët dhe konsum të CPU-së. Ne do të përdorim nginx si server në internet për instalimin tonë të Cloud.
Instaloni nginx me komandën zypper:
zypper in nginx
Nisni nginx dhe aktivizoni atë të funksionojë në nisje me komandën systemctl:
systemctl start nginx
systemctl enable nginx
Më pas, shtoni një skedar index.html për të provuar nëse nginx po funksionon.
echo "This is Nginx Page OpenSUSE Leap" > /srv/www/htdocs/index.html
Tani mund të hyni te serveri i uebit nginx nga shfletuesi juaj i internetit, ose mund ta kontrolloni me curl:
curl -I 192.168.1.101
curl 192.168.1.101
Hapi 3 - Instaloni dhe konfiguroni MariaDB
MariaDB është një fork i bazuar në OpenSource RDBMS i bazës së të dhënave MySQL. Në këtë hap, ne do të instalojmë dhe konfigurojmë MariaDB. Më pas do të krijojmë një përdorues dhe bazë të dhënash të re për instalimin e ownCloud.
Instaloni MariaDB me komandën zypper më poshtë:
zypper in mariadb mariadb-client
Tani filloni MariaDB dhe shtoni atë në fillimin e sistemit:
systemctl start mysql
systemctl enable mysql
MariaDB ka filluar, tani mund të konfiguroni fjalëkalimin rrënjë për MariaDB me komandën e mëposhtme:
mysql_secure_installation
Vendosni fjalëkalimin MariaDB/MySQL:
Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Fjalëkalimi rrënjësor i MariaDB është konfiguruar. Tani mund të identifikohemi në guaskën MariaDB/MySQL dhe të krijojmë një bazë të dhënash të re dhe përdorues të ri për ownCloud.
Hyni në guaskën MariaDB/MySQL:
mysql -u root -p
TYPE your password
Krijo një bazë të dhënash të re \owncloud_db\ dhe përdorues të ri \ownclouduser\ me fjalëkalim \[email \:
create database owncloud_db;
create user ';
flush privileges;
exit
Baza e të dhënave për instalimin e ownCloud është krijuar.
Hapi 4 - Instaloni dhe konfiguroni PHP-FPM
PHP-FPM (FastCGI Process Manager) është një alternativë moderne FastCGI për të trajtuar faqet me shumë vizitorë. PHP-FPM ka një menaxhim të avancuar të procesit dhe është i lehtë për t'u menaxhuar dhe konfiguruar.
Në këtë hap, ne do të instalojmë php-fpm dhe disa shtesa PHP, më pas do të konfigurojmë serverin e uebit nginx për të trajtuar kërkesat e skedarëve php përmes php-fpm.
Instaloni php-fpm me këtë komandë \zypper in\:
zypper in php5-fpm php5-gd php5-mcrypt php5-mysql php5-pear php5-zip php5-curl php5-ldap php5-json
Kur instalimi të përfundojë, shkoni te drejtoria php-fpm dhe kopjoni skedarin e konfigurimit të paracaktuar:
cd /etc/php5/fpm/
cp php-fpm.conf.default php-fpm.conf
Redaktoni skedarin php-fpm.conf me redaktuesin vim ose nano:
vim php-fpm.conf
Zhkomentoni rreshtin 32 për të aktivizuar regjistrin php-fpm. Nëse ka gabim më vonë në skriptet tuaja PHP, atëherë mund ta gjeni skedarin e regjistrit në drejtorinë \/var/log/\.
error_log = log/php-fpm.log
Ndrysho rreshtin 148 - 149 në \nginx\ për përdoruesin/grupin unix të proceseve.
user = nginx
group = nginx
Ndryshoni vlerën në rreshtin 159 për të ekzekutuar php-fpm me një skedar fole.
listen = /var/run/php-fpm.sock
Zhkomentoni dhe ndryshoni vlerën në rreshtat 170 - 172 për të vendosur lejet e folesë unix.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Ruani skedarin dhe dilni nga redaktori.
Më pas, modifikoni skedarin php.ini në drejtorinë cli:
cd /etc/php5/cli/
vim php.ini
Zhkomentoni dhe ndryshoni vlerën në rreshtin 758:
cgi.fix_pathinfo=0
Ruaje dhe dil.
Kopjoni skedarin php.ini në drejtorinë conf.d:
cp php.ini /etc/php5/conf.d/
Tani konfiguroni shtegun e menaxherit të sesionit php. Në këtë tutorial, ne ekzekutojmë php-fpm si përdorues nginx, prandaj sigurohuni që përdoruesi nginx të mund të shkruajë në drejtorinë e sesioneve. Mund të shihni konfigurimin e rrugës së sesionit në skedarin php.ini në linjën 1390.
session.save_path = "/var/lib/php5"
Ndrysho zotëruesin e drejtorisë së sesionit \/var/lib/php5/\, bëje përdoruesin nginx pronar të drejtorisë:
chown -R nginx:nginx /var/lib/php5/
Më pas, konfiguroni php-fpm për të punuar me serverin e internetit nginx. Shkoni te drejtoria e konfigurimit nginx dhe bëni kopje rezervë të skedarit nginx.conf përpara se të redaktoni konfigurimin.
cd /etc/nginx/
cp nginx.conf nginx.conf.backup
vim nginx.conf
Shtoni konfigurimin e ri vijues në rreshtin 65 - ky konfigurim do të trajtojë të gjitha kërkesat e skedarëve PHP.
location ~ \.php$ {
root /srv/www/htdocs;
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Ruani dhe dilni dhe më pas provoni konfigurimin e nginx për t'u siguruar që nuk ka ndonjë gabim në konfigurim:
nginx -t
Nëse nuk ka gabim, mund të shihni rezultatet më poshtë:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tani filloni php-fpm dhe shtoni atë në stat në kohën e nisjes, më pas rinisni shërbimin nginx:
systemctl start php-fpm
systemctl enable php-fpm
systemctl restart nginx
Nginx dhe php-fpm janë konfiguruar, ju mund të testoni skedarin php duke krijuar një skedar të ri phpinfo() në direktorinë rrënjësore të uebit:
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
Hapni shfletuesin tuaj dhe vizitoni IP-në e serverit:
ose mund të përdorni kaçurrela:
curl -I 192.168.1.101/info.php
Hapi 5 - Gjeneroni certifikatën SSL
Ekzekutimi i ownCloud mbi një lidhje të sigurt https është shumë e rëndësishme për t'i mbajtur skedarët tuaj të sigurt dhe privat. Nëse po ekzekutoni ownCloud në kompaninë tuaj, mund të blini certifikatën SSL, ose nëse dëshironi një certifikatë falas SSL, mund të përdorni Lets-encrypt. Këtu unë do të krijoj një certifikatë SSL të ashtuquajtur \vetë-nënshkruar\, enkriptimi i një certifikate të vetë-nënshkruar nuk është më i ulët se një certifikatë zyrtare, por do të duhet të pranoni një paralajmërim sigurie në shfletuesin tuaj kur të hyni në shërbim hera e parë.
Krijo një direktori të re \ssl\ dhe gjenero certifikatën me komandën openssl:
cd /etc/nginx/
mkdir ssl; cd ssl/
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/example-owncloud.crt -keyout /etc/nginx/ssl/example-owncloud.key
Tjetra, ndryshoni lejet e çelësit:
chmod 600 example-owncloud.key
Hapi 6 - Instaloni dhe konfiguroni ownCloud
Në këtë hap, ne do të instalojmë ownCloud dhe do të konfigurojmë një host të ri virtual nginx për domenin ownCloud. Ne do të instalojmë owncloud me emrin e domenit \example-owncloud.co\, dhe skedarin rrënjë të uebit në drejtorinë \/srv/www/owncloud/\.
Shkarko ownCloud
Shkoni te drejtoria \/srv/www/\ dhe shkarkoni burimin ownCloud dhe nxirrni atë:
cd /srv/www/
wget https://download.owncloud.org/community/owncloud-9.0.2.zip
unzip owncloud-9.0.2.zip
Tani krijoni një direktori të re të të dhënave nën drejtorinë owncloud për të ruajtur të gjitha të dhënat e përdoruesit. Ndryshoni zotëruesin e drejtorisë ownCloud në përdoruesin e nginx:
mkdir -p owncloud/data/
chown -R nginx:nginx owncloud/
Konfiguro një host virtual Nginx për ownCloud
Shkoni te drejtoria nginx dhe krijoni një drejtori të re për konfigurimin e skedarit të hostit virtual:
cd /etc/nginx/
mkdir vhosts.d/
Shkoni te drejtoria vhosts.d dhe krijoni një skedar të ri të hostit virtual për owncloud \example-owncloud.conf\.
cd vhosts.d/
vim example-owncloud.conf
ngjitni konfigurimin më poshtë:
upstream php-handler {
#server 127.0.0.1:9000;
server unix:/var/run/php-fpm.sock;
}
server {
listen 80;
server_name example-owncloud.co;
# enforce https
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example-owncloud.co;
ssl_certificate /etc/nginx/ssl/example-owncloud.crt;
ssl_certificate_key /etc/nginx/ssl/example-owncloud.key;
# Path to the root of your installation
root /srv/www/owncloud/;
# set max upload size
client_max_body_size 10G;
fastcgi_buffers 64 4K;
# Disable gzip to avoid the removal of the ETag header
gzip off;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
deny all;
}
location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ =404;
}
location ~ \.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 on;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the location ~ \.php(?:$|/) { block
location ~* \.(?:css|js)$ {
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
# Optional: Don't log access to assets
access_log off;
}
# Optional: Don't log access to other assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
access_log off;
}
}
Ruani skedarin dhe dilni nga redaktori.
Testoni konfigurimin e nginx dhe mos harroni të rinisni të gjitha shërbimet:
nginx -t
systemctl restart nginx
systemctl restart php-fpm
systemctl restart mysql
Testim
Vizitoni domenin e owncloud:
shembull-owncloud.co
Do të ridrejtoheni te lidhja https.
Më pas, shkruani përdoruesin dhe fjalëkalimin tuaj të administratorit, emrin e bazës së të dhënave, përdoruesin dhe fjalëkalimin dhe klikoni \Finish Setup\.
Prisni një sekondë dhe do të shihni menaxherin e skedarëve të vetëcloud:
Instalimi i ownCloud me nginx dhe MariaDB në OpenSUSE Leap 42.1 ka përfunduar.
Referencat
- https://linux-console.net/tutorial/how-to-install-owncloud-8-with-nginx-and-mariadb-on-centos-7/