Django, 설정법
Projects/Sea Story 2010. 7. 19. 16:09
ubuntu에서 django 설치
-- Mod_wsgi 가 아닌 그냥 바로 붙여버리는 방법 --
tool for tools 2008/03/26 18:34
웹 어플리케이션을 작성하기 위한 대표적인 framework 은 ruby on rails 다. 하지만 내가 잘 모르는 ruby 를 사용하려니 왠지 막막하고, 더구나, 웹서버와 ruby의 연동을 위한 웹서버 설정은 나를 더 갑갑하게 했다. 내게 친숙한 python 으로 어케 좀 해 볼수 없을까 해서 django 를 알아보니 우부툰에 마침 패키징 되어 있어서 쉽게 설정을 마쳤다. 개인 프로젝트에 굳이 framework 을 사용할 필요가 있을까 했지만, 공부하는 셈 치고 이왕이면 처음부터 체계적으로 작성해 나가는게 나을 것 같았다. django 메인 페이지에 적혀 있는 DRY(Don't Repeat Yourself) 처럼, 폼 만들고, 예외처리 스크립트 넣고 하는 반복 작업을 하느니 차라리 그 시간에 다른 공부를 하는게 낫다 생각했다. 물론 이 framework 을 공부하는 시간 또한 못잖겠지만, 한번 알아두면 좋지 않은가.
여기서는 django를 우분투(Hardy) 상에서 apache2, mod_python 으로 설치 하는 것에 대해 간략한 설명을 한다.
주의할 것은 apache2 패키지를 설치할때 기본적으로 설치 되는 패키지는 apache2-mpm-worker 이다. mod_python 과 사용하기 위해서는 apache2-mpm-prefork 패키지를 설치해야 한다(아래 reference 1 참고). libapache2-mod-python 패키지를 설치할때 의존성에 의해 apache2-mpm-worker 패키지를 지우고 apache2-mpm-prefork 패키지로 재 설치 되긴 하지만, 혹시 몰라서 적는다
이렇게 하면 django 패키지가 설치 됐다. 제대로 설치 되었는지 궁금할텐데, 프로젝트 디렉토리 설정을 해서 확인을 해보자.
우분투의 apache2 디렉토리 구성은 이렇다.
/var/www/yogy 디렉토리를 프로젝트 디렉토리로 해서 http://localhost/yogy 를 호출해 보도록 하겠다.
이 내용을 /etc/apache2/httpd.conf 안에 넣는다.
Location "/yogy/"
SetEnv DJANGO_SETTINGS_MODULE yogy.settings
PythonPath "['/var/www'] + sys.path"
이 세 줄이 중요하다.
Location 은 프로젝트의 URI를 지정하는 것이고 디렉토리를 지칭하는 것이 아니다. 따라서 파일 시스템상의 위치는 /var/www/yogy 가 되겠다.
다음으로 yogy.settings 는 yogy 프로젝트에서 settings.py 파일을 설정 정의 파일로 사용한다는 것이다.
마지막은 python 경로 지정을 해준다. 기본 시스템 경로에 웹서버의 루트의 경로를 추가해서 웹서버 루트 디렉토리에 아래에 있는 우리의 파이썬 프로젝트 모듈들을 로드 할 수 있게 한다.
django 공식 홈의 How To use Django with mod_python 문서에는 여기까지만 나와 있어서 처음엔 저 yogy.settings 를 어떻게 하라는건지 막막했다. 직접 yogy 디렉토리에 settings.py 빈 파일도 만들어 보고 했는데 에러 메시지만 출력하고 동작하지 않는다. 약간의 삽질을 하다 보니 관리 프로그램이 있었다. (아래 reference 2 참고)
해 보면 /usr/bin/django-admin 이 있음을 알 수 있을 것이다.
그냥 실행해 보면 여러가지 옵션이 나오는데 그 중에 startproject 가 있다.
이렇게 실행하면 yogy 디렉토리를 만들고 그 안에 몇가지 스켈레톤 파일들을 복사해 준다. 거기에 settings.py 도 발견 할 수 있을 것이다.
이제 브라우저에서 http://localhost/yogy 를 열어보자.
It worked! 가 출력되는 페이지를 볼 수 있을 것이다.
이제 django 로 멋진 사이트를 만들기만 하면 된다!!!
이 외 각 언어별 추천할 만한 framework 을 적어둔다
Spring http://www.springframework.org/ java
Ruby on Rails http://www.rubyonrails.org/ ruby
TurboGears http://www.turbogears.org/ python
Cake http://www.cakephp.org/ php
reference :
1. http://www.djangoproject.com/documentation/0.96/modpython/ mod_python 설정에 관한 페이지다.
우분투에 패키징 되어 있는 django 는 0.96 버전이다. 최신 버전을 사용한다면 http://www.djangoproject.com/documentation/modpython/ 를 참고한다.
2. http://www.djangoproject.com/documentation/install/ 여기에는 django-admin 프로그램에 관한 내용이 언급이 되어 있다. 우분투를 사용한다면 apt-get 만으로 충분하지만, 설치 관련 내용이 궁금하다면 이 페이지를 참고 한다.
/////http://iam312.pe.kr/trackback/264 여기서 퍼왔음을 명시합니다 ㅠㅠ ////////
여기서는 django를 우분투(Hardy) 상에서 apache2, mod_python 으로 설치 하는 것에 대해 간략한 설명을 한다.
$ sudo apt-get install apache2-mpm-prefork
$ sudo apt-get install libapache2-mod-python
$ sudo apt-get install python-django
$ sudo apt-get install libapache2-mod-python
$ sudo apt-get install python-django
주의할 것은 apache2 패키지를 설치할때 기본적으로 설치 되는 패키지는 apache2-mpm-worker 이다. mod_python 과 사용하기 위해서는 apache2-mpm-prefork 패키지를 설치해야 한다(아래 reference 1 참고). libapache2-mod-python 패키지를 설치할때 의존성에 의해 apache2-mpm-worker 패키지를 지우고 apache2-mpm-prefork 패키지로 재 설치 되긴 하지만, 혹시 몰라서 적는다
이렇게 하면 django 패키지가 설치 됐다. 제대로 설치 되었는지 궁금할텐데, 프로젝트 디렉토리 설정을 해서 확인을 해보자.
우분투의 apache2 디렉토리 구성은 이렇다.
/etc/apache2 아래에 설정이 들어 있다.
/var/www 여기는 웹서버의 루트 디렉토리이다.
/var/www 여기는 웹서버의 루트 디렉토리이다.
/var/www/yogy 디렉토리를 프로젝트 디렉토리로 해서 http://localhost/yogy 를 호출해 보도록 하겠다.
<Location "/yogy/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE yogy.settings
PythonPath "['/var/www'] + sys.path"
PythonDebug On
</Location>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE yogy.settings
PythonPath "['/var/www'] + sys.path"
PythonDebug On
</Location>
이 내용을 /etc/apache2/httpd.conf 안에 넣는다.
Location "/yogy/"
SetEnv DJANGO_SETTINGS_MODULE yogy.settings
PythonPath "['/var/www'] + sys.path"
이 세 줄이 중요하다.
Location 은 프로젝트의 URI를 지정하는 것이고 디렉토리를 지칭하는 것이 아니다. 따라서 파일 시스템상의 위치는 /var/www/yogy 가 되겠다.
다음으로 yogy.settings 는 yogy 프로젝트에서 settings.py 파일을 설정 정의 파일로 사용한다는 것이다.
마지막은 python 경로 지정을 해준다. 기본 시스템 경로에 웹서버의 루트의 경로를 추가해서 웹서버 루트 디렉토리에 아래에 있는 우리의 파이썬 프로젝트 모듈들을 로드 할 수 있게 한다.
django 공식 홈의 How To use Django with mod_python 문서에는 여기까지만 나와 있어서 처음엔 저 yogy.settings 를 어떻게 하라는건지 막막했다. 직접 yogy 디렉토리에 settings.py 빈 파일도 만들어 보고 했는데 에러 메시지만 출력하고 동작하지 않는다. 약간의 삽질을 하다 보니 관리 프로그램이 있었다. (아래 reference 2 참고)
$ whereis django-admin
django-admin: /usr/bin/django-admin
django-admin: /usr/bin/django-admin
해 보면 /usr/bin/django-admin 이 있음을 알 수 있을 것이다.
그냥 실행해 보면 여러가지 옵션이 나오는데 그 중에 startproject 가 있다.
$ cd /var/www
$ django-admin startproject yogy
$ django-admin startproject yogy
이렇게 실행하면 yogy 디렉토리를 만들고 그 안에 몇가지 스켈레톤 파일들을 복사해 준다. 거기에 settings.py 도 발견 할 수 있을 것이다.
이제 브라우저에서 http://localhost/yogy 를 열어보자.
It worked! 가 출력되는 페이지를 볼 수 있을 것이다.
이제 django 로 멋진 사이트를 만들기만 하면 된다!!!
이 외 각 언어별 추천할 만한 framework 을 적어둔다
Spring http://www.springframework.org/ java
Ruby on Rails http://www.rubyonrails.org/ ruby
TurboGears http://www.turbogears.org/ python
Cake http://www.cakephp.org/ php
reference :
1. http://www.djangoproject.com/documentation/0.96/modpython/ mod_python 설정에 관한 페이지다.
우분투에 패키징 되어 있는 django 는 0.96 버전이다. 최신 버전을 사용한다면 http://www.djangoproject.com/documentation/modpython/ 를 참고한다.
2. http://www.djangoproject.com/documentation/install/ 여기에는 django-admin 프로그램에 관한 내용이 언급이 되어 있다. 우분투를 사용한다면 apt-get 만으로 충분하지만, 설치 관련 내용이 궁금하다면 이 페이지를 참고 한다.
/////http://iam312.pe.kr/trackback/264 여기서 퍼왔음을 명시합니다 ㅠㅠ ////////
우분투에서 아파치 서버 설정할 때 및 서버 설정파일이 다름을 알자!
Projects/Sea Story 2010. 7. 12. 19:42
우분투 : 아파지 서버의 설정 방법
일반적으로 아파치의 경우 httpd.conf 파일에서 설정을 해주는걸로 알고 있었는데, 우분투로 아파치를 설치했더니 httpd.conf 에는 아무것도 없었다. 그래서 인터넷 검색을 해봤더니 아래 설명들을 확인할수 있다. 다음에 같은 실수를 막기 위해서 기록...
아파치 서버 설정파일 :
/etc/apache2/sites-available/default
설정 파일을 수정하고 아파치를 재구동해야 한다.
sudo /etc/init.d/apache2 restart
적용된 내용을 아래 내용에서 확인 할수 있다.
/etc/apache2/sites-enable/default
퍼왔음.. -_-;;
그리고 간단한거긴 하지만 Mysql 쓸때
mysql -uroot -p
이게 명령어임을 잊지 말자.. 한 3분동안 찾아 헤멤..=_=;;
아 아직 진짜 깜깜 멀었다 ㅠㅠ
설정 파일을 수정하고 아파치를 재구동해야 한다.
sudo /etc/init.d/apache2 restart
적용된 내용을 아래 내용에서 확인 할수 있다.
/etc/apache2/sites-enable/default
퍼왔음.. -_-;;
그리고 간단한거긴 하지만 Mysql 쓸때
mysql -uroot -p
이게 명령어임을 잊지 말자.. 한 3분동안 찾아 헤멤..=_=;;
아 아직 진짜 깜깜 멀었다 ㅠㅠ
[서버셋팅] 우분투에 아파치 설정 및 mysql 설치
Projects/Sea Story 2010. 7. 3. 16:32
4.3.1 apache 설정
먼저 apache를 설정을 하는 방법은 아래와 같은 명령어로 설정을 한다.
[그림 4-9] apache 설정을 하는 명령어
4.3.2 Mysql 인증 모듈 설정
[그림 4-9]의 명령어를 실행시키면 apache를 다운로드하고 설정을 한다. 우분투를 이런게 편리한 것 같다 이전에 비해서….말이지.
그 다음에는 Mysql 인증을 위한 모듈을 설치를 한다. 명령어를 아래와 같다.
[그림 4-10] mysql 인증 모듈 설정
4.3.3 Mysql 설치
[그림 4-10] 에서 인증 모듈을 설치하였으면 이제 mysql을 설치해본다 명령어는 아래와 같다.
[그림 4-11] mysql 설치
[그림 4-12] mysql root user 설정
[그림 4-12]는 mysql root user에 대한 password를 설정을 하는 화면이다 password를 설정을 해주면 된다.