Nextcloud 설치 및 최적화 centos 7 php 7 nginx MariaDB
4. MariaDB 의 비밀 번 호 를 설정 한 후 명령 행 으로 MariaDB 에 로그 인하 고 Nextcloud 에 해당 하 는 사용자 와 데이터 베 이 스 를 만 듭 니 다.예 를 들 어 데이터 베 이 스 는 nextclouddb, 사용 자 는 nextclouduser, 비밀 번 호 는 nextcloudpasswd: [root@nextcloud-server ~]# mysql -p......MariaDB [(none)]> create database nextcloud_db; MariaDB [(none)]> create user nextclouduser@localhost identified by 'nextcloudpasswd';MariaDB [(none)]> grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextcloudpasswd';MariaDB [(none)]> flush privileges;MariaDB [(none)]> \q
3. Nextcloud 에 자체 서명 SSL 인증서 1, cd / etc / nginxmkdir certcd / etc / nginx / cert / openssl req - new - x509 - days 365 - nodes - out / etc / nginx / cert / nextcloud. crt - keyout / etc / nginx / cert / nextcloud. key....... country Name (2 letter code) [XX]: cn / / 국가 State or Province Name (full name) []: beijing / / 성 Locality Name (eg, city) [Default City]: beijing / / 지역 이름 Organization Name (eg, company) [Default Company Ltd]: kevin / / 회사 이름 Organizational Unit Name (eg, section) []: Technology / / 부서 공통 이름 (eg, your name or your server 's hostname) []: kevin / / CA 호스트 이름 이메일 주소 []:[email protected]
×××폴 더 권한 $chmod 600 / etc / nginx / cert / * $chmod 700 / etc / nginx / cert 4, 다운로드 및 설치 Nextcloudyum - y install wget unzipcd / usr / local / src / wgethttps://download.nextcloud.com/server/releases/nextcloud-14.0.3.zipunzip nextcloud-14.0.3.ziplsmv nextcloud /usr/share/nginx/html/
Nginx 의 루트 디 렉 터 리 에 들 어가 서 Nextcloud 에 data 디 렉 터 리 를 만 들 고 Nextcloud 의 사용자 와 그룹 을 nginx 로 변경 합 니 다.
cd /usr/share/nginx/html/mkdir -p nextcloud/data/chown nginx:nginx -R nextcloud/
5. Nginx 가상 호스트 설정
Nginx 의 가상 호스트 설정 파일 이 있 는 디 렉 터 리 에 들 어가 새로운 가상 호스트 설정 을 만 듭 니 다. (두 개의 server name 을 자신의 도 메 인 이름 으로 변경 하 는 것 을 기억 합 니 다) * 소 백 은 주의 하 십시오. 제 클 라 우 드 호스트 에 서 는 listen 443 을 442 로 바 꾸 고 listen 80 을 81 로 바 꾸 고 보안 그룹 에서 이 두 포트 를 놓 아야 합 니 다.이곳 은 오랫동안 곤 혹 스 러 웠 습 니 다. 서비스 업 체 가 80 과 443 포트 를 닫 았 기 때문에 저 는 다른 것 으로 수정 하 였 습 니 다. 또한 클 라 우 드 호스트 - 보안 그룹 에서 이 두 포트 를 놓 으 려 고 합 니 다.{server 127.0.0.1:9000;#server unix:/var/run/php5-fpm.sock;}
server {listen 80;server_name xxx.com;
enforce https
return 301 https://$server_name$request_uri;
}
server {listen 443 ssl;server_name xxx.com;
ssl_certificate /etc/nginx/cert/nextcloud.crt;
ssl_certificate_key /etc/nginx/cert/nextcloud.key;
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
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;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
# Path to the root of your installation
root /usr/share/nginx/html/nextcloud/;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
# last;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
# set max upload size
client_max_body_size 512M;
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;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location / {
rewrite ^ /index.php$uri;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the PHP block
location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
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;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
# Optional: Don't log access to assets
access_log off;
}
location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
# Optional: Don't log access to other assets
access_log off;
}
}
다음은 다음 프로필 에 오류 가 있 는 지 확인 하고 문제 가 없 는 지 확인 한 후 Nginx 서 비 스 를 다시 시작 합 니 다. [root@nextcloud-server conf.d]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@nextcloud-server conf.d]# systemctl restart nginx
7. Nextcloud 를 설치 하여 위 nginx 에 설 치 된 도 메 인 이름 nextcloud. kevin - inc. com 을 분석 하고 접근 합 니 다.http://nextcloud.kevin-inc.comNextcloud 인터페이스 설 치 를 진행 합 니 다. (http 도 메 인 이름 에 접근 하면 자동 으로 https 로 이동 합 니 다. 설치 알림 설치 만 하면 됩 니 다!)
중요 한 곳 이 왔 습 니 다. 여러분 의 신 들 은 모두 왼쪽 에 일부분 을 쓰 고 오른쪽 에 일부분 을 쓰 기 때문에 저 는 많은 시간 을 들 여 설정 하 였 습 니 다. 다음은 제 잘못된 해결 표 지 를 보 여 드 리 겠 습 니 다. 첫째, 메모리 캐 시 문 제 를 해결 합 니 다. 1. redysium install redis - y systemctl start redis systemctl enable redisps ax | grep redis 2, 설치 확장: pp - redis
원칙: phop 버 전과 일치 하 는 확장 솔 루 션 a. 명령 을 통 해 현재 phop 버 전 phop - vb 를 봅 니 다. 설치 할 수 있 는 모든 phop 패키지 목록 yum list | grep phop7c, redis 패키지 의 전체 이름 을 보고 yum install phop70w - pecl - redis. x86 64d 를 표시 합 니 다. phop - fpm systemctl restart phop - fpm 3 를 다시 시작 하고 프로필 cd / usr / share / nginx / html / nextcloud / config / cp config. p 를 편집 합 니 다.hp config.php.bakvi config.php'memcache.local' => '\OC\Memcache\Redis','redis' => array('host' => 'localhost','port' => 6379,),
systemctl restart nginxsystemctl start redis systemctl enable redis 2. 해결: PHP OPcache 모듈 이 로드 되 지 않 습 니 다. 문제 1, find / name "php. ini"php. ini 파일 2, 백업 php. ini cp / etc / php. ini / etc / php. ini. bak 3, php 버 전에 대응 하 는 OPcachea, yum list | grep php7b, yum install php70w - opcache. x86 64c 설치, php - fpmsystemctl restart php - fpm 4 재 부팅, opcache 설정 파일 편집: 위치: / etc / php. d / opcache. inivi / etc / php. d / opcache. iniopcache. enable = 1opcache. interned strings buffer = 8opcache. max accelerated files = 1000nopcache. memory consumption = 128 opcache. save comments = 1opcache. revalidate freq = 1 3, centos 7 에 구 축 된 nextcloud 후 로그 인 할 수 없습니다.
/ var / lib / php / session 디 렉 터 리 권한 을 만 들 고 설정 한 후 문제 가 해결 되 었 습 니 다. chown nginx: nginx - R / var / lib / php / session / 4. 내부 서버 오류:
cd / usr / share / nginx / html / chown nginx: nginx - R nextcloud / 5. 정시 작업 해결:
centos 7 의 정시 작업 설정: 1. 디 렉 터 리 진입: cd / etc / systemd / system / 2, 파일 vi nextcloudcron. service 생 성
[Unit]Description=Nextcloud cron.php job[Service]User=nginxExecStart=/usr/bin/php -f /usr/share/nginx/html/nextcloud/cron.php[Install]WantedBy=basic.target
nginx 와 / usr / share / nginx / html / nextcloud / cron. php 를 자신의 사용자 이름과 주소 로 저장 하고 종료 3, nextcloudcron. timer [Unit] 설명 = Run Nextcloud cron. php every 15 minutes [Timer] OnBootSec = 5minOnUnitActiveSec = 15min Unit = nextcloudcron. service [Install]WantedBy = timers. target 4, systemctl start 를 실행 합 니 다. nextcloudcron. timersystemctl enable nextcloudcron. timer
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nextcloudpi로 빠르고 싸구려 집 클라우드 스토리지 만들기nextcloudpi로 쉽게 집에 클라우드 스토리지를 설치할 수 있습니다. 테라바이트급, 기가비트 이더넷 접속의 스토리지를, 하드의 초기 비용 1만엔 정도 로 구축할 수 있다 RaspberryPI 기타 싱글 보드 컴...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.