Django 1.0.x PostgreSQL 8.3 MySQL 5.0 Apache 2
apt-get:
——————
$ sudo
apt-get install python-psycopg2 python-psycopg postgresql-8.2
postgresql-client-8.2 apache2 libapache2-mod-python subversion pgadmin3
pgadmin3-data openssh-server
Django:
——————
Final Version:
mkdir web
cd web
tar xzvf Django-1.0.2-final.tar.gz
cd Django-1.0.2-final
sudo python setup.py install
Dev Version:
mkdir web
cd web
Web$ svn co http://code.djangoproject.com/svn/django/trunk/ django_src
Same for both Version:
Web$ sudo ln -s `pwd`/django_src/django /usr/lib/python2.5/site-packages/djangoWeb$ sudo cp `pwd`/django_src/django/bin/django-admin.py /usr/local/bin
Web$ mkdir django_projects
Web$ mkdir django_templates
Web$ mkdir media
Web$ cd ..
$ sudo gedit .bashrc
export PYTHONPATH=”.:$HOME/web/django_projects”
CLOSE SHELL, AND TO OPEN NEW ONE
$ cd /var/www
--this is the folder where Apache is installed
/var/www$ sudo ln -s ~/web/media media
/var/www$ sudo ln -s ~/web/django_src/django/contrib/admin/media admin_media$ cd ~/web/django_projects
/web/django_projects$ django-admin.py startproject django_test
MySQL:
————
sudo apt-get mysql-serverPostgreSQL:
——————
/web/django_projects$ cd ~
$ sudo gedit /usr/share/applications/pgadmin.desktop
$ sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD ‘password’;
template1=# \q
--ADD BELOW INTO THE FILE:
[Desktop Entry] Comment= PostgreSQL Administrator III
Name=pgAdmin III
Encoding=UTF-8
Exec=pgadmin3
Terminal=false
Comment[en_GB]=PostgreSQL Administrator III
Icon=/usr/share/pixmaps/pgadmin3.xpm
Type=Application
Categories=GNOME;Application;Database;System;
Name[en_GB]=pgAdmin III
$ sudo su postgres -c createuser xxd
$ sudo gedit /etc/postgresql/8.3/main/postgresql.conf
CHANGE #listen_addresses = ‘localhost’
to listen_addresses = ‘*’
AND #password_encryption = on
to password_encryption = on$ sudo gedit /etc/postgresql/8.3_add/main/pg_hba.conf
# DO NOT DISABLE!
# If you change this first entry you will need to make sure
# that the database super user can access the database using
# some other method.
# Noninteractive access to all databases is required during
automatic maintenance
# Database administrative login by UNIX sockets
# (autovacuum, daily cronjob, replication, and similar tasks).
# local all postgres ident sameuser# TYPE DATABASE USER CIDR-ADDRESS METHOD
# “local” is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5$ sudo /etc/init.d/postgresql-8.3 restart
settings.py
————————————
$ cd web/django_projects/django_test/
/web/django_projects/django_test$ gedit settings.py# Django settings for osmrc_test_suite project.
DEBUG = True #turn this off for a production site
TEMPLATE_DEBUG = DEBUGADMINS = (
(’xxd’, ‘xxd@gmail.com’),
)MANAGERS = ADMINS
DATABASE_ENGINE = ‘postgresql’ # ‘postgresql_psycopg2′, ‘postgresql’, ‘mysql’, ’sqlite3′ or ‘oracle’.
DATABASE_NAME = ’some_db_name’ # Or path to database file if using sqlite3.
DATABASE_USER = ‘vern’ # Not used with sqlite3.
DATABASE_PASSWORD = ’some_password’ # Not used with sqlite3.
DATABASE_HOST = ” # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ” # Set to empty string for default. Not used with sqlite3.# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be avilable on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = ‘America/Manaus’# Language code for this installation. All choices can be found here:
# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
LANGUAGE_CODE = ‘en-us’SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True# Absolute path to the directory that holds media.
# Example: “/home/media/media.lawrence.com/”
# This is the folder we created
MEDIA_ROOT = ‘/home/xxd/web/media’# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: “http://media.lawrence.com”, “http://example.com/media/”
MEDIA_URL = ‘http://127.0.0.1/media/’# URL prefix for admin media — CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: “http://foo.com/media/”, “/media/”.
# this is the apache synlink we created
ADMIN_MEDIA_PREFIX = ‘/admin_media/’# Make this unique, and don’t share it with anybody.
SECRET_KEY = ‘^1z1!!@@@@100ej*_fd8(md421j_vj9c)4r*=4i!+-phvtk5a7$’# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
‘django.template.loaders.filesystem.load_template_source’,
‘django.template.loaders.app_directories.load_template_source’,
# ‘django.template.loaders.eggs.load_template_source’,
)MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.middleware.doc.XViewMiddleware’,
)#CACHE_BACKEND = ‘memcached://127.0.0.1:11211/’
#CACHE_MIDDLEWARE_SECONDS = 300
#CACHE_MIDDLEWARE_KEY_PREFIX = ‘osmrc_test_suite_’
#CACHE_MIDDLEWARE_ANONYMOUS_ONLY = TrueROOT_URLCONF = ‘osmrc_test_suite.urls’
TEMPLATE_DIRS = (
“/home/xxd/web/django_templates”
# Put strings here, like “/home/html/django_templates” or “C:/www/django/templates”.
# Always use forward slashes, even on Windows.
# Don’t forget to use absolute paths, not relative paths.
)INSTALLED_APPS = (
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.sites’,
‘django.contrib.admin’,
)/web/django_projects/django_test$ pyton manage.py syncdb
/web/django_projects/django_test$ gedit urls.py
# Uncomment this for admin:
(r’^admin/’, include(’django.contrib.admin.urls’)),
Configure Apache and mod_python:
——————————–——————————–——————————–
参阅 `如何搭配 mod_python 运行 Django`_ 学习 mod_python 在安装之后如何配置
Apache: http://httpd.apache.org/
mod_python: http://www.modpython.org/
WSGI: http://www.python.org/peps/pep-0333.html
如何搭配 mod_python 运行 Django: http://www.djangoproject.com/documentation/modpython/
server-arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements
$ python django-admin.py startproject myproject
$ e settings.py
按照你的不同情况设定不同的参数,然后你就可以执行
$ python manage.py runserver [port]
/web/django_projects/django_test$ sudo gedit /etc/apache2/httpd.confMaxRequestsPerChild 1
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE django_test.settings
PythonPath “['/home/xxd/web/django_projects'] + sys.path”
PythonDebug On
SetHandler None
SetHandler None
SetHandler None$ sudo apache2ctl -k restart
the error below can be ignored:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
In web brower:
http://localhost/mysite/
Reference:
http://ianlawrence.info/random-stuff/set-up-django-apache-and-postgresql-on-ubuntu-feisty
http://www.ibm.com/developerworks/cn/linux/l-django/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架