카테고리 보관물: 미분류

워드프레스에서 “업로드한 파일은 php.ini의 upload_max_filesize에 지정한 크기를 초과하였습니다.” 오류

워드프레스에서 업로드를 할 때 파일이 업로드 할 파일의 사이즈가 크면 다음과 같은 에러 메세지가 나오는 것을 볼 수 있습니다.

업로드한 파일은 php.ini의 upload_max_filesize에 지정한 크기를 초과하였습니다.

당연한 것이지만 워드프레스의 문제가 아니라 PHP설정의 문제입니다. PHP 설정에는 업로드할 파일의 사이즈가 기본 2Mb로 제한되어 있습니다. 이 설정을 변경해 주어야 합니다.

github 에 push 할때 인증창 안뜨게 하기

github에 있는 레파지토리를 클론할 때 레파지토리 주소에 사용자 아이디와 패쓰워드를 넣어두면 pull이나 push가 인증을 한다거나 매번 비밀번호를 물어본다거나 하는 일이 없어져서 편해집니다.

방법은
레파지토리에 주소에 사용자 아이디 패쓰워드 추가하면 됩니다.

특히 Github에 커밋할때마다 비밀번호를 물어보거나 인증을 했는데도 다음번에 또 물어보거나 하는 현상을 없앨 수 있습니다.

방법은 이렇습니다.

클로닝(cloning)할 것헙 레파지토리(repository) 주소

https://github.com/microsoft/vscode.git

위의 주소를 고쳐서 이렇게 해줍니다.

https://사용자아이디:사용자패쓰워드@github.com/microsoft/vscode.git

github.com앞에 @를 붙이고 그 앞에 사용자아이디 그리고 콜론 사용자 패쓰워드를 입력하면 됩니다.

패쓰워드가 드러나게 되니까 이 주소가 유출되지 않게 해야 합니다.

비밀번호에 @가 포함된 경우 해결 방법

비밀번호에 @가 있으면 github.com 앞의 구분자 @와 충돌합니다.

이때는 @를 %40으로 바꾸면 됩니다. 예를 들어

사용자아이디: user

비밀번호: pass!@#

라면

https://user:pass!%40#@github.com/microsoft/vscode.git

이 됩니다.

비밀번호가 노출되는 것이 싫어요. 대신 토큰 사용하기

https를 사용하기 때문에 네트워크에서 비밀번호가 새나갈 위험은 없습니다만 그래도 비밀번호를 그대로 적어서 저장하는 것은 위험합니다.

비밀번호를 적는 것이 걱정된다면 github에서 토큰을 받아서 비민번호대신 넣어줘도 됩니다. 자신의 토큰은 깃헙에서 받을 수 있습니다.

토큰 메뉴는 Settings -> Developers setting 에 있습니다.

참고

https://stackoverflow.com/questions/6172719/escape-character-in-git-proxy-password

Python3.9 Ubuntu 18.04에 설치하기

Python 최신 버전을 오래된 우분투 배포판에 설치하는 것은 항상 문제가 있었습니다. 그런데 18.04에서 Python 3.9를 설치하는 것은 버전에 비해서 설치하기가 쉬워졌습니다.
명령어 몇개로 쉽게 설치가 가능합니다.

커스텀 사용자 레파지토리를 추가

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

설치

apt install python3.9

패키지 목록을 읽는 중입니다...
완료<br>의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
libpython3.9-minimal libpython3.9-stdlib python3.9-minimal
    제안하는 패키지:
      python3.9-venv python3.9-doc binfmt-support
    다음 새 패키지를 설치할 것입니다:
   libpython3.9-minimal libpython3.9-stdlib python3.9 python3.9-minimal
    0개 업그레이드, 4개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
    4,833 k바이트 아카이브를 받아야 합니다.
    이 작업 후 18.9 M바이트의 디스크 공간을 더 사용하게 됩니다.
    계속 하시겠습니까? [Y/n] y

확인하기

python3.9 --version
Python 3.9.1

우분투 리눅스에 젠킨스 설치하기 – Installation Jenkins on Ubuntu

데이터과학과 젠킨스 무슨 관계인지 궁금할 수 있습니다.

Jenkins는 소프트웨어를 지속적으로 빌드하고 배포하기위한 CI/CD 도구이기 때문입니다.

젠킨스에는 스케줄러가 있는데 데이터프로세싱을 할때 스케줄러로 사용하기에는 젠킨스가 너무 좋습니다.

우분투 리눅스에 Jenkins “젠킨스”를 설치하는 방법입니다.

요점과 하는 순서

  • 우분투의 패키지 관리자인 apt로 젠킨스를 설치할 수 있게 해야합니다. apt가 아닌 다른 방법으로 설치하려면 복잡하고 어렵습니다.
  • apt로 젠킨스를 설치하려면 apt 레파지토리에 젠킨스 배포체가 있는 곳의 주소를 넣어줘야 하고, 인증키도 받아서 넣어줘야합니다.
  • 젠킨스는 Java로 만들었기 때문에 Java도 설치해야 합니다.
  • 젠킨스를 최초 구동을 한 후에 젠킨스에서 몇가지 설정을 해야 합니다.

젠킨스 배포 주소를 우분투 apt 레파지토에 등록하기

젠킨스는 두가지 릴리즈(배포) 버전을 제공합니다.

Long Term Support Relase 롱텀서포트 릴리즈

Weekley Release 위클리 릴리즈

롱텀서포트 릴리즈는 나중에 업데이트하지 않고도 오래동안 쓸 수 있는 매우 안정적인 버전이지만 업데이트가 잘 안됩니다.

위클리 릴리즈는 일주일에 한 번씩 업데이트되는 최신 버전이지만 버그도 있을 수 있고 조금 불안한 구석이 있습니다.

안전하게 롱텀서포트를 설치하는게 낫습니다.

젠킨스 설치하기

리눅스 쉘 명령어 세트입니다. 5줄로 되어 있는데 앞의 3줄은 한 세트입니다. 3개의 세트로 된 명령을 연달아 실행해 주면 설치가 됩니다.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

자바 설치하기

OpenJdK라는 것을 설치하면 됩니다.

sudo apt install openjdk-11-jdk

도커(docker)가 뭔가요?

쉽고 빨리 배우는 후루룩 개발 시리즈입니다.

Docker “도커”라는 것이 있습니다.

개발 세계에서 말하는 도커는 배가 정박하는 그 도커가 아닙니다.

도커를 흔히 컨텐이너라고 부릅니다. 화물 실어 나를때 배에 싣는 큰 쇠로된 상자인 컨테이너와 같은 것은 아니지만 개념은 비슷합니다.

1대의 서버에 전혀 다른 소프트웨어를 설치해서 사용하다보면 서로 궁합이 안 맞아서 한쪽이 설치가 안되거나 작동이 안되는 일이 발생합니다.

필요한 소프트웨어들을 버에 설치할 때 같이 필요한 소프트웨어들이 엄청 많이 필요할 수 있습니다.

몇 세트를 설치하다보면 이제 세트들끼리 서로 충돌을 하는 소프트웨어들이 생깁니다. 뭐 이런일들입니다.

세트A: ”b가 설치되어 있으면 나는 작동못해”

세트B: “b는 나한테 꼭 필요해”

이 외에도 여러가지 복잡한 일들이 생깁니다. 이 문제를 해결할 수는 있지만 소프트웨어 세트가 복잡하고 많고 오래될 수록 점점 지옥이 되갑니다.

그래서 하나의 서버에 전혀 다른 서버인 것처럼 환경자체를 가상으로 구별하고 마치 다른 소프트웨어가 설치되어 있지 않은 것처럼 깨끗하게 분리할 수 있는 방법이 개발되었습니다.

이걸 영어로 virtualziation “버추얼라이제이션”이라고 하고 우리말로는 “가상화” 라고 합니다.

도커는 가상화 소프트웨어입니다. 즉 서버의 환경을 분리해주는 것입니다.

물론 가상화는 이것보다는 설명할 것이 더 많습니다만 우선 여기까지만 이해하세요.

도커의 문제

  • 환경 분할해서 쓰는 OS는 리눅스만 가능해요.
  • 완전가상화가 아니기 때문에 OS자체를 전혀 다른 것을 설치할 수 없어요.
  • 완전가상화는 OS자체를 전혀 다른 것으로 바꿀 수 있어요. 하지만 도커는 완전가상화가 아니예요.

도커가 하는일

  • 리눅스 환경을 분리해서 전혀 다른 서버인 것처럼 나눠줘요.
  • 나눠진 환경에 소프트웨어를 설치할 수 있고, 코드를 짜서 넣을 수도 있어요.
  • 환경 자체를 통째로 받아서 저장해 둘 수 있어요. 이걸 도커 이미지로 만든다고 말해요.
  • 만들어진 이미지로 나중에 빵틀에서 빵찍어 내듯이 환경을 그대로 실행해서 작동하도록 만들 수 있어요.

도커를 쓰면 좋은 것

도커를 CI/CD에도 쓰면 좋습니다.

  • 도커로 서비스 소프트웨어를 만들어서 도커 이미지자체를 배포할 수 있습니다. 이게 편한 이유는 소프트웨어를 배포할 때 매번 서버의 환경이 소프트웨어가 구동하는데 필요한 환경과 일치하는지 확인해야 하고 안 앚으면 맞춰주고 해야 하는데 도커를 이용하면 필요가 없어집니다.
  • 매번 환경을 세로 만들기 때문에 환경을 구성하다가 환경구성에 필요한 소프트웨어가 갑자기 설치가 안되거나 오류가 발생했다거나 하면 그 사실을 알 수 있습니다. 소프트웨어가 동작하는 환경을 구성하는것 자체가 잘되는지 배포하기 전에 테스트를 할 수 있습니다.

별것 아닌것 같지 개발자를 편하게 해주는 것입니다.