我有相同的問題並記錄了我的安裝一步一步。這是相當長的:你可以在my blog找到它。
這將幫助你有以下:
- 工作副本
- Django的
- PIL
- 成像
- 的libjpeg
- MySQL的
- 混帳
- 阿帕奇
- mod_wsgi的
- 的easy_install
- PIP
- Django的imagekit
- CDN在CentOS 5.4
存儲設備安裝Apache,MySQL和SQLite和其他開發人員包
yum install httpd-devel mysql mysql-server
yum install mysql-client mysql-devel
yum install apr-devel sqlite3 sqlite-devel
yum install libjpeg libpng gcc make autoconf
yum install libxslt gettext zlib-devel
yum groupinstall "GNOME Desktop Environment"
yum groupinstall "Development Tools"
本教程將假設您在生產和喲上使用MySQL你也可以使用SQLite進行開發。如果您正在使用PostgreSQL等其他數據庫,那麼您應該立即安裝這些文件。另外,請注意,這些並不是您的網絡服務器需要的唯一軟件包,爲了讓您的django應用程序正常工作,這應該被視爲最低限度。
添加新用戶
groupadd webmaster
useradd -c "username" -g webmaster -m -s /bin/bash username
passwd username
passw0rd
visudo
近線77的地方寫着「根ALL =(ALL)添加 用戶名ALL =(ALL)
從這裏,你可以改變你的用戶按原樣離開root帳戶。 如果您發現某些項目的不想跑,你應該使用sudo命令
沿的Python 2.4
訣竅的側面安裝Python 2.6,這是讓的Python 2.6在CentOS 5.4的工作不會破壞任何東西是將其安裝在默認的Python 2.4的旁邊。不要嘗試更新默認的Python 2.4,因爲重要的CentOS模塊需要2.4。爲此,您將配置python以安裝在/opt/python2.6中。在你做這一步之前,確保你已經安裝了yum sqlite-devel,因爲python會在你編譯python時尋找sqlite頭文件來爲它構建模塊。
wget http://www.python.org/ftp/python/2.6.4/Python-2.6.4.tgz
tar -zxvf Python-2.6.4.tgz
cd Python-2.6.4
./configure --prefix=/opt/python2.6 --with-threads --enable-shared --with-zlib=/usr/include
make
make install
cd ~
將Python安裝到/opt/Python2.6後,您需要創建符號鏈接。
ln -s /opt/python2.6/lib/libpython2.6.so /usr/lib
ln -s /opt/python2.6/lib/libpython2.6.so.1.0 /usr/lib
ln -s /opt/python2.6/bin/python /usr/local/bin/python
ln -s /opt/python2.6/bin/python /usr/bin/python2.6
ln -s /opt/python2.6/lib/python2.6.so /opt/python2.6/lib/python2.6/config/
運行ldconfig更新鏈接到你的共享庫,然後檢查你的Python版本,以確保您現在可以使用2.6。此外,使用yum來測試Python 2.4和2.6之間是否存在任何衝突。如果確實有問題,請仔細檢查符號鏈接,並確保您不與/ usr/bin/python或/usr/bin/python2.4衝突。
/sbin/ldconfig -v
python -V
yum info httpd
安裝setuptools,MySQL擴展和Django的1.1
如果以前安裝setuptools的,但你需要爲2.6再做,這樣的軟件包安裝在/opt/python2.6。爲了在Django中使用MySQL,您需要下載,構建和安裝它的擴展。
wget http://bit.ly/6E0DNN
chmod u+x setuptools-0.6c11-py2.6.egg
./setuptools-0.6c11-py2.6.egg --prefix=/opt/python2.6
wget http://bit.ly/6j4uID
tar -zxvf MySQL-python-1.2.3c1.tar.gz
cd MySQL-python-1.2.3c1
python setup.py build
python setup.py install
cd ..
wget http://www.djangoproject.com/download/1.1.1/tarball/
tar -zxvf Django-1.1.1.tar.gz
cd Django-1.1.1
python setup.py build
python setup.py install
cd ..
設置和安裝mod_wsgi的
大多數Django的社區使用WSGI與Web服務器接口的方式。我也更喜歡使用它,因爲它安裝快速而且非常簡單。本教程不會設置您的應用程序使用wsgi(但是,我將在最後給出一個示例),但django項目有一個很好的教程。請注意,這一步非常重要。您可能以前使用yum安裝過mod_wsgi,但您需要下載它並使用新的2.6版來構建它,以便它可以與您的應用程序一起使用。
wget http://modwsgi.googlecode.com/files/mod_wsgi-2.8.tar.gz
tar -zxvf mod_wsgi-2.8.tar.gz
cd mod_wsgi-2.8
./configure --with-python=/usr/local/bin/python
make
make install
cd ..
然後你將需要編輯你的Apache httpd.conf來加載mod_wsgi模塊。這個完成後重啓Apache。
vi /etc/httpd/conf/httpd.conf
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
line 787
AddHandler wsgi-script .wsgi
確保一旦模塊被加載
/etc/init.d/httpd restart
爲您的虛擬主機創建一個單獨的目錄,你的Apache重新啓動
我喜歡的房子我所有的虛擬主機在一個單獨的目錄
cd /etc/httpd/conf
mkdir vhosts
cd vhosts
vi mysite.com.conf
<VirtualHost 127.0.0.1>
ServerName localhost
ErrorLog /www/django_test1/mysite/logs/error_log
CustomLog /www/django_test1/mysite/logs/access_log combined
UseCanonicalName Off
Alias /media/ "/www/django_test1/mysite/media/"
<Directory "/www/django_test1/mysite/media">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
Alias /mediaadmin/ "/opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/"
<Directory "/opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
WSGIScriptAlias//www/django_test1/mysite.wsgi
WSGIDaemonProcess mysite processes=7 threads=1 display-name=%{GROUP}
WSGIProcessGroup mysite
WSGIApplicationGroup %{GLOBAL}
</VirtualHost>
創建您的mod_wsgi文件
根據我在線完成的一些搜索,最好將mod_wsgi文件留在應用程序的父文件夾中。
mkdir /www
cd /www
mkdir django_test1
cd django_test1
vi mysite.wsgi
#!/opt/python2.6/bin/python
import os, sys
sys.path.append('/www/django_test1/mysite')
sys.path.insert(0, '/www/django_test1')
sys.path.insert(0, '/www/django_test1/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
os.environ['PYTHON_EGG_CACHE'] = '/www/django_test1/mysite/.python-eggs'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
保存文件
創建.python雞蛋目錄的mysite
mkdir .python-eggs
chmod -R 777 .python-eggs
http://mikecantelon.com/story/installing_django_on_centos_5
啓動MySQL服務器
上CENTOS
安裝PIL
http://athenageek.wordpress.com/2009/06/09/easy_install-pil-not-so-easy/
在順序安裝PIP使用成像
/opt/python2.6/bin/easy_install-2.6 pip
/opt/python2.6/bin/pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz
安裝GIT
http://www.bitsandpix.com/entry/git-installing-git-on-centos-5/
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
yum install git
配置MySQL與另一用戶
mysql --user=root mysql
CREATE USER 'webdev'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'webdev'@'localhost'
IDENTIFIED BY 'password' WITH GRANT OPTION;
創建一個Django項目
/opt/python2.6/bin/django-admin.py startproject mysite
在項目中創建一個日誌目錄,因爲這是需要的mod_wsgi和Apache
cd mysite
mkdir logs
符號鏈接你的管理媒體文件夾
mkdir media
chmod -R 777 media
mkdir mediaadmin
ln -s /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media /www/django_test1/mysite/mediaadmin/
配置您的/etc/httpd/conf/httpd.conf文件包含您的項目基本設置
ServerAdmin [email protected]
HostName appelvm01.centos
ServerName 127.0.0.1
DocumentRoot "/www/django_test1/mysite"
<Directory "/www/django_test1/mysite">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
包括VirtualHosts設置文件
Include conf/vhosts/*.conf
添加WSGISocketPrefix到文件httpd.conf文件的末尾
WSGISocketPrefix /var/run/wsgi
確保主機名是等於一個在Apache中的conf的/ etc/httpd的/ conf目錄/ httpd的。通過運行
hostname "new_name"
授予權限
chcon -R -h -t httpd_sys_content_t /www/django_test1/mysite
我覺得這wasnt不夠好,所以我不得不關閉SELinux的
vi /etc/selinux/config
設置
SELINUX=disabled
的conf 別的變化根據博客中刪除您-Indexes http://www.thelinuxblog.com/apache-directory-index-forbidden-by-options-directive/
vi /etc/httpd/conf.d/welcome.conf
# -Indexes
Indexes
配置防火牆
sudo vi /etc/sysconfig/iptables-config
確保選中下面的變量設置爲「yes」: IPTABLES_SAVE_ON_STOP = 「是」 IPTABLES_SAVE_ON_RESTART = 「是」
打開網頁端口:
sudo /sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED --dport 80 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED --dport 443 -j ACCEPT
重新啓動iptables: sudo/sbin/service iptables stop sudo/sbin/service iptables start 請確保規則仍在。嘗試重新啓動服務器,以確保啓動設置。
確保你的MySQL和Apache是重啓後總是
/sbin/chkconfig --add httpd
/sbin/chkconfig --level 2345 httpd on
/sbin/chkconfig --list httpd
/sbin/chkconfig --add mysqld
/sbin/chkconfig --level 2345 mysqld on
/sbin/chkconfig --list mysqld
通過easy_install的安裝南方,以便輕鬆分貝遷移
/opt/python2.6/bin/easy_install-2.6 South
安裝Django的cumuls爲Rackspace公司/ CDN存儲
/opt/python2.6/bin/pip install django-cumulus
/opt/python2.6/bin/pip install -r http://bitbucket.org/richleland/django-cumulus/raw/0.3.3/requirements.txt
/opt/python2.6/bin/easy_install-2.6 django-imagekit
你現在應該可以去你的服務器的IP地址,一個你應該看到一個歡迎屏幕!
從這裏開始,您可以開始開發您的應用程序,您應該能夠啓用管理員自動發現並設置網址,以便您可以訪問管理部分。
請更精確什麼您需要採取哪些步驟來查看問題以及您所看到的錯誤回溯。 –