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
2. django 설치
2.1 pip
-
pip란?
- 파이썬으로 작성된 패키지 라이브러리를 관리해주는 시스템
- pip와 virtualenv는 글로벌 설치되어야 하는 유일한 패키지
- ubuntu의 apt-get
#
$ yum install epel-release
#
$ yum install python-pip
#
$ pip3.7 install pip --upgrade
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にしておいたほうがいい。
それでも発生するようなら、ファイルのアクセスを変更する
- Linux - Apache 설치후 페이지 접근시, 권한 에러
- chmod -R 755 公開するフォルダ
3. 참조
# Centos
$ /var/log/httpd/error_log
# Ubuntu
$ /var/log/apache2/error.log
# 마지막 2줄 확인
$ tail -2 /var/log/httpd/error_log
- 파이썬(Python) 3 업데이트 후 YUM 실행 시 SyntaxError: invalid syntax 에러
- Django2.2で開発サーバー起動時にSQLite3のエラーが出た場合の対応
- vi/vim 명령어 정리
Oracle 설치
======================================
1. 저장소 업데이트/추가
yum Update
- RPM 기반 시스템용 패키지 설치/삭제/업데이트 도구
- yum사용법
yum update -y
EPEL 추가
- yum 이외의 추가 패키지관리
- 참고
# 설치확인
rpm -qa | grep epel-release
# 저장소 버전 확인
yum list epel-release
# 삭제
#rpm -ev epel-release-6-8.noarch
# 설치
yum install epel-release
remi 추가
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
2. Apacheのインストール
# Version 確認
httpd -v
# install
yum install httpd
3. mysql
# 確認
rpm -qa | grep php-mysql
# 설치명령어
#
yum install mariadb-server
# DB
CREATE DATABASE mantisdb;
CREATE USER mantisuser@localhost IDENTIFIED BY 'root';
GRANT ALL ON mantisdb.* TO mantisuser;
select Host, User, Password from mysql.user;
SET PASSWORD FOR mantisuser = PASSWORD('root');
SET PASSWORD FOR mantisuser@localhost = PASSWORD('root');
3. 방화벽
4. mantis
#
mv mantisbt-2.22.1 /var/www/html/mantisbt
#
chown apache:apache -R /var/www/html/mantisbt
https://tech.godpress.net/?p=715
https://qiita.com/ssaita/items/9e0170251d45ed1b8818
https://qiita.com/keitaoriginal/items/dd382fcb46bcbb4e14a8
https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%B0%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
https://namu.wiki/w/%EC%9D%B4%EC%8A%88%20%ED%8A%B8%EB%9E%98%EC%BB%A4