Տեղադրեք և կարգավորեք սեփականCloud 9.1.4-ը openSUSE Leap 42.2-ում
Ներածություն
ownCloud-ը բաց կոդով ֆայլերի համաժամացման և համօգտագործման ծրագիր է, ինչպես Dropbox-ը: Պարզապես տեղադրելով ֆայլերը տեղական ընդհանուր գրացուցակում՝ այդ ֆայլերը անմիջապես կհամաժամեցվեն սերվերի և այլ սարքերի հետ՝ օգտագործելով սեփականCloud Desktop Sync Client-ը, Android հավելվածը կամ iOS հավելվածը:
Այս ձեռնարկը բացատրում է, թե ինչպես տեղադրել և կարգավորել սեփականCloud-ի սերվերի կողմը openSUSE 42.2-ում:
Սկսել
Առաջին հերթին տեղադրեք SuSEfirewall2-ը: Սա սկրիպտ է, որը ստեղծում է iptables կանոններ՝ պահպանված կոնֆիգուրացիաներից
/etc/sysconfig/SuSEfirewall2
. Տեղադրեք այն zypper-ով.
zypper in SuSEfirewall2
Կա նաև YaST կազմաձևման մոդուլ, բայց այն թույլ չի տալիս կարգավորել firewall-ի բոլոր կարգավորումները, ուստի անհրաժեշտ է ձեռքով խմբագրել կազմաձևման ֆայլը.
$EDITOR /etc/sysconfig/SuSEfirewall2
Այնտեղ փնտրեք
FW_SERVICES_EXT_TCP
տողը և փոփոխել հետևյալ կերպ.
FW_SERVICES_EXT_TCP="22 80 443"
Դրանք են՝ ssh, http և https պորտերը։
Պահպանել և դուրս գալ:
Հաջորդը, սկսեք այն և միացրեք այն, որ այն սկսվի բեռնման ժամանակ.
systemctl start SuSEfirewall2
systemctl enable SuSEfirewall2
Վերսկսել
sshd
:
systemctl restart sshd
Տեղադրեք NGINX
NGINX-ը հասանելի է նաև openSUSE պահոցներում, ուստի.
zypper in nginx
Սկսեք և միացրեք այն.
systemct start nginx
systemctl enable nginx
MariaDB-ի տեղադրում
Ինչ վերաբերում է NGINX-ին, ապա MariaDB-ն հասանելի է նաև որպես openSUSE փաթեթ, ուստի.
zypper in mariadb mariadb-client
Հաջորդը:
systemctl start mysqld
systemctl enable mysqld
Կարգավորեք դրա արմատային հաշիվը.
mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n]
New password:
Re-enter new password:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Reload privilege tables now? [Y/n]
Այժմ հնարավոր է մուտք գործել MariaDB shell և ստեղծել նոր տվյալների բազա և օգտվող, որը կօգտագործվի ownCloud-ի համար.
mysql -u root -p
Տվյալների բազայի համակարգի վահանակում.
mysql> CREATE DATABASE myownclouddb;
mysql> CREATE USER 'ocuser'@'localhost' IDENTIFIED BY 'user_strong_password';
mysql> GRANT ALL PRIVILEGES ON 'myownclouddb.*' TO 'ocuser'@'localhost' IDENTIFIED BY 'user_strong_password';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Այժմ MariaDB-ն ճիշտ կազմաձևված է ownCloud-ի համար:
Տեղադրեք PHP-FPM
ownCloud-ը պահանջում է PHP 5.4+: Տեղադրեք PHP-FPM, որը FastCGI այլընտրանք է, որն օգտակար է շատ այցելուներով կայքերի հետ աշխատելիս: Այս ուղեցույցում մենք կօգտագործենք PHP7:
Zipper-ի միջոցով.
zypper in php7-fpm php7-gd php7-mysql php7-mcrypt php7-curl php7-pear php7-zip php7-json php7-ldap
Հաջորդը, պատճենեք լռելյայն php-fpm կազմաձևման ֆայլը՝ կատարելով հետևյալ հրամանները.
cd /etc/php7/fpm
cp php-fpm.conf.default php-fpm.conf
Բացեք այդ ֆայլը տեքստային խմբագրիչով.
$EDITOR php-fpm.conf
Այնտեղ փնտրեք (և փոփոխեք հետևյալ կերպ) հետևյալ տողերը.
error_log = log/php-fpm.log
user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Պահել և դուրս գալ:
Այժմ փոփոխեք
php.ini
:
$EDITOR /etc/php7/cli/php.ini
Անջատեք 761 տողը և փոխեք դրա արժեքը.
cgi.fix_pathinfo=0
Պահպանեք, դուրս եկեք և պատճենեք այս ֆայլը
conf.d
:
cp php.ini /etc/php7/conf.d/
PHP7 նստաշրջանի գրացուցակը
/var/lib/php7
. Փոխեք դրա սեփականատիրոջը nginx օգտագործողի՝
chown -R nginx:nginx /var/lib/php7/
Կարգավորեք NGINX-ը PHP-FPM-ի հետ աշխատելու համար
Ստեղծեք նոր NGINX կազմաձևման ֆայլ՝ կրկնօրինակելով հինը.
cd /etc/nginx
cp nginx.conf nginx.conf.bk
$EDITOR nginx.conf
65-րդ տողում ավելացրեք հետևյալ կոնֆիգուրացիան.
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;
}
Պահպանել, դուրս գալ և փորձարկել nginx.
nginx -t
Դուք պետք է կարդաք հետևյալ տողերը.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Վերջում:
systemctl start php-fpm
systemctl enable php-fpm
systemctl restart nginx
Տեղադրեք ownCloud-ը
Գնացեք վեբ արմատային գրացուցակ, որը
/srv/www
, և այնտեղ ներբեռնեք ownCloud:
wget https://download.owncloud.org/community/owncloud-9.1.4.tar.bz2
Արտահանել արխիվը.
tar xf owncloud-9.1.4.tar.bz2
Մեջ
owncloud
արդյունահանված թղթապանակը, ստեղծեք տվյալների նոր գրացուցակ և փոխեք դրա սեփականատիրոջը nginx օգտագործողի՝
mkdir owncloud/data
chown -R nginx:nginx owncloud/
Կազմաձևեք վիրտուալ հոսթ սեփականCloud-ի համար
Հաջորդ քայլը NGINX-ում վիրտուալ հոսթ կարգավորելն է ownCloud-ի համար:
mkdir /etc/nginx/vhosts.d && cd /etc/nginx/vhosts.d
Այնտեղ ստեղծեք նոր ֆայլ.
$EDITOR owncloud.conf
Տեղադրեք հետևյալ բովանդակությունը այդ ֆայլում.
upstream php-handler {
#server 127.0.0.1:9000;
server unix:/var/run/php-fpm.sock;
}
server {
listen 80; # If you have a SSL certificate (Recommended), change this line with "listen 443 ssl;" and add certificate lines;
server_name storage.mydomain.com;
# 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;
}
}
Պահպանել, դուրս գալ և վերագործարկել ծառայությունները.
systemctl restart nginx
systemctl restart php-fpm
systemctl restart mysql
Եզրակացություններ
Սերվերի կողմն այժմ լավ կազմաձևված է: Վերջին քայլը վեբ զննարկիչով գնալն է՝ http://storage.mydomain.com և ավարտել գրաֆիկական կազմաձևումը: Այս գործընթացի ավարտին ձեր սեփական Cloud Dashboard-ը լիովին հասանելի կլինի: