2021년 3월 30일 화요일

우분투 mysql 한글 입력 문제

 특별한 설정변경 없이 mysql에 한글 입력을 시도하면 에러가 나는 경우가 있다.

mysql > status를 해보면 아래와 같이 latin1 이 default 값으로 설정된 경우이다.

Server characterset:    latin1

Db     characterset:    latin1

Client characterset:    utf8

Conn.  characterset:    utf8


이를 바로잡아 주는 방법은 

$ sudo nano /etc/mysql/my.cnf  설정파일을 열고  아래의 내용을 밑에 추가해준다.

-----

[client] 

default-character-set = utf8 

[mysqld] 

character-set-client-handshake=FALSE 

init_connect="SET collation_connection = utf8_general_ci" 

init_connect="SET NAMES utf8" 

character-set-server = utf8 

collation-server = utf8_general_ci 

[mysqldump] 

default-character-set = utf8 

[mysql] 

default-character-set = utf8

-----

설정변경후 mysql 재시작

$ sudo service mysql restart

이후 mysql에 들어가서 status 확인하면 모두가 utf8로 변경된 것을 확인

2021년 3월 8일 월요일

우분투 서버에 주피터 노트북 서버 설치(Jupyter notebook server on Ubuntu 18.04 server)

 1. 최신화

sudo apt update

sudo apt -y upgrade


2. 파이썬 설치

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt install python3

python3 -V


3. 지원도구 설치

sudo apt install -y python3-pip

# 라이브러리 추가설치시 pip3 install numpy 와 같이 라이브러리명을 입력 설치

sudo apt install build-essential libssl-dev libffi-dev python3-dev


4.주피터노트북 설치 및 사용할 패스워드 생성

pip3 install jupyter

python3 

# ipython 커맨드라인에서 

>>>from notebook.auth import passwd

>>>passwd() # 자신이 사용할 패스워드 두번 입력 후 출력된 것 복사

Out[2]: 'sha1:f24baff49ac5:863dd2ae747212ede58125302d227f0ca7b12bb3'


5.주피터 노트북 설정

jupyter notebook --generate-config

sudo nano ~/.jupyter/jupyter_notebook_config.py

# 디폴트설치 y

sudo nano (위에서 디폴트설치한 파일 주소) # 설정파일 편집

가장 간단하게 아래 두개만 찾아서 편집(찾기 어렵기때문에 Ctrl+W로 찾아가기

c.NotebookApp.ip = '자기 서버 ip'

c.NotebookApp.password = 'sha1:f24baff49ac5:863dd2ae747212ede58125302d227f0ca7b12bb3'

#위 4번에서 카피해둔 것 붙여넣기, 설정파일 저장 후 터미널 복귀


6.방화벽 개방 및 백그라운드 실행

방화벽에서 port 8888 개방

# ufw 방화벽 사용한다면 sudo ufw allow 8888

백그라운드 실행 및 프로세스 정지

$ nohup jupyter-notebook &

#입력후 Ctrl+c로 복귀 후 자기서버 주소:8888으로 접속

#서버 재부팅시는 위의 명령을 다시 실행 해줘야 브라우저로 접속 가능

#프로세스 강제종료 아래와 같이 실행

ps -ef | grep python  #프로세스 확인

kill -9  10000


2021년 2월 2일 화요일

우분투 Ubuntu 18.04 L2TP 및 IPsec 방식의 VPN 서버와 클라이언트 설정

1. 서버 설정 

$ wget https://git.io/vpnsetup -O vpnsetup.sh

$ nano -w vpnsetup.sh 아래내용 입력

==

IPsec PSK: '사전공유키 자기가 사용하고자 하는 것 20자리 이상 입력'

Username: '아이디'

Password: '패스워드'

====

$ sudo sh vpnsetup.sh

설치 후 출력물 복사 (IP 주소를 포함 위에 입력 내용 복사하여 클라이언트 설정시 사용)

포트 개방 : UDP 500과 4500 

나중에 재시작 

$ service ipsec restart

$ service xl2tpd restart


2. 클라이언트 설정 

$ sudo apt-get update

$ sudo apt-get install network-manager-l2tp 

$ sudo apt-get install network-manager-l2tp-gnome

우상단 GUI 설정을 이용하여 vpn 설정

===

설정 - 네트워크 - vpn 오르쪽 + - L2TP vpn 추가  

IPsec 설정 1.서버ID, 2. Pre-shared key 복사해놓은것 입력로

3 phase1알고리즘 3des-sha1-modp1024 4. phase2알고리즘 3des-sha1

PPP설정 인증방법허용에서 MSCHAPv2만 체크, 나머지 설정은 디폴트 그대

===

접속시 우상단 네트워크에서 가상사설망 켬으로 이동 연결

2021년 1월 7일 목요일

구글의 Blogger 블로그 내용을 백업하여 Wordpress 블로그에 업로드 하기

 1. 구글블로그 Blogger Blog에서 자료 내보내기

로그인하고 설정 -> 블로그관리의 콘텐츠 백업 -> 다운로드 선택

다운로드 폴더에 xml 형태로 다운로드 됩니다.


2. 워드프레스 Blog에 올리기 

로그인 -> 도구의 가져오기 -> 가져오기 툴 Blogger 설치 

Run Importer-파일업로드 후 가져오기 - import하는 사람 선택


*반대의 경우도 가능하네요.

워드프레스에서 내보내기하여 파일을 xml형태로 다운로드 받고

구글블로그의 Blogger에서 설정-콘텐츠 가져오기하면 됩니다.


서로 호환되니까 좋네요

2021년 1월 6일 수요일

우분투 Ubuntu 18.04 아나콘다 Anaconda 설치 및 주요 명령어 사용방법

 1. Anaconda 최신버전 확인

https://www.anaconda.com/distribution/


2. Anaconda Bash Script 다운로드

$ wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh


3. Data Integrity of the Installer 확인

$ sha256sum Anaconda3-2019.10-Linux-x86_64.sh

인증코드 출력


4. 설치

$ bash Anaconda3-2019.10-Linux-x86_64.sh

라이센스 동의, 설치폴더 등 확인

$ source ~/.bashrc

설치 activation


5. 설치 확인

$ conda list

패키지들의 버전 확인


6. 환경구성 

conda create -n myenv python=3.5

conda install -n myenv tensorflow=1.0.0 keras matplotlib 

conda list -n myenv


conda activate myenv

conda deactivate


yml파일을 이용한 환경 구성

environment.yml 파일은 아래와 같이 구성

-------------

name: handson-ml

dependencies:

  - python=3.6

  - scikit-learn

  - matplotlib

  - jupyter

  - pandas

  - pillow

  - nltk

  - pip:

    - tensorflow

    - gym

    - graphviz

    - watermark

    - urlextract

    - xgboost

------------------

conda env create -f environment.yml

conda info --envs

conda activate handson-ml

conda deactivate


7. conda env 이름 변경

conda create -name new_name --clone old_name

conda remove -name old_name --all


8.백그라운드 실행 및 프로세스 정지

nuhup jupyter-notebook &

kill -9  10000

ps -ef | grep python  #프로세스 확인


9.jupyternotebook에 환경구성 나타나도록 하는 방법

아래의 세가지 방법이 있으나 가장 잘되는 것은 1번 방법이다.


9-1. 환경을 activating 시킨 후 jupyter notebook를 실행

conda activate handson-ml

conda install jupyter

jupyter notebook

conda deactivate


9-2. 환경을 activating 시킨 후 specital kernel 생성

conda activate handson-ml

conda install ipykernel

ipython kernel install --user --name=handson-ml

jupyter notebook


9-3. nb_conda_kernels을 이용하는 방법

conda activate handson-ml

conda install ipykernel

conda deactivate

conda activate base

conda install nb_conda_kernels

jupyter notebook

2021년 1월 3일 일요일

우분투 Ubuntu LAMP server 20.04로 전환 + owncloud server + wordpress-5.3.6 블로그 + R 4.0 + Rstudio server1.3

 1. root 계정 암호 설정

$ sudo passwd 실행해서 root unix 암호 등 설정

관리자 계정 추가 sudo adduser admin

추가 확인 ls /home

$ sudo usermod -a -G sudo admin *sudo 권한 부여

2. apache2 설치

sudo apt update

sudo apt install apache2

sudo ufw enable

sudo ufw app list

sudo ufw allow 20-22

sudo ufw allow in "Apache"

sudo ufw status

3. MySQL 설치 8.0 

패스워드 길이 조합 각별히 통제

sudo apt install mysql-server

sudo mysql_secure_installation

root 패스입력후 그냥 모두 엔터 쳐도 무난, 

sudo 만 로그인 가능하고 별도 패스설정 불필요 


4. php 설치 7.2버전으로 

sudo apt install php libapache2-mod-php php-mysql

php -v


5.owncloud 서버 설치

wget https://download.owncloud.org/community/owncloud-10.0.6.tar.bz2

tar -xvf owncloud-owncloud-10.0.6.tar.bz2

sudo mv owncloud /var/www/

sudo chown -R www-data:www-data /var/www/owncloud/

sudo chmod -R 755 /var/www/owncloud/

-Mysql DB 생성 및 설정

$ sudo mysql

mysql> create user 'yourid'@'localhost' identified by '자기 비번';

mysql> create database owncloud;

mysql>GRANT ALL on owncloud.* to 'yourid'@'localhost';

mysql> flush privileges;

mysql>exit;

-http가 가능하기 위해서는 php7.2보다 높은 버전은 안됨(TLS 인증서 필요)

sudo apt install apache2 libapache2-mod-php7.2 openssl php-imagick php7.2-common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-pgsql php-smbclient php-ssh2 php7.2-sqlite3 php7.2-xml php7.2-zip

sudo dpkg -l apache2

sudo systemctl start apache2


-Configure Apache for OwnCloud

sudo nano /etc/apache2/conf-available/owncloud.conf

-------아래 입력

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>

  Options +FollowSymlinks

  AllowOverride All

 <IfModule mod_dav.c>

  Dav off

 </IfModule>

 SetEnv HOME /var/www/owncloud

 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

---------------


sudo a2enconf owncloud

sudo a2enmod rewrite

sudo a2enmod headers

sudo a2enmod env

sudo a2enmod dir

sudo a2enmod mime


sudo systemctl restart apache2

sudo ufw allow mysql

-웹서버로 접속

http://ip/owncloud

로그인 아이디와 패스는 아무거나 새로운 관리자로 사용하고 싶은 것을 입력하고

DB와 연동되는 부분은 위에 승인 받아놓은 사용자/db 선택, localhost:3306

특히 Connect Error: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

문제는 mysql을 아래와 같이 조치하면 된다.

ALTER USER 'geoyourid'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password 길게';

sudo nano /var/www/owncloud/config/config.php


- 내 pc 클라이언트 설치

wget -nv https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_20.10/Release.key -O - | sudo apt-key add -

echo 'deb https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_20.10/ /' | sudo tee -a /etc/apt/sources.list.d/owncloud.list

sudo apt update

sudo apt owncloud-client


6.워드프레스 설치

wget https://ko.wordpress.org/wordpress-5.3.6-ko_KR.zip

unzip wordpress-5.3.6-ko_KR.zip

sudo cp -rp wordpress /var/www/html/blog/

sudo chown -R www-data:www-data /var/www/html/blog

sudo chmod -R 755 var/www/html/blog

sudo apt install ftp vsftpd

sudo nano /etc/vsftpd.conf 의 주석해제

local_enable=Yes

write_enable=YES

lacal_umask=022

sudo service vsftpd restart


홈페이지 접속 

http://45.76.XXX.000/blog

mysql 연결 설정 화면에 나온것을 아래 파일에 저장, db 사용자 설정 등

sudo nano /var/www/html/blog/wp-config.php


7.R 서버와 Rstudio 설치

우분투 앱 소스추가

sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'

sudo apt install r-base

R --version

-Rstudio server 설치

sudo apt-get install gdebi-core

#참조:https://rstudio.com/products/rstudio/

wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.3.1093-amd64.deb

sudo gdebi rstudio-server-1.3.1093-amd64.deb

sudo ufw allow 8787

-working diretory 설정

터미널에서 mkdir rstudio

상단메뉴를 이용하여 Session > Set Working Directory > Choose Directory.

2021년 1월 1일 금요일

df -h 용량확인시 /dev/loop 디바이스 나오지 않도록 설정하는 법

 용량확인하려고 우분투 터미널에서 df -h를 입력하면 

실행중인 /dev/loop 들 즉 loop device들이 줄줄이 나와 정작 확인하고자하는 하드들의 용량확인이 혼란스러운 경우가 있다. 그래서 이런 것들을 없애주는 방법

echo "alias df='df -h -x squashfs -x tmpfs -x devtmpfs'" >> ~/.bash_aliases

source ~/.bash_aliases

df -h