설치 이유
폰 사진등 개인 파일을 저장 및 공유할 수 있는 프랏빗 클라우드 필요하고 외장하드 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이 되지 않는 현상 발생
- dmesg 로그 및 # ifup etho 실행시 sendmail 에러 발생
- 참고 DHCP Client error- rfc3442-classless-routes returned non-zero exit status 2
- /usr/share/sendmail/dynamic 찾을 수 없다는 오류 발생 --> 파일 생성 후 오류 발생 안함 --> 여전히 eth0 업되지 않음
- static ip 설정 (/etc/network/interfaces)에 auto ehto0, allow-hotplug eth0 추가
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)
- snap와 nextcloud로 구글링 중 snap 오류관련 내용 발견 Unable to troubleshoot snap issue on Ubuntu server 16.04 · Issue #425 · nextcloud/nextcloud-snap · GitHub
- systemctl로 apache와 mysql 기동시 오류 해결요청 내용
- snap.next.cloud.xxxxx 로 부팅시 자동 기동 되도록 서비스 등록한다는 것을 알게 됨.
- Systemctl로 어떤 서비스명으로 등록되었는 지 확인
- systemctl 설명과 사용법 참고 : RHEL/CentOS 7 systemctl 사용법, 리눅스 / 명령어 / systemctl 사용법 요약 – MANUAL FACTORY, linux7, systemd, systemctl : 네이버 블로그
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.
정리
다른 추가 설정 작업을 진행하기 앞서 사진 등록을 시도했으나 다수의 서버의 에러가 발생하여 성능상 문제가 있는 것으로 판단하여 중단하기로 결정함.