파이썬 마을 게시판 인덱스 파이썬 마을
우리나라 파이썬 사용자들의 이야기 마을
 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 
Google
python.or.kr Web

Unix계열 OS에 Python+MySQL+Apache+PHP4+PyAche+MySQLdb+php

 
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 팁/강좌/모듈소개 모음
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
주진은



가입:
올린 글: 53
소속: TnS

올리기올려짐: 2003 6월 13 1:47 pm    주제: Unix계열 OS에 Python+MySQL+Apache+PHP4+PyAche+MySQLdb+php 인용과 함께 답변

#!/bin/sh

제가 테스트하고 만든 문서입니다. 만든지 오래되었지만 ...
이제서야 올립니다.
읽어보시고 문제점이나 궁금하신 사항은 메일 보내주십시오.
메일주소는 bulewon74@hanmail.net
이 문서는 네모선장(주진은)이 작성한것임을 밝힙니다. ㅋㅋㅋ

그럼 즐거운 파이썬 여행을 하시길...


## Unix계열 OS에 Python+MySQL+Apache+PHP4+PyAche+MySQLdb+phpMyAdmin 설치방법 ###

## 프로그램 기본 설명 ################################################
# Python : 응용 스크립트언어
# MySQL : DB 프로그램
# Apache : 웹서버 구동 프로그램
# PHP : 웹프로그램 스크립트언어
# PyApache : apache에 Python script를 사용할 수 있게하는 Apache모듈이다.
# MySQLdb : Python과 MySQL을 연결할 수 있게 하는 API프로그램
# PHPMyamdin : php를 이용하여 MySQL을 관리하는 프로그램
# ###################################################################

## 프로그램 다운로드경로 ##############################
# Python : http://www.python.org
# MySQL : http://www.mysql.com
# Apache : http://www.apache.org
# PHP : http://www.php.net
# PyApache : http://www.apache.org
# MySQLdb : http://dustman.net/andy/python/MySQLdb
# phpMyAdmin : http://www.phpmyadmin.net
# #################################################

## 각각의 설치방법 ####################################################
#
# Python 설치방법 ####################
# 1) 압축을 푼다.
# 2) Configure를 기본 설정한다.
# 3) make 실행
# 4) make install 실행
#####################################

# MySQL 설치방법 ####################
# 1) 구동 계정생성
# 2) 압축 풀고 링크파일생성
# 3) 데이타 베이스 초기화
# 4) 기본 허가권 관련 환경설정
# 5) 데몬 작동 계정과 작동 언어선택옵션으로 구동
#####################################

# Apache ####################
# 1) 압축을 푼다.
# 2) Configure를 기본 설정한다.
# 3) make 실행
# 4) make install 실행
#####################################

# PHP ####################
# 1) 압축을 푼다.
# 2) Configure를 기본 설정한다.
# ./configure --with-apache=/usr/local/src/apache_Ver \
# --with-mysql=/usr/local/mysql --enable-track-vars
# 3) make 실행
# 4) make install 실행
#####################################

# PyApache ####################
#
# Python 설치방법은 Installation과 USING apxs / BUILDING A DYNAMIC MODULE 방법 두가지가 있다.
# Installation 방법만 설명하겠다.
# Installation 방법은 Python Apache module을 초기 구성하는 방법이다.
#
# 1) 아파치 소스 안의 '/apache-VERSION-OS/src/moudles' 디렉토리에 PyApache소스를 풀어 넣는다.
# 2) configure 실행시 PyApache모듈을 첨가하여 실행한다.
# --activate=module=src/modules/PyApache/mod_pythone.c
# 3) apache make와 make install 명령어로 서버구축을 한다.
# 4) 환경설정을한다.
# 환경설정 파일은 httpd.conf이고 파일안에
# AddMandler python-cgi-script .py
# 또는 AddManduler application/x-python-httpd-cgi .py 같이 설정한다.
# ('python-cgi-script'은 'application/x-python-http-cgi'의 alias이다.)
# 5) 마지막으로 apache daemon을 재시작한다.
#####################################

# MySQLdb ####################
# 1) 압축을 푼다.
# 2) setup.py 파일 수정
# -. thread_safe_library = YES
# ===>
# thread_safe_library = NO
# 변경
#
# -. include_dirs = ['/usr/include/mysql', '/usr/local/include/mysql','/usr/local/mysql/include/mysql']
# library_dirs = ['/usr/lib/mysql', '/usr/local/lib/mysql', '/usr/local/mysql/lib/mysql']
# ===>
# include_dirs = ['/usr/include', '/usr/local/include','/usr/local/mysql/include']
# library_dirs = ['/usr/lib', '/usr/local/lib', '/usr/local/mysql/lib']
# 변경
# 3) ldconfig 실행
# 4) python setup.py build 실행
# 5) python setup.py install 실행
#####################################

# phpMyAdmin ####################
# 1) 압축을 푼다.
# 2) config.inc.php
# $cfg['PmaAbsoluteUri'] = '';
# ===>
# $cfg['PmaAbsoluteUri'] = 'http://Server_IP/phpadmin/';
# 3) 적당한 곳으로 phoMyadmin을 이동시킴
#####################################


## 연동설치(Auto Setting Scritp) #########################

# 기본환경 ####################
# 모든 소스파일은 '/usr/local/src' 아래에 있는 것으로함
# 각 소스들의 버전
# Python : Python-2.2.2
# MySQL : mysql-3.23.53a-pc-linux-gnu-i686
# Apache : apache_1.3.27
# PHP : php-4.2.3
# PyApache : pyapache-4.26
# MySQLdb : MySQL-python-0.9.2
# phpMyAdmin : phpMyAdmin-2.3.3pl1-php
# #################################################

# 설치순서 ####################
# Python --> MySQL --> Apache 1차 --> PHP4 --> PyApache --> Apache 2차--> MySQLdb --> phpMyAdmin
#####################################

echo " ### Auto Setting Scritp ### "
echo " ### Python + MySQL + Apache + PHP4 + PyApache + MySQLdb + phpMyAdmin ### "
echo " ### Setting Start ### "
echo " "

# Python 설치 ####################
echo " ### Python-2.2.2 start ### "
echo " "

cd /usr/local/src

tar -zxvf Python-2.2.2.tgz

cd Python-2.2.2

./configure

make

make install

cd /usr/local/src

sync

echo " "
echo " ### Python-2.2.2 The End ### "
echo " "
#####################################

# MySQL 설치 ####################
echo " ### mysql-3.23.53 start ### "
echo " "

useradd -d /usr/local/mysql mysql -s /sbin/nologin

# gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
tar -zxvf mysql-3.23.53a-pc-linux-gnu-i686.tar.gz

mv mysql-3.23.53a-pc-linux-gnu-i686 /usr/local/

cd /usr/local/

ln -s mysql-3.23.53a-pc-linux-gnu-i686 mysql

cd /usr/local/mysql

./scripts/mysql_install_db

chown -R root.mysql /usr/local/mysql

chown -R mysql /usr/local/mysql/data

chown -R root /usr/local/mysql/bin

./bin/safe_mysqld --user=mysql --language=korean &

# 구버전 소스컴파일시
# cd mysql-VERSION-OS
# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
# make
# make install

cd /usr/local/src

sync

echo " "
echo " ### mysql-3.23.53 The End ### "
echo " "
#####################################

# Apache 1차 설치 ####################
echo " ### apache_1.3.27 1th start ### "
echo " "
tar -zxvf apache_1.3.27.tar.gz

tar -zxvf php-4.2.3.tar.gz

cd /usr/local/src/apache_1.3.27

./configure --prefix=/usr/local/apache

sync

echo " "
echo " ### apache_1.3.27 1th The End ### "
echo " "
#####################################

# PHP 설치 ####################
echo " ### php-4.2.3 start ### "
echo " "

cd /usr/local/src/php-4.2.3

./configure --with-apache=/usr/local/src/apache_1.3.27 --with-mysql=/usr/local/mysql --enable-track-vars

make

make install

cd /usr/local/src

sync

echo " "
echo " ### php-4.2.3 The End ### "
echo " "
#####################################

# PyApache 설치 ####################
echo " ### pyapache-4.26 start ### "
echo " "

tar -zxvf pyapache-4.26.tar.gz

mv pyapache-4.26 /usr/local/src/apache_1.3.27/src/modules/PyApache

cd /usr/local/src

sync

echo " "
echo " ### pyapache-4.26 The End ### "
echo " "
#####################################

# Apache 2차 설치 ####################
echo " ### apache_1.3.27 2th start ### "
echo " "

cd /usr/local/src/apache_1.3.27

./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=so --activate-module=src/modules/php4/libphp4.a --activate-module=src/modules/PyApache/mod_pyapache.c

make

make install

# '--enable-shared=max', '--enable-module=so'는 아파치가 DOS를 지원하도록 컴파일하는 옵션

cd /usr/local/src

sync

echo " "
echo " ### apache_1.3.27 2th The End ### "
echo " "
#####################################

# MySQLdb 설치 ####################
echo " ### MySQL-python-0.9.2(MySQLsb) start ### "
echo " "

tar -zxvf MySQL-python-0.9.2.tar.gz

cd MySQL-python-0.9.2

ldconfig 실행

python setup.py build

python setup.py install

cd /usr/local/src

sync

echo " "
echo " ### MySQL-python-0.9.2 The End ### "
echo " "
#####################################

# phpMyAdmin 설치####################
echo " ### phpMyAdmin-2.3.3pl1-php start ### "
echo " "
tar -xvf phpMyAdmin-2.3.3pl1-php.tar

mv phpMyAdmin-2.3.3pl1-php /usr/local/apache/htdocs/phpadmin

cd /usr/local/src

sync

echo " "
echo " ### phpMyAdmin-2.3.3pl1-php The End ### "
echo " "
#####################################

echo " ### 기본설치는 끝났습니다. ### "
echo " "
echo " ### 마무리 작업 중입니다 ### "
echo " ### 약 1분 정도 소요됩니다. ### "
echo " "
echo " "
# 마무리 파일정리 ####################
#
# PHP4 Configure ====================
#
cd /usr/local/src

cp php-dist.ini /usr/local/lib/php.ini
#
# Apache Configure ====================


echo "<? phpinfo(); ?>" >> /usr/local/apache/htdocs/index.html
echo "# To use Python" >> /usr/local/apache/conf/httpd.conf
echo "AddHandler application/x-python-httpd-cgi .py .pyc" >> /usr/local/apache/conf/httpd.conf
echo "# AddHandler python-cgi-script .py" >> /usr/local/apache/conf/httpd.conf
echo "#" >> /usr/local/apache/conf/httpd.conf
echo "# To use PHP4" >> /usr/local/apache/conf/httpd.conf
echo "AddType application/x-httpd-php .php .php3 .inc .html .htm" >> /usr/local/apache/conf/httpd.conf
echo "AddType application/x-httpd-source .phps" >> /usr/local/apache/conf/httpd.conf
echo "# " >> /usr/local/apache/conf/httpd.conf
echo "<Directory "/usr/local/http/htdocs/test">" >> /usr/local/apache/conf/httpd.conf
echo " Options FollowSymLinks MultiViews ExecCGI" >> /usr/local/apache/conf/httpd.conf
# Options 지시자에서 Indexes는 파일이 존재하지 않으면 리스트 출력
# FollowSymLinks는 심블릭 링크가능하게 하는 옵션(파일시스템 열람이 가능하게 됨. 따라서 삭제되어야함)
echo " AllowOverride All" >> /usr/local/apache/conf/httpd.conf
echo " Order allow,deny" >> /usr/local/apache/conf/httpd.conf
echo " Allow from all" >> /usr/local/apache/conf/httpd.conf
echo "</Directory> " >> /usr/local/apache/conf/httpd.conf

echo "# 아파치 설정파일 'httpd.conf' 의 정보노출 제한 " >> /usr/local/apache/conf/httpd.conf
echo "ServerTokens ProductOnly" >> /usr/local/apache/conf/httpd.conf
echo "# ServerSignature Off" >> /usr/local/apache/conf/httpd.conf

chmod 640 /usr/local/apache/conf/httpd.conf

cp /usr/local/src/test.py /usr/local/apache/htdocs/

echo " ### Apache & MySQL을 재구동 하십시오! ### "
echo " # 구동 방법은 아래와 같습니다."
echo " # Apache 구동방법"
echo " # cd /usr/local/apache/bin/"
echo " # ./apachectl restart"
echo " "
echo " # MySQL 구동방법"
echo " # cd /usr/local/mysql"
echo " #./bin/safe_mysql --user=mysql --language=korean &"
echo " # 이렇게 하시면 됩니다."
echo " #######################################"
echo " "
echo " ### 작동 확인 방법 ################################################"
echo " # PHP 확인방법 : 웹브라우즈 주소란에 http://Server_IP/"
echo " # PyApache 확인방법 : 웹브라우즈 주소란에 http://Server_IP/test.py"
echo " # 에러문이나 소스가 바로 보이지 않으면 성공입니다."
echo " #################################################################"


주진은 가 2003 8월 14 4:28 pm에 수정함, 총 1 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기    
주진은



가입:
올린 글: 53
소속: TnS

올리기올려짐: 2003 7월 10 3:10 am    주제: MySQLdb 설정시 수정사항을 안올렸군요! 인용과 함께 답변

MySQLdb 설정시 수정사항을 안올렸군요!
죄송합니다.

MySQLdb 모듈(MySQL-python-버전)을 가져와서 설치를 합니다.
보통 MySQL이 thread 지원이 되지 않게 컴파일이 되어 있더군요!
그래서 setup.py 파일을 약간 수정해야 합니다.

# setup.py

YES = 1
NO = 0

# set this to YES if you have the thread-safe mysqlclient library

thread_safe_library = NO
----

thread_safe_library = YES 로 되어 있는 것을 NO 로 수정을 합니다.
YES 값 그대로 build 를 하면 설치중에 에러가 납니다.

그리고 setup.py 내용중에 /usr/local/mysql과 같은 경로 설정부분이 있습니다. mysql경로를 다시 설정해주시면 셋팅은 쉽게 될겁니다.

일단 이렇게 해야 MySQL 과 python 을 연결해줄 모듈을 성공적으로 설치할수 있습니다.

문서에 빠트린점 죄송합니다.
위로
사용자 정보 보기 비밀 메시지 보내기    
주진은



가입:
올린 글: 53
소속: TnS

올리기올려짐: 2003 8월 14 4:34 pm    주제: 추가 내용입니다. 아무도 질문을 하지 않으시 인용과 함께 답변

추가 내용입니다. 아무도 질문을 하지 않으시는군요!ㅋㅋ
pyapache설치시 문제가있었는데...

pyapache설치시 문제는 alloc.h부분과 python1.5부분입니다.

위의 설치법에서 제가 python2.2를 설치하였기 때문에 python1.5는 기본 설치되어 있지 않다면 문제가 당근 발생하구요!
alloc.h는 그럼 파일이 존재하지 않기때문에 문제가 발생합니다.

그럼 해결방법을 작성하겠습니다.

해결방법은

먼저 pyapache 소스가 있는 디렉토리로이동하여 Makefile, Makefile.tmp파일내의 alloc.h라는 문구를 찾아 alloc.h를 ap_alloc.h로 변경하십시오.

둘째 python1.5라는 부분은 pyapache소스가있는 디렉토리의 모든 파일의 내용을 뒤져서 python1.5로 되어 있는 부분을 python2.2로 변경하십시오.

이렇게 변경후 위의 설치법을 적용하면 멋진 python 웹을 구현하십수 있을겁니다. ㅋㅋㅋ
위로
사용자 정보 보기 비밀 메시지 보내기    
이전 글 표시:   
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 팁/강좌/모듈소개 모음 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다



Powered by phpBB © 2001, 2005 phpBB Group
회선/장비: Daum DNA , 관리: 장혜식,서상현