2013년 3월 14일 목요일

그누보드 파일 업로드 용량 늘기기(POGOPLUG SERIES 4용)

1. 시작하기 전에..

 nginx 설정은 여기를 php 설정은 Min.Gun여기를 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

포고플러그 시리즈 4에 nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다. php 설정, nginx 설정을 통해 업로드 용량을 늘릴 수 있습니다. 홈페이지를 nas나 웹하드처럼 단순히 업로드 서버로 사용하기 위한 것이라면 단 5줄을 바꾸는 것만으로 용량을 늘릴 수 있습니다. 단 인터넷 회선이 빨라야 업로드가 빠릅니다.(전 1기가로 늘렸습니다.)


2. 바꾸기

우선 php nginx, 그리고 그누보드상에서 파일용량을 바꿔줘야 합니다.

nginx

nano /etc/nginx/nginx.conf 를 SSH상에서 입력합니다.
...
access_log off;
gzip on;

server {
listen 80;
server_name localhost;

client_body_buffer_size 16k;      - 추가 않해도 상관없음
client_body_temp_path /var/tmp/nginx/client_temp 1 2 - 추가 않해도 상관없음
client_body_timeout 60;             - 추가 않해도 상관없음
client_header_buffer_size 1k;     - 추가 않해도 상관없음
client_header_timeout 60;          - 추가 않해도 상관없음
client_max_body_size 1024M; -> 이 구문을 추가해 줍니다. 용량은 메가(M)단위입니다.

#charset koi8-r;
..
그리고 저장합니다.
ctrl+o에 엔터, 그리고 ctrl+x 하면 됩니다. 


php

nano /etc/php/php.ini 를 SSH상에서 입력합니다.

원본은 이렇게 설정되어 있습니다

;upload_tmp_dir =    - 업로드 파일크기가 클 경우 임시폴더를 거쳐서 저장하는데, 기본적
;upload_tmp_dir =     -으로 지정되어 있지 않습니다. 임시폴더가 없으면 나타나는 증상이
;upload_tmp_dir =     -업로드 중간에 에러가 나면서 업로드 되지 않습니다. 임시폴더가 지정
;upload_tmp_dir =     -되어 있는지 확인하는 방법은 pogo ip/phpinfo.php를 쳐서
;upload_tmp_dir =     -upload_tmp_dir 항목에 폴더 및 경로가 지정되어 있나를 확인합니다.
max_execution_time =30 스크립트 실행시간 (초)
max_input_time = 60  업로드 시간 (초)
post_max_size = 8M 포스트방식 최대용량
upload_max_filesize = 2M 업로드 최대용량
memory_limit = 128M  업로드 용량과 함께 늘려 줘야 합니다.


nano에서 ctrl+w이 글자 찾기인데, 위에 내용을 찾아서 바꿉니다.
크기를 memory_limit > post_max_size > upload_man_filesize 순으로 설정합니다.

 upload_tmp_dir = /원하는 경로  - 앞에 ;주석을 지웁니다. 그리고 그누보드가 깔린 디스크
 upload_tmp_dir = /원하는 경로  - 와 같은 디스크에 만듭니다. 예를 들어 c드라이브에 그누 upload_tmp_dir = /원하는 경로  -  보드가 설치되었다면 upload_tmp_dir 경로도 c드라이브
upload_tmp_dir = /원하는 경로  -  여야 합니다. (이유 아시죠? 느려져요. ㅎㅎㅎ)
max_execution_time = 60
max_input_time = 360
post_max_size = 1022M
upload_max_filesize = 1023M
memory_limit = 1024M


그누보드

관리자 설정->게시판 수정에서 파일 업로드 용량 수정을 할 수 있습니다.







그 다음에 php와 nginx를 재시작합니다.

systemctl restart nginx
systemctl restart php-fpm

transmission 설치 및 보안설정 하기 (POGOPLUG SERIES 4용)

1. 시작하기 전에...

설치는 http://pogoplug.tistory.com/8 에서,
보안설정은 http://pogoplug.tistory.com/27을 참고했습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

 일명 리눅스의 토렌트 프로그램인 트랜스미션입니다. POGOPLUG SERIES 4에는 외부 그래픽 장치가 없어서 일반 토렌트 프로그램을 쓰기에는 무리입니다. 그런데 transmission은 웹 브라우져에서 작동되고 상태 확인이 가능해서 좋은 프로그램입니다.


2. transmission 설치하기

pacman -Sy transmission-cli


3. transmission 설정하기

nano /etc/conf.d/transmissiond

앞에 #주석지우고 추가하기
 TRANS_USER="root"
 TRANS_ARGS="-g $TRANSMISSION_HOME/.config/transmission-daemon"

그리고 시스템 시작하기

systemctl start transmission


4. 보안 설정전에 transmission중지하기 (중지하지 않으면 설정이 변경되지 않습니다.)

systemctl stop transmission


5. 보안 설정하기

nano /var/lib/transmission/.config/transmission-daemon/settings.json
위 파일은 트랜스미션을 시작해야만 생깁니다. 그러니 반드시 시작하신 후 중지하세요.


"blocklist-enabled": true, - 토렌트 ipfilter 업데이트 리스트를 재 시작시 자동으로 업데이트합니다. false면 수동으로 업데이트 해야 합니다.
"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz", 토렌트 ipfilter 업데이트
"rpc-url": "/transmission/", 도메인 주소 뒤에 붙칠 이름인데, 짧게 고쳐도 됩니다. 예를 들어 host, down등으로 고칠 수 있습니다.
"rpc-authentication-required": true,
"rpc-password": "password", - 사용자 암호
"rpc-username": "username", - 사용자 아이디
"rpc-whitelist-enabled": false,
...


6. 트랜스미션을 다시 시작합니다.

systemctl start transmission

'http://포고 아이피:9091/transmission'으로 재접속 하면 다음과 같이 나옵니다. 그런데 9091 포트를 쓰지 않고 'http://포고 아이피/transmission' 처럼 접속하려면 여기을 참고하세요. (대신 단점도 있습니다.)


NGINX서버를 통한 다운로드 링크 형성하기(POGOPLUG SERIES 4용)

1. 시작하기 전에...

 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

 홈페이지에서 파일을 간단히 다운로드 하게 하고 싶다면 간단히 할 수 있습니다. nginx에서 설정구문을 몇 줄 바꿔 주면 됩니다. 특히 autoindex   on; 명령어를 입력하면 웹 페이지에 파일 목록을 작성하지 않아도 파일목록을 자동적으로 보여줍니다. 그러나 일반 웹페이지에서 업로드하는 파일첨부와는 성격이 다른 것입니다.




2. 링크방법

SSH에서 다음과 같이 입력합니다.
nano /etc/nginx/nginx.conf

쭈~욱 나오는데,

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /srv/http;
            index  index.html index.htm index.php;

이 아래에 이 구문을 추가합니다.

location /down {                       - 웹주소 뒤에 붙힐 이름
            alias   /srv/down;          - 다운로드 폴더 경로를  반드시 지정할 것
            autoindex   on;            - down 폴더안에 자동으로 파일을 보여줌
            index  index.html index.htm index.php;
            access_log      /var/log/nginx/down.access.log;  - 접근로그 작성
            error_log       /var/log/nginx/down.error_log;fdgfg - 에러로그 작성
            charset utf-8; kdfjngktnglfghlkfgnklgfkfgbnkkf;;;;;;;- 접속시 한글깨짐방지
        }

그리고 위에 경로를 지정했으면 windows상에서 우클릭으로 '폴더만들기'를 선택해서 다운로드 폴더를 만드세요. 다운로드 폴더 경로와 폴더명만 지정하고 폴더를 만들지 않거나 제대로 하지 않았다면 이렇게 나옵니다.

폴더를 꼭 만드세요.

경로가 지정된 nginx 폴더 안에 또 폴더를 만들면 분류하기도 편합니다. (이것은 windows 상에서 우클릭해서 폴더만들기를 하면 됩니다.)


포고 s4 서버와 공유기의 포트포워딩 및 DDNS 연결하기(포고 공통)

1. 시작하기 전에,,,

공유기의 DDNS와 포고 s4를 연결하려면 우선 내부에서 접속되어야 합니다. 예를 들어 '192.168.0.159/doty'가 포고 s4의 홈페이지 사설주소면 내부에서 브라우저로 이 주소에 접속되어야 합니다. 하지만 'nginx 설정'에서 도메인 입력란이 있는데, 도메인을 입력란에 입력하지 않아도 서버가 공유기의 DDNS 연결에는 영향을 끼치지 않습니다.


2. DDNS(=도메인)에 포고 s4 연결하기

포고 s4의 사설주소에 DDNS(=도메인)를 연결하려면  DMZ설정이나 포트포워딩을 해야 합니다.(DMZ나 포트포워딩 둘 중 하나만 선택해서 하세요.)

2-1. DMZ (방화벽 해제)를 설정합니다. 해당 아이피의 모든 포트를 엽니다. 현재 공유기에 연결된 포고플러그의 내부 서버주소를 'DMZ설정 주소'난에 등록합니다. 하지만 리눅스 내부에 방화벽 설정이 없는 이상 보안위협의 문제가 있기 때문에 그렇게 추천하지 않습니다.



2-2. 포트포워딩을 합니다. DMZ는 모든 포트를 열기 때문에 보안에 문제가 많습니다. 그래서 일부 포트만 열면 외부 위협에서 보안을 지킬 수 있습니다. 바로 포트포워딩인데, 포트포워딩을 통해 등록합니다. (단 외부포트 80의 경우 ISP에서 막은 경우가 많습니다. 웹서버의 입장에서는 참 난감하죠. 웹 포워딩이나 도메인에 포트번호가 붙는다거나...)



 좀 더 자세히 포트포워딩을 말하면 공유기 내부 사설주소에서 접속 시에는 리눅스에서 iptables를 지정하지 않는 이상 포트포워딩의 영향을 받지 않습니다. 하지만 외부에서 접속 할때나 사설서버에 공인 도메인이 입혀진 경우 내부에서 접속 시 포트포워딩의 영향을 받습니다.
내부에서 사설주소로 접속 시
외부에서 접속시

3. Archlinux에서 현재 사용중인 리눅스 프로그램의 인터넷 포트를 확인합니다.
netstat -anp | grep LISTEN
이를 통해 사용할 프로그램과 사용하지 않을 프로그램을 확인합니다. 그리고 사용할 프로그램의 인터넷 포트를 공인 아이피에 포트포워딩 하면 포트포워딩 된 포트만 제외하고는 모든 포트가 닫힙니다. (위 그림 참조)

4. 각 공유기 제조사마다 DDNS를 서비스해 주는데, 공유기 회사용 DDNS를 등록해서 사용하거나 자신의 사설 도메인이 있다면 dyndns 항목에서자신의 도메인을 입력하면 됩니다.


포고 서버 시간 동기화 하기(POGOPLUG SERIES 4용)

1. 시작하기 전에...

 http://pogoplug.tistory.com/4를 일부 참조하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

이 시간 동기화 때문에 엄청 고생했습니다. 왜냐면 '포고플러그 시리즈 4'용 Archlinux에는 시간 동기화 프로그램인 openntpd가 설치되어서 나오기 때문입니다. 그래서 참고사이트에서 처럼 openntpd를 설치하지 않아도 됩니다.


이걸 모르고 설치만 하려고 했으니 에러가 나오지!

에러코드
warning: openntpd-3.9p1-21 is up to date -- reinstalling            -3.9p1-21이 신버전인데
resolving dependencies...                                                         다시 인스톨?
looking for inter-conflicts...
error: unresolvable package conflicts detected                        - 패키지 충돌 가능성
error: failed to prepare transaction (conflicting dependencies)   -3.9p1-21 패키지를 설치
                                                                                               하는데 실패

2. 시간 동기화(맞추기) 전에 현재 시간 확인하기

그리고 rdate -s 나 ntp 명령어 안먹습니다. 참고하세요.
date                                                   -라고 치면
Wed Mar 13 16:30:40 UTC 2013              -현재 시간이 영어로 나옵니다.


3. openntp를 설치합니다. (이 단계는 넘어가세요)

pacman -Sy openntpd ntp                  - openntp를 설치합니다.


4. 기존 시간 설정 지우기

rm /etc/localtime

이 명령어를 해석하자면 기존의 시간 설정을 지운다는 뜻입니다.
더 확대해서 말하면 기존의 etc폴더에 있는 '시간 동기화 설정파일'인 localtime 파일을 지운다는 뜻입니다. 포고 s4 서버는 시간을 동기화 할때  /usr/share/zoneinfo 경로의 폴더에서 시간파일을 고릅니다. 그러고 나서 시간을 동기화 하고 etc폴더에 localtime이란 파일이름으로 '시간 동기화 설정'을 저장합니다.


5. 새로운시간 설정하기
ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

해석하면 시간을 서울로 맞추겠다는 뜻입니다.
더 확대해서 말하면 /usr/share/zoneinfo 경로의 폴더에서 아시아의 서울 시간으로 localtime을 지정해서 저장하겠다는 뜻입니다. 이렇게 치면 /usr/share/zoneinfo 경로의 폴더에서 'localtime설정파일'을 볼 수 있습니다.

date
Thu Mar 14 01:49:00 KST 2013                    -현재 시간이 나옵니다.

그누보드 설치하기 (POGOPLUG SERIES 4용)

1. 시작하기 전에...

 http://www.nextlab.co.kr:8080/nw/를 100% 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

 자 여기까지 했다면 다 한 것입니다. 그누보드를 사용해 보면 정말 가볍고 빨라서 '포고플러그 시리즈 4'에 딱 맞는 CMS툴 이라고 생각하실 겁니다. 또 하나의 CMS툴인 워드프레스도 있는데, 그누보다 조금 무겁습니다.


2. 설치하기

(1) 먼저 아래 주소에서 다운로드 받아서 압축을 풉니다.
http://www.nextlab.co.kr:8080/download/gnu4_nw102.zip

(2) 압축을 풀고 나오는 pogo 폴더를 윈도우 탐색기에서 Pogoplug의 /srv/http 에 복사합니다. (/srv/http/pogo 경로가 되도록)

(3) 이제 다시 ssh로 로그인합니다. (이미 로그인중이시죠? ㅎ)
cd /srv/http
chmod 777 -R ./pogo
(방금 복사한 pogo 폴더의 모든 파일을 실행가능 상태로 만드는 것으로 권한을 준다고 말합니다.)


3. Database 생성 & 설치 마무리
mysql -u root -p
Enter password: 비번 입력
mysql> CREATE DATABASE pogo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> exit
(그누보드에서 사용할 pogo 라는 db를 생성합니다.)


그리고 웹브라우저 주소란에 포고사설_IP/pogo/install 을 입력합니다.
아래와 같은 페이지가 나와야 합니다.


[예, 동의합니다] 버튼을 누르고 진행합니다.

그 다음 페이지 입력란에는 다음과 같이 입력합니다.
Host: localhost (디폴트값)
User: root
Password: root비밀번호 (mysql에서의 비번)
DB: pogo
ID: admin (그누보드 관리자 ID입니다.)
Password: admin비번(root와 동일한 비밀번호로 하는게 편할겁니다.)
Name: 자신의별명이 좋습니다.
E-mail: 관리자 이메일주소
[다음]버튼을 누릅니다. (1번 눌러서 계속 반응이 없다면 1번 더 누르면 됩니다.)
아래와 같은 페이지가 나올때까지 기다립니다.


[메인화면] 버튼을 클릭합니다.
썰렁한 하얀색 화면이 나오나요? 성공입니다.
여태까지 힘들게한 작업의 결과가 이거라니까 조금 허탈하시죠? ㅎㅎ
사실 이제부터가 진짜 시작입니다. 조금만 더 힘내시자구요~!


4. 그누보드 사이트 설정
우측 상단 2개 입력란에 각각 admin과 비번을 입력하고 로그인합니다.
우측 최상단에 [admin]이라는 버튼이 생겼을겁니다. 클릭해서 아래 관리자화면으로 들어갑니다.

여기서 사이트에 대한 다양한 설정을 할 수 있습니다.
직접 하나씩 하셔도 되겠지만, 처음에는 설정이 너무 많아서 쉽지 않으니까 일단 저와 같이 하나씩 따라서 사이트를 간단히 만들어보도록 해요.

(1) 환경설정
환경설정 버튼을 누르고 다음 값을 변경합니다.
-홈페이지 제목: My Favotie Things
-포인트 사용 : 체크해제
-관리자 패스워드 : admin 비번 (모든 설정 맨 밑에는 관리자 패스워드를 요구합니다.)

(2) 사이트관리.사이트설정
사이트관리>사이트설정을 클릭해서 다음 값을 변경합니다.
-홈페이지 제목 : My Favotie Things
-홈페이지 설명 : 내가 좋아하는 모든 것들
-하단 추가문구:  이 사이트는 Pogoplug Series 4에 ARCHLINUX + NGINX + PHP + MYSQL + 그누보드를 설치해서 운영 중입니다.
(제 가이드를 따라서 웹서버를 구축했다면 위의 하단문구로 통일시켜주시기 바랍니다. 우리들만의 아름다운 약속이에요잉~ ^^)
-대메뉴 : 네 체크
- 아웃로그인 : 아니오 체크 (이것을 아니오로 체크하면 로그인 입력란이 사라집니다. 따라서 admin으로 로그인을 하기 위해서는 사이트 주소 포고사설_IP/pogo/adm 으로 접속하시면 로그인 페이지가 나옵니다.)

(3) 사이트관리.페이지관리
사이트관리>페이지관리를 클릭합니다.
테이블 헤더의 우측 [+] 버튼을 클릭합니다.
페이지 생성 입력란에 다음과 같이 입력합니다.
-페이지ID : intro
-페이지 제목 : Intro
-본문 내용 : (평소에 가장 좋아하는 것의 사진을 인터넷에서 찾아 링크를 복사해옵니다. 저는 욘아님 사진을...

본문 내용 입력란 위쪽의 에디터툴바에서 이미지링크 아이콘(카메라 아이콘 오른쪽)을 클릭해서 사진URL에 입력하고 [미리보기]로 확인한다음 [확인]버튼을 클릭합니다.
추가할 내용이 있다면 입력하고 맨 하단 [확인] 버튼을 클릭합니다.

(3) 게시판관리.게시판그룹관리
테이블 헤더 우측의 [+] 버튼을 눌러서 다음과 같이 입력합니다.
그룹 ID : pogobg1
그룹 제목 : 포고 게시판 그룹1

(4) 게시판관리.게시판관리
테이블 헤더 우측의 [+] 버튼을 눌러서 다음과 같이 입력합니다.
다음과 같은 2가지 게시판을 생성합니다.
(주의사항: 게시판 설정 각 입력란에 보면 제일 왼쪽에 체크박스가 하나씩 있는데 이걸 체크하면 모든 게시판에 일괄 적용되게 된다. 주의해서 사용해야 합니다.)

[첫번째 게시판]
-TABLE : favorite
-게시판 제목 : Favorite
-글쓰기 권한 : 10 (나만 쓸 수 있는 게시판이므로)
-글읽기 포인트 : 0
-다우로드 포인트 : 0
-DHTML 에디터 사용 : 체크
-스킨 디렉토리 : nw_basic
([확인] 버튼을 누른다음 다시 게시판관리>게시판관리를 클릭해야합니다.)

[두번째 게시판]
-TABLE : guestbook
-게시판 제목 : Guestbook
-글읽기 포인트 : 0
-다우로드 포인트 : 0
-DHTML 에디터 사용 : 체크해제
-스킨 디렉토리 : nw_basic

(5) 사이트관리.메뉴관리
오른쪽 부분의 다음 내용을 순서대로 추가합니다.
page - Intro (intro)
board - Favorite (favorite)
board - Guestbook (guestbook)
(순서가 잘못되었다면 Drag&Drop으로 순서를 변경할 수 있습니다.)

(6) 사이트관리.첫화면설정
우측 선택란에서 1 column을 [추가]합니다.
첫번째 SELECT 박스에서 [page]로 선택하고 두번째는 intro-Intro를 선택합니다.
주의사항 - 파이어폭스나의 경우  SELECT 박스가 움직이지 않습니다. 익스에서 수정해야 합니다.

설정이 모두 끝났습니다. 짝짝~
좌측 상단의 관리자화면 바로 밑의 [HOME] 버튼을 클릭해보면 드디어 그렇게 기다리던 우리의 사이트가 나타날 것입니다.

아래 제가 이미 만들어놓은 페이지처럼 나오나요?
http://dione6.gonetis.com/dion/

이대로 나온다면 Pogoplug Webserver 구축을 성공한 것이다. 정말 수고 많으셨어요 ^^
이제 다시 관리자화면으로 돌아가서 로그아웃을 한 다음에 Guest 상태에서 어떻게 보이는지도 확인해보세요. Favorite은 쓸수없고 Guestbook에만 쓸수가 있게 되어 있는지 등등요.


5. 마무리

그누보드를 이용해서 사이트 구축하는게 처음엔 그리 만만하지는 않을 것이지만 몇번 하다보면 금방 이해하고 매우 쉽게 원하는 형태로 구축을 할 수 있을것입니다.
그리고 어느정도 익숙해지셨다면 아래 그누보드 사이트를 방문해서 다른 빌더도 설치해보세요. 다양한 디자인의 많은 빌더들이 존재합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_builder

단, 새로운 그누보드 빌더를 설치할 때 다음 3가지를 주의해주세요.

(1) 빌더 패키지를 선택할 때 반드시 UTF-8 버전을 선택하세요. (EUCKR 버전이 따로 존재하는 패키지가 있습니다.)

(2) 설치 폴더를 다르게 해주세요.
이번에 /srv/http/pogo 에 설치한것을 기억해서 다음에는 /srv/http/boxi 이런 식으로요.

(3) database 명을 새로 생성해야 합니다.
앞에서 pogo라는 database 명을 이용했는데요. 다른 빌더 설치시 database 명에 pogo를 입력하면 이미 작업한 내용에 덮어쓰게 되므로 반드시 새로운 database를 생성해서 그것을 지정해야합니다.

새로운 database를 생성하는 방법은 아래 명령을 이용하면 됩니다.
ssh 로그인 상태에서
mysql -u root -p
Enter password: (root 비번 입력)
mysql> CREATE DATABASE boxi DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> exit

MYSQL설치하기 (POGOPLUG SERIES 4용)

1. 시작하기 전에...

http://www.nextlab.co.kr:8080/nw/를 100% 참고하였습니다.

참고 사이트에서는 프로세스 실행 시 rc.d가 먹히는데, series 4에서는 먹히지 않아서systemctl로 대체합니다.


2. MYSQL설치하기

pacman -Sy mysql


3. MYSQL 설정

nano /etc/mysql/my.cnf
(윈도우 탐색기에서 열어도 됩니다)

(1) 기본 스토리지 엔진을 MyISAM으로 합니다.
[mysqld]항의 아래 default-storage-engine 값을 추가합니다.
default-storage-engine=MyISAM

(2) 네트워크 기능 활성화 설정
아래 skip-networking 앞에 주석(#)을 추가합니다.
#skip-networking
이제 SQLyog 같은 MYSQL 클라이언트툴로 접속이 가능합니다.


4. root 권한 설정

아래와 같이 mysql을 실행하면서 보안관련 설치를 하고 재실행합니다.
systemctl start mysqld && mysql_secure_installation
systemctl restart mysqld
(만약 이 때 fail이 떨어지면 /var/lib/mysql/alarm.err 로그 파일을 읽어서 원인을 확인하면 됩니다.)
mysql에 접속해서 root의 권한을 설정합니다. root비밀번호에는 SSH 비밀번호와 동일하게 입력합니다. 또 아래 명령어 구문에서 괄호가 나오는데 괄호의 따옴표 안에 비밀번호를 입력합니다. 저는 괄호밖인 password='여기'에 적어서 한동안 고생했습니다.

mysql -u root mysql -p
mysql>update user set password=password('root비밀번호') where user='root';
mysql>insert into user(host,user,password) values('%', 'root', password('root비밀번호'));
mysql>grant all privileges on *.* to root@"%" identified by '새비밀번호' with grant option;
mysql>flush privileges; 
mysql>exit

mysql 재실행합니다. (아래 mysql이 아니라 mysqld 입니다.)
systemctl restart mysqld