Boriliketree Nextcloud 설치

설치 이유

폰 사진등 개인 파일을 저장 및 공유할 수 있는 프랏빗 클라우드 필요하고 외장하드 2T짜리가 노는 꼴도 보기 싫어서 ....

Owncloud 설치 했다가 안정성과 편의성이 떨어져 설치 후 삭제 기억이 있어서 고민중(실은 하도 심심해서)  비교 하다가 NEXTCLOUD 설치 하기로 함

외장 하드 추가 그러나 vi 오류가 지속 발생

맥용 파일 시스템 HFplus를 윈도우도 같이 쓸 수 있는 파일서버 역할도 고려 NTFS 파일 시스템 필요

  • 기존 데이터를 보존하면서 남은 공간은 NTFS 변경 하기로  함
  • 파티션를 HFPLUS와 NTFS로 나눔

외장하드 인식 자동 마운트 등 별 문제 없었으나 vi 로 변경 작업 후 저장시 오류 발생.

맥에서 파티션을 나눈게 문제라고 생각해서 파티션을 통합 디스크 전체를 NTFS로 만듬

파티션 통합을 위해 기존 데이터 맥과 신 외장하드로 이중 복사 > 복사만도 2일 소요

이후에도 동일한 문제 발생. 구글링 결과 OS를 업그레이드 하는게 해결책이라고 판단

업그레이드 이후 문제

OS 업그레이 시 문제

sudo apt-get update/sudo apt-get upgrade

와이파이 네트워크 속도가 느리고 다운로드 파일 수와 싸이즈가 커 시간 오래 소요되어 업그레이 진행이 반복적으로 중단 됨

dist-upgrade가 제대로 되지 않아 네트워크, 키보드, 마우스 미인식 등 여러가지 문제가 발생함

거실로 옮겨 무선에서 유선으로 변경하고 TV를 콘솔로 사용하여 업그레이드를 재 실시 함

유선 네트워크 eth0 up이 되지 않는 현상 발생

iface eth0 inet manual

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 172.30.1.29
netmask 255.255.255.0
gateway 172.30.1.254

대부분의 문제는 해결 되었으나 텔레그램 토렌트 봇 미작동, 공유메모리 초기화 실패 등 여러가지 문제 잔존

python 문제

Python 문제 - feedparser설치 안됨 / pip 오류

오류 내용

# pip install feedfaser 또는 pip -v
:
pkg_resources.DistributionNotFound: The 'pip==9.0.1' distribution was not found and is required by the application

해결 : The 'pip==9.0.1' distribution was not found. - CSDN博客 참고

ubuntu从python2.7切换为3.5时遇到一些问题,切换完后,然后用pip安装第三方库时提示 The 'pip==9.0.1' distribution was not found.解决方法是:wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip3 install setuptools --upgrade
  • 문제 및 해결 원인 모르겠음

next cloud 설치

snap 패키를 사용하여 nextcloud 설치

아 snap는 또 모냐 ?

A snap is a zip file containing an application together with its dependencies, and a description of how it should safely be run on your system, especially the different ways it should talk to other software. Most importantly snaps are designed to be secure, sandboxed, containerized applications isolated from the underlying system and from other applications.

어플리케이션, 의존성 라이브러리, 디스크립션 등을 포함하고 있는 압축(zip) 파일... docker 비슷한 것 같음.

sudo apt update
sudo apt install snapd
sudo reboot
  • nextcloud 설치
sudo snap install nextcloud
Note
The snapd technology is the core that powers snaps, and it offers a new way to package, distribute, update and run OS components and applications on a Linux system. See more about snaps on snapcraft.io.

snap으로 설치시 apache, mysql, php 그리고 next cloud 어플리케이션이 기본설정으로 설치 된다. 재설치 필요 없음 !!!

그런데 문제는 처음 웹브라저를 통해 접근했을 때. 파일저장 디렉토리와 데이터 베이스를 바꿀 있음. 그걸 모르고 어드민 유저명과 패스워드만 설정하고 Finish 버튼을 눌러서.... 설정을 원하는대로 하려면 일일이 찾아서 바꾸어 주어야 함.

진작 말해주시 나쁜 넘들

파일저장 디렉토리 변경

참고 : 우분투 자작 NAS – 12강, ownCloud 업로드 제한 변경, 데이터 저장 위치 변경, How to Setup a Raspberry Pi Nextcloud Server - Pi My Life Up

  • apache2 웹서버를 중지후 config.php 파일 수정 →  apache http server가 기동되어 있는지도 확인 안됨
  • nextcloud 관련 프로세스 확인 결과
pi@boriliketree:~ $ ps -ef|grep nextcloud
root      7249     1  0 22:36 ?        00:00:00 /bin/sh /snap/nextcloud/8269/bin/run-httpd -k start -DFOREGROUND
root      7574  7249  0 22:36 ?        00:00:00 /bin/sh /snap/nextcloud/8269/bin/httpd-wrapper -k start -DFOREGROUND
root      7604  7574  0 22:36 ?        00:00:00 httpd -d /snap/nextcloud/8269 -k start -DFOREGROUND
root      7605  7604  0 22:36 ?        00:00:00 httpd -d /snap/nextcloud/8269 -k start -DFOREGROUND
root      7606  7604  0 22:36 ?        00:00:00 httpd -d /snap/nextcloud/8269 -k start -DFOREGROUND
root      7607  7604  0 22:36 ?        00:00:00 httpd -d /snap/nextcloud/8269 -k start -DFOREGROUND
root      9352  7604  0 22:48 ?        00:00:00 httpd -d /snap/nextcloud/8269 -k start -DFOREGROUND
pi       11937 11902  0 23:07 pts/2    00:00:00 grep --color=auto nextcloud
root     16819     1  0  9월02 ?      00:00:00 /bin/sh /snap/nextcloud/8269/bin/renew-certs
root     16820     1  0  9월02 ?      00:00:01 /bin/sh /snap/nextcloud/8269/bin/delay-on-failure mdns-publisher nextcloud
root     16825     1  0  9월02 ?      00:00:01 /bin/sh /snap/nextcloud/8269/bin/start-php-fpm
root     16834     1  0  9월02 ?      00:00:01 /bin/sh /snap/nextcloud/8269/bin/nextcloud-cron
root     16835     1  0  9월02 ?      00:01:15 /bin/sh /snap/nextcloud/8269/bin/start_mysql
root     16836     1  0  9월02 ?      00:00:01 /bin/sh /snap/nextcloud/8269/bin/start-redis-server
root     16931 16820  0  9월02 ?      00:00:33 mdns-publisher nextcloud
root     19297     1  0  9월02 ?      00:00:00 /bin/sh /snap/nextcloud/8269/bin/mysqld_safe --datadir=/var/snap/nextcloud/8269/mysql --pid-file=/tmp/pids/mysql.pid --lc-messages-dir=/snap/nextcloud/8269/share --socket=/tmp/sockets/mysql.sock
root     19481 19297  0  9월02 ?      00:06:15 /snap/nextcloud/8269/bin/mysqld --basedir=/snap/nextcloud/8269 --datadir=/var/snap/nextcloud/8269/mysql --plugin-dir=/snap/nextcloud/8269/lib/plugin --lc-messages-dir=/snap/nextcloud/8269/share --log-error=boriliketree.err --pid-file=/tmp/pids/mysql.pid --socket=/tmp/sockets/mysql.sock
root     19697 16825  0  9월02 ?      00:00:11 php-fpm: master process (/snap/nextcloud/8269/config/php/php-fpm.conf)
  • own cloud 설치시  설치했던 nginx 기동시 80포트가 이미 사용중이라 기동실패  → 어떤 프로세스가 80포트를 사용하는 확인 : netstat -anp | grep LISTEN | grep :80 (-p 옵션 프로세스 표시)
pi@boriliketree:/media/usbhdd1/nextcloud $ netstat -an|grep -i listen|grep 80
tcp6       0      0 :::80                   :::*                    LISTEN     
pi@boriliketree:/media/usbhdd1/nextcloud $ netstat -anp | grep LISTEN | grep :80
(Not al
l processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::80                   :::*                    LISTEN      -             
  • 그런데 tcp6 으로 되어 있고 프로세스에 대한 정보는 출력되지 않음 → lsof , 참고: lsof 사용법
pi@boriliketree:/media/usbhdd1/nextcloud $ sudo lsof -n -i6TCP:80
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   7604 root    4u  IPv6 1142401      0t0  TCP *:http (LISTEN)
httpd   7605 root    4u  IPv6 1142401      0t0  TCP *:http (LISTEN)
httpd   7606 root    4u  IPv6 1142401      0t0  TCP *:http (LISTEN)
httpd   7607 root    4u  IPv6 1142401      0t0  TCP *:http (LISTEN)
pi@boriliketree:/media/usbhdd1/nextcloud $ sudo systemctl list-units|grep nextcloud
  run-snapd-ns-nextcloud.mnt.mount                                                                                        loaded active     mounted         /run/snapd/ns/nextcloud.mnt                                                           
  snap-nextcloud-8269.mount                                                                                               loaded active     mounted         Mount unit for nextcloud, revision 8269                                               
  snap.nextcloud.apache.service                                                                                           loaded active     running         Service for snap application nextcloud.apache                                         
  snap.nextcloud.mdns-publisher.service                                                                                   loaded active     running         Service for snap application nextcloud.mdns-publisher                                 
  snap.nextcloud.mysql.service                                                                                            loaded active     running         Service for snap application nextcloud.mysql                                          
  snap.nextcloud.nextcloud-cron.service                                                                                   loaded active     running         Service for snap application nextcloud.nextcloud-cron                                 
  snap.nextcloud.php-fpm.service                                                                                          loaded active     running         Service for snap application nextcloud.php-fpm                                        
  snap.nextcloud.redis-server.service                                                                                     loaded active     running         Service for snap application nextcloud.redis-server                                   
  snap.nextcloud.renew-certs.service                                                                                      loaded active     running         Service for snap application nextcloud.renew-certs          
  • apache2 웹서버 stop
pi@boriliketree:~ $ sudo service snap.nextcloud.apache stop
pi@boriliketree:~ $ sudo service snap.nextcloud.apache status
● snap.nextcloud.apache.service - Service for snap application nextcloud.apache
   Loaded: loaded (/etc/systemd/system/snap.nextcloud.apache.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2018-09-03 23:16:22 KST; 7s ago
  Process: 13219 ExecStop=/usr/bin/snap run --command=stop nextcloud.apache (code=exited, status=0/SUCCESS)
  Process: 7249 ExecStart=/usr/bin/snap run nextcloud.apache (code=killed, signal=TERM)
 Main PID: 7249 (code=killed, signal=TERM)
	:
	:
pi@boriliketree:~ $ sudo lsof -n -i6TCP:80
pi@boriliketree:~ $
  • apache2 설정 파일은 어디에 → /snap/nextcloud/8269/conf
  • WorkingDirectory=/var/snap/nextcloud/8269
  • apache document root = DocumentRoot "${SNAP}/htdocs"  → /snap/nextcloud/8269/htdocs
pi@boriliketree:/etc/systemd/system $ cat  snap.nextcloud.apache.service
[Unit]
# Auto-generated, DO NOT EDIT
Description=Service for snap application nextcloud.apache
Requires=snap-nextcloud-8269.mount
Wants=network-online.target
After=snap-nextcloud-8269.mount network-online.target
X-Snappy=yes

[Service]
ExecStart=/usr/bin/snap run nextcloud.apache
SyslogIdentifier=nextcloud.apache
Restart=always
WorkingDirectory=/var/snap/nextcloud/8269
ExecStop=/usr/bin/snap run --command=stop nextcloud.apache
TimeoutStopSec=30
Type=simple

[Install]
WantedBy=multi-user.target

pi@boriliketree:/snap/nextcloud/8269/conf $ ls -al
합계 74
drwxr-xr-x  2 root root    67  7월 31 13:13 .
drwxr-xr-x 25 root root   999  7월 31 13:13 ..
-rw-r--r--  1 root root  6291  7월 31 12:20 httpd.conf
-rw-r--r--  1 root root 60847  7월 31 12:32 mime.types
-rw-r--r--  1 root root  7448  7월 31 12:20 ssl.conf
  • /var/snap/nextcloud/8269/nextcloud/config/config.php 수정
  • 변경 전 :  'datadirectory' => '/var/snap/nextcloud/common/nextcloud/data',
  • 변경 후 :   'datadirectory'   => '/media/usbhdd1/nextcloud/data'
pi@boriliketree:/var/snap/nextcloud/8269/nextcloud/config $ ls -al
합계 68
drwxr-xr-x 2 root root  4096  9월  3 23:46 .
drwxr-xr-x 4 root root  4096  9월  2 21:00 ..
-rw-r--r-- 1 root root   264  9월  2 21:00 .htaccess
-rw-r--r-- 1 root root   407  9월  3 22:36 autoconfig.php
-rw-r----- 1 root root  1259  9월  3 22:36 config.php
-rw-r--r-- 1 root root 48040  9월  2 21:00 config.sample.php

디렉토리 변경후 에러

reboot 시 nginx(owncloud 설치시 설치됨)가 먼저 기동되어 nextcloud.apache 기동안됨

/etc/init.d/nginx -> nginnxx 변경 해도 계속 실행 됨 service에 등록되어서 부팅시 계속 시작됨

pi@boriliketree:/etc/systemd/system $ sudo systemctl disable nginx.service
Removed /etc/systemd/system/multi-user.target.wants/nginx.service.
pi@boriliketree:/etc/systemd/system $ sudo reboot
Connection to 172.30.1.29 closed by remote host.
Connection to 172.30.1.29 closed.

정리

다른 추가 설정 작업을 진행하기 앞서 사진 등록을 시도했으나 다수의 서버의 에러가 발생하여 성능상 문제가 있는 것으로 판단하여 중단하기로 결정함.

igotoo

igotoo