Django 설치 · 3 min read · Dec 04, 2025
Mandriva 2008.1에 Django 설치하는 방법 (Apache2/mod_python)
Mandriva 2008.1에 Django 설치하는 방법 (Apache2/mod_python)
버전 1.0
저자: Falko Timme
이 튜토리얼은 Mandriva 2008.1 서버에 Django를 설치하는 방법을 설명합니다. Django는 가능한 한 많은 자동화로 Python 웹 애플리케이션을 빠르게 개발할 수 있게 해주는 웹 프레임워크입니다. 이 가이드에서는 Apache2와 mod_python을 사용할 것입니다.
이 방법은 실용적인 가이드를 위한 것이며, 이론적 배경은 다루지 않습니다. 이론적 배경은 웹의 많은 다른 문서에서 다루어집니다.
이 문서는 어떤 종류의 보증 없이 제공됩니다! 이는 이러한 시스템을 설정하는 유일한 방법이 아님을 말씀드리고 싶습니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 제가 선택한 방법입니다. 이것이 당신에게 작동할 것이라는 보증을 제공하지 않습니다!
1 MySQL 설치
패키지를 설치하기 전에, main, main_updates, contrib, contrib_updates 저장소를 활성화해야 합니다. http://easyurpmi.zarb.org/로 가세요 - 이곳에서 이러한 저장소를 활성화하는 데 필요한 명령을 제공받을 수 있습니다. 제 경우에는 다음과 같이 실행했습니다.
urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.czDjango는 PostgreSQL, MySQL, SQLite 등 여러 데이터베이스 백엔드를 사용할 수 있습니다. MySQL을 사용하려면 다음과 같이 설치할 수 있습니다:
urpmi MySQL MySQL-client기본적으로 Mandriva 2008.1의 MySQL 패키지에서는 네트워킹이 활성화되어 있지 않습니다. 우리는 /etc/my.cnf에서 skip-networking 줄의 주석을 제거하여 이를 변경할 수 있습니다:
vi /etc/my.cnf| [...] # TCP/IP 포트에서 전혀 수신하지 않습니다. 이는 모든 프로세스가 동일한 호스트에서 mysqld에 연결해야 할 경우 보안 향상이 될 수 있습니다. # mysqld와의 모든 상호작용은 Unix 소켓 또는 명명된 파이프를 통해 이루어져야 합니다. # 이 옵션을 사용하면서 Windows에서 명명된 파이프를 활성화하지 않으면 # ("enable-named-pipe" 옵션을 통해) mysqld가 쓸모없게 됩니다! # #skip-networking [...] |
그 후, MySQL의 시스템 시작 링크를 생성합니다…
chkconfig mysqld on… 그리고 시작합니다:
/etc/init.d/mysqld start이제 네트워킹이 활성화되어 있는지 확인합니다. 다음을 실행하세요:
netstat -tap | grep mysql출력은 다음과 같아야 합니다:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3746/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3754/mysqld
[root@server1 ~]#다음 명령을 실행하여 root 사용자에 대한 비밀번호를 설정합니다 (그렇지 않으면 누구나 MySQL 데이터베이스에 접근할 수 있습니다!).
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword2 Apache 및 mod_python 설치
시스템에 Apache2와 mod_python이 설치되어 있지 않다면, 다음과 같이 설치할 수 있습니다:
urpmi apache-mod_python(이 명령은 Apache2가 설치되어 있지 않은 경우 Apache2도 설치합니다.)
3 Django 설치
Django와 Python MySQL 바인딩을 설치하기 위해 다음을 실행합니다:
urpmi python-django python-mysql4 Apache 구성
Apache를 구성하기 전에 Django 프로젝트(예: mysite라고 부름)를 생성해야 합니다 (http://www.djangoproject.com/documentation/tutorial01/ 참조). 보안상의 이유로 저는 이 프로젝트를 문서 루트 외부에 생성합니다 (여기서는 기본 Mandriva 문서 루트 /var/www/html을 사용하고 있습니다) (예: /home/mycode에 생성):
mkdir /home/mycode
cd /home/mycode
/usr/bin/django-admin.py startproject mysite이렇게 하면 /home/mycode/mysite 디렉토리에 몇 개의 Python 파일이 생성됩니다.
이제 mysite 프로젝트가 생성되었으므로 Apache를 구성할 수 있습니다. 저는 원본 /etc/httpd/modules.d/16_mod_python.conf 파일의 백업 복사본을 만들고 다음과 같이 새 파일을 생성합니다:
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
(이 구성은 /var/www/html의 기본 Mandriva vhost에 유효합니다 - Django를 사용하고 싶은 다른 vhost를 이미 정의한 경우,
첫 번째 줄의 경로 (
그 후 Apache를 재시작합니다:
/etc/init.d/httpd restart이제 브라우저에서 http://www.example.com/mysite에 접근할 수 있습니다. 모든 것이 잘 진행되었다면, 다음과 같은 화면이 나타나야 합니다:

이는 Django가 성공적으로 설치되었음을 의미하며, 이제 이를 사용하여 Python 웹 애플리케이션을 개발할 수 있습니다 (Django로 웹 애플리케이션을 개발하는 방법은 http://www.djangoproject.com/documentation/에서 참조하십시오).
5 Django 프로젝트에서 MySQL 데이터베이스에 연결
Django 프로젝트에서 MySQL 데이터베이스를 사용하려면 먼저 해당 데이터베이스(예: mysite)와 해당 데이터베이스에 대한 데이터베이스 사용자(예: mysiteadmin)를 생성해야 합니다:
mysql -u root -pCREATE DATABASE mysite;
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY 'mysiteadmin_password';
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost.localdomain' IDENTIFIED BY 'mysiteadmin_password';
FLUSH PRIVILEGES;
quit;그런 다음 프로젝트 폴더(예: /home/mycode/mysite)에서 settings.py 파일을 열고 데이터베이스 설정을 다음과 같이 수정합니다:
vi /home/mycode/mysite/settings.py| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' 또는 'ado_mssql'. DATABASE_NAME = 'mysite' # sqlite3를 사용하는 경우 데이터베이스 파일의 경로. DATABASE_USER = 'mysiteadmin' # sqlite3에서는 사용되지 않음. DATABASE_PASSWORD = 'mysiteadmin_password' # sqlite3에서는 사용되지 않음. DATABASE_HOST = '' # localhost의 경우 빈 문자열로 설정. sqlite3에서는 사용되지 않음. DATABASE_PORT = '' # 기본값의 경우 빈 문자열로 설정. sqlite3에서는 사용되지 않음. [...] |
6 링크
- Django: http://www.djangoproject.com
- Python: http://www.python.org
- Mandriva: http://www.mandriva.com
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.