1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS + python + django + Apache + Oracle

Last updated at Posted at 2019-08-23

CentOS 설치

pyton + django 설치

1. CentOS에 Python 3.7 설치

python 3.7.4 설치

# 필수 모듈 설치
$ sudo yum install gcc zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel

# Python다운
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
# 압축해제
$ tar zxvf Python-3.7.4.tgz
$ cd Python-3.7.4
$ ./configure --enable-shared

# 디폴트로 설치된 2.7버젼과 병행사용(make install:기존 2.7을 덮어씀)
$ make altinstall
#
$ su root # <<== 안해도 되는듯...
$ export LD_LIBRARY_PATH=/usr/local/lib

설치확인

# 버전확인
$ python3.7 -V 
# 설치경로 확인
$ which python3.7

참고1
참고2
참고3 << 일단 중지

2. django 설치

2.1 pip

  • pip란?
    • 파이썬으로 작성된 패키지 라이브러리를 관리해주는 시스템
    • pip와 virtualenv는 글로벌 설치되어야 하는 유일한 패키지
    • ubuntu의 apt-get
# 
$ yum install epel-release
# 
$ yum install python-pip
# 
$ pip3.7 install pip --upgrade

참고1

2.2 가상환경

  • Virtualenv
    • 사용자가 정한 임의의 디렉토리 밑에 독립적인 파이썬 개발 환경구축
    • 단독 프로젝트일 경우 생략가능
# 프로젝트를 만들 폴더생성
# user계정(centos)으로 만들자(/home/centos/)
$ mkdir django
$ cd django

# 가상환경관리폴더 env생성
$ python3 -m venv myvenv

# 가상환경사용
$ source myvenv/bin/activate
(myvenv) [root@localhost mytest]

2.3 Django 설치

# 특정버전 장고설치
(myvenv) $ pip3.7 install Django==2.1.2

# 최신버전 장고설치
# Djangoの最新版だとApacheと連携したときにSQLiteのバージョンのエラーが出て起動できないので、
# 一つ古いバージョンをインストールする。(SQLiteの最新版を入れてもダメだった。)
(myvenv) $ pip3.7 install django

# 프로젝트폴더 생성
(myvenv) ~/django$ django-admin startproject mysite .

2.4 Apache

# 설치
$ yum install -y httpd-devel
# 방화벽 설정
$ firewall-cmd --permanent --zone=public --add-service=http
$ firewall-cmd --permanent --zone=public --add-service=https
$ firewall-cmd --reload

# 2.5 mod_wsgi 설치 후 실행
# 아파치 기동
$ systemctl enable httpd.service
$ systemctl start httpd.service

2.5 mod_wsgi

  • PythonとApacheをつなぐもの
$ pip3.7 install mod_wsgi
# 환경파일 아파치 폴더에 복사
$ cp /usr/local/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so /etc/httpd/modules
  • django.conf 생성
$ vim /etc/httpd/conf.d/django.conf
django.conf
LoadModule wsgi_module modules/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so

WSGIScriptAlias / /home/centos/django/mysite/wsgi.py
WSGIPythonPath /home/centos/django/
#virutalenvを使用している場合
#WSGIPythonHome /home/dekosuke/env/django-env

<Directory /home/centos/django/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
  • settings.py 수정
$ cd mysite
$ vim settings.py

# settings.py 수정
ALLOWED_HOSTS = ["*"]

2.6 폴더 접근권한부여

フォルダにアクセスする権限の関係で開発する際は、SELinuxをdisabaleにしておいたほうがいい。

それでも発生するようなら、ファイルのアクセスを変更する

3. 참조

# Centos
$ /var/log/httpd/error_log
# Ubuntu
$ /var/log/apache2/error.log

# 마지막 2줄 확인
$ tail -2 /var/log/httpd/error_log

Oracle 설치

1. 설치

python 3.7.4 설치

$ pip3.7 install cx-Oracle --user
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?