728x90

결론부터 말하면 Python3.9 소스 설치하는 방법으로 설치는 문제없이 잘되었다.

문제는 SQLite3 DB 인식이 문제가 되어 온갖 삽질을 해도 해결이 잘 안되어서 포기하고.....

CentOS 7.X 버전에 python3 를 yum 으로 설치하는 방법으로 해서 SQLite3 DB 인식이 가능한 걸 확인했다.

 

yum -y install python3
python3 -V

 

파이썬 장고에서 DB 인식할 때 SQLite 3.9.0 이상으로 설치를 하라고 나온다.

기본 설치된 버전은 3.7.X 버전이다.

구글링을 하면 3.8.11 로 업데이트하는 방법이 나온다.

cd /root
mkdir sqlite3
cd sqlite3

wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.10.2/1.fc22/x86_64/sqlite-3.10.2-1.fc22.x86_64.rpm
wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.10.2/1.fc22/x86_64/sqlite-devel-3.10.2-1.fc22.x86_64.rpm
sudo yum -y install sqlite-3.10.2-1.fc22.x86_64.rpm sqlite-devel-3.10.2-1.fc22.x86_64.rpm
sqlite3 –version

 

https://kojipkgs.fedoraproject.org//packages/sqlite/ 에서 더 높은 버전을 받을 수 있으나, 더 상위버전으로 했을 경우 에러가 발생할 수 있다.

 

파이썬 3.6.8 버전 설치는 끝났다.

이제 가상환경 설정을 하는 방법이다. 설치할 디렉토리는 아래와 같이 /home/httpd/python/ 으로 정했다.

mkdir -p /home/httpd/python/
cd /home/httpd/python/
python3 -m pip install virtualenv


python3 -m pip install --upgrade pip

 

virtualenv django


source /home/httpd/python/django/bin/activate

 

장고 설치

pip3 install Django

 

장고 REST Framework 설치

pip3 install djangorestframework

여기까지 하면 프로젝트 생성 이전까지 준비는 다 되었다.

직접 프로젝트를 생성해도 되고, 윈도우 Vistual Studio Code 환경에서 만든 코드를 Upload하여 수정해도 된다.

 

그럼 여기에서는 윈도우10 환경에서 개발 연습한 코드를 리눅스(CentOS 7.X)에 import 하는 방법을 적는다.

프로젝트 직접 생성시에는

cd /home/httpd/python/
django-admin startproject fc_django
cd fc_django
django-admin startapp fcuser
django-admin startapp product
django-admin startapp order

순서로 명령어를 입력하면 프로젝트 및 앱이 생성된다.

 

파일 샘플은 https://link2me.tistory.com/2014 에서 받으면 된다.

파일 Upload를 한 다음에 unzip 으로 압축을 푼다.

윈도우에는 실행권한이 있는 파일 구분이 없기 때문에 manage.py 파일이 644 권한이다.

권한을 755로 변경하여 실행할 수 있는 권한을 부여한다.

cd /home/httpd/python/fc_django
chmod 755 manage.py

 

python manage.py makemigrations

python manage.py migrate

 

python manage.py createsuperuser

관리자 ID는 원하는 아이디로 지정하면 된다.

 

이제 서버를 구동시켜 보자.

먼저 CentOS7 에서 구동될 방화벽을 먼저 설정해야 한다.

8000 번 포트로 개발서버를 구동시킬 것이기 때문에 포트를 등록해야 한다.

# 방화벽 설정
yum -y install firewalld

# 방화벽 데몬 시작
systemctl start firewalld

# 서버 부팅 시 firewalld 데몬 자동 시작 설정
systemctl enable firewalld

firewall-cmd --permanent --add-service=http 
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=mysql
firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --permanent --zone=public --add-port=8000/tcp
firewall-cmd --reload
firewall-cmd --list-all

 

서버 구동
python manage.py runserver 0.0.0.0:8000

 

방화벽이 오픈되어 있는데 아래와 같은 메시지 나온다면....

 

settings.py 파일을 수정해야 한다.

 

 

 

 

 

Control + C 로 빠져나와 다시 개발 서버를 구동시킨다.

 

Web 브라우저 에서 확인하면 아래 그럼처럼 정상적으로 Web 이 구동되는 걸 알 수 있다.

 

이상으로 CentOS 7 에서 파이썬 개발서버를 구동하여 프로젝트를 옮겨서 동작되는 과정을 살펴봤다.

GitHub 등에서 구한 소스를 이런 방법으로 구동시켜 볼 수 있다고 보면 될 것이다.

 

공인(Public) IP에서도 접속 가능하게 IPTIME 공유기 포트포워딩을 설정해줬더니 공인 IP에서도 잘 접속된다.





 

 

 

 

 

블로그 이미지

Link2Me

,