본문 바로가기
IT & 데이터 사이언스/개인 프로젝트

[프로젝트] Django로 포트폴리오 사이트 만들기(1) - Ubuntu Server 환경설정 및 가상환경 만들기

by 바른 호랑이 2024. 7. 2.
728x90
반응형

안녕하세요. 바른호랑이입니다.

원티드, 잡플래닛, 잡코리아 등 다양한 구인구직 사이트들의 이력서 관련 서비스들을 보며, 정형화되어 있는 경력관리용 프레임워크가 아닌 보다 커스터마이징 되어 있는 나만의 포트폴리오 사이트를 만들고 배포까지 해보고 싶다는 생각이 들었습니다.  단순히 개발을 진행해도 되지만 개발을 진행하는 과정에서 고민하고 해결했던 내용들을 겸사겸사 기록해 보는 것이 좋다고 생각이 들어 글을 작성하며 개발을 진행해보려 합니다.

완전 맨땅에서부터 시작하기에는 시간도 자원도 부족하기에 개발과 유지보수가 용이한 Django, Bootstrap을 이용하여 개발을 진행해보려고 하며, Ubuntu 설치와 사용법은 기존에 작성했던 게시글들을 참고하여 설정한 후 진행해 보았습니다. 굳이 용량이 더 큰 Desktop 버전을 사용할 이유가 없어 Server버전으로 설치한 후 작업의 편의성을 위해 VS Code를 바탕으로 SSH로 연결하였습니다.

 

※ VMware Workstation Pro활용한 Ubuntu VM 설치 및 세팅

 

[환경설정] VMware Workstation Pro활용한 Ubuntu VM 설치 및 세팅

안녕하세요. 바른호랑이입니다.이번 게시글에서는 VMware Workstation Pro프로그램에 VM을 생성한 후 Ubuntu를 설치하고 초기세팅하는 방법에 대해 알아볼 예정입니다.해당 게시글의 내용을 이해하기

data-is-power.tistory.com

※ Ubuntu 세팅 및 pyenv, virtualenv 설치

 

[환경설정] Ubuntu 세팅 및 pyenv, virtualenv 설치

안녕하세요. 바른호랑이입니다.이번 게시글에서는 ubuntu에서 python프로젝트를 진행하기 위해 필요한 세팅 및 pyenv, virtualenv를 설치하는 방법에 대해 알아볼 예정입니다.가상환경을 통한 ubuntu설치

data-is-power.tistory.com

※ Ubuntu SSH 설정방법 및 ID/PW로 접속하기

 

[환경설정] Ubuntu SSH 설정방법 및 ID/PW로 접속하기

안녕하세요. 바른호랑이입니다.이번 게시글에서는 Ubuntu Server 설치하고 SSH 접속을 허용한 후 ID/PW로 접속하는 방법에 대해서 알아볼 예정입니다.SSH(Secure SHell)는 네트워크 상의 다른 컴퓨터에 로

data-is-power.tistory.com

※ VSCode Remote SSH 사용법

 

[환경설정] VSCode Remote SSH 사용법

안녕하세요. 바른호랑이입니다.이번 게시글에서는 VS Code를 기반으로 SSH를 사용하여 Linux 서버에 접근하는 방법에 대해서 알아볼 예정입니다.Linux가 설치된 가상머신(VM)이나 외부 컴퓨터를 접속

data-is-power.tistory.com

 

개발 서버에 접근한 이후 필요한 패키지와 설정들을 아래의 코드들을 통해 설치했습니다.

# Install git
sudo apt-get install git

# Install curl
sudo apt-get install curl

# Install pyenv
curl https://pyenv.run | bash

# Install packages
sudo apt-get update;
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget llvm liblzma-dev \
libncurses-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
libffi-dev python3-tk

# Change timz zone
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

패키지 설치가 정상적으로 되었기에 pyenv와 virtualenv를 터미널을 재시작할 때마다 자동으로 실행시킬 수 있게 하기 위해 .bashrc파일에 아래의 코드를 추가하여 주었습니다. 환경변수를 적용한 후에는 터미널을 재실행해야 해당 사항들이 적용되기에 재시작하고 이후 작업을 진행했습니다.

# pyenv path add
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# pyenv-virtualenv add
eval "$(pyenv virtualenv-init -)"

환경변수까지 적용한 후에는 개발을 위한 가상환경을 구축하기 위해 pyenv를 활용하여 python을 설치하고 virtual env를 통해 특정 python 버전을 사용하는 가상환경을 생성해 주었습니다.

# Install python on pyenv
pyenv install 3.12.4

# Create virtual env
pyenv virtualenv 3.12.4 venv_portfolio

가상환경 생성 후에는 버전관리 및 배포를 위해 github에 신규  repository를 생성한 후 clone을 해주었습니다.

git clone https://github.com/Jeong-Beom/Portfolio.git

이후 변경사항들을 github에 push 해주기 위해 github 홈페이지로 들어가 Token(repo권한과 user권한 부여)을 발급하고, 아래 코드로 인증정보를 서버에 저장하여 최초 인증 후 push시에는 별도로 인증정보 입력이 필요하지 않게 설정해 주었습니다. 

# enter user information
git config --global user.name {name}
git config --global user.email {email}
# gif config -l # global에 설정된 내용들 확인

# git config --unset credential.helper # 기존에 세팅된 credential.helper 값을 해제할때 사용
git config credential.helper store
# 변경사항 작성 후 git push
git add {변경 내용} # 일괄 적용시 git add * 사용
git commit -m "{commit message}"
# git push {remote name} {branch name}
git push origin main

# 최초 push시 ID/PW 입력 필요, ID는 user.name, PW는 발급한 토큰 값 입력

git 설정까지 완료해 준 후 기본적인 개발환경을 구축하기 위해 pyenv로 생성한 가상환경을 아래의 코드로 실행시키고, 필요한 패키지를 pip를 활용하여 설치해 주었습니다.

# Activate virtual server
pyenv activate venv_portfolio
# Install packages
pip install Django
pip install django-environ

위의 과정을 통해 기본적인 환경세팅을 완료하였고, 이후로는 본격적으로 Django 프로젝트를 생성하고 Bootstrap을 활용해 사이트를 개발해 볼 예정입니다.

728x90
반응형

댓글