/ 中存储网

Apache+MySQL+PHP+Python+Django安装过程详解

2015-11-17 17:03:49 来源:ITJS.CN

比较起在windows环境下安装,ubuntu环境下要简单许多,因为许多程序包都是可以apt-get命令来安装,我的所有安装过程也都是用了apt包里面的文件。以下是安装步骤。

一,配置安装apache+mysql+php5+phpmyadmin

一,统一将所需要使用的环境包全部安装,之后再配置环境。如果想删除文件使用apt-get autoremove

这些软件包都可以在http://packages.ubuntu.com/里面搜索得到相关信息

命令如下:

sudo apt-get install apache2 # 安装apache2服务器

sudo apt-get install mysql-server # 安装mysql服务器

由于使用phpMyAdmin进行数据库的管理,所以需要安装以下程序

sudo apt-get install php5-common # 安装php5程序通用文件

sudo apt-get install php5-gd # 安装php5的gd图像处理库

sudo apt-get install php5-mysql # 安装php5的mysql模块

sudo apt-get install libapache2-mod-php5 #apache中的php5模块

sudo apt-get install php5-mcrypt # php5的mcrypt模块

sudo apt-get install phpMyAdmin # 数据库管理程序

1,安装apache2服务器sudo apt-get install apache2

#检查是否安装成功,打开浏览器输入localhost

2,安装mysql-server服务器sudo apt-get install mysql-server

3,安装php5-common sudo apt-get install php5-common

clip_image002[4]

4,安装php5-gd模块sudo apt-get install php5-gd

clip_image004[4]

5,安装php5-mysql模块sudo apt-get install php5-mysql

6,安装libapache2-mod-php5 sudo apt-get install libapache2-mod-php5

7,安装php5-mcrypt sudo apt-get install php5-mcrypt

8,安装myphpadmin sudo apt-get install phpMyAdmin

是否创建一个数据库以放置数据库配置信息

设置配置密码

设置phpmyadmin连接MySQL的密码

设置数据库管理员密码

选择数据库服务器

二,配置服务器,保证apache2+php5+Mysql+phpmyadmin的正常运行

1,配置php5

sudo gedit /etc/php5/apache2/php.ini

容许 mysql 和 gd 模块,反省 文件最后是否包含下面的代码,如果没有添加上。(默认是在配置文件最后有添加的,反省 一下以防万一)

extension=mysql.so

extension=gd.so

clip_image002[6]

2,配置apache2

编辑 Apache 配置文件:

sudo gedit /etc/apache2/apache2.conf

3,配置 mysql,让它支撑 其它客户端造访 ,如果你不需要 就不用修正 。

sudo gedit /etc/mysql/my.cnf

查找文件

skip-networking # 如果不注释掉就只能让本机使用。

修正 为

#skip-networking

保存 并关闭文件。

clip_image004[6]

重新启动 mysql

sudo /etc/init.d/mysql restart

4,运行、收场和重启Apache应用如下命令运行 Apache:

sudo /usr/sbin/apache2ctl start

要收场 Apache,应用 :

sudo /usr/sbin/apache2ctl stop

最后,重启 Apache,履行 如下命令:

sudo /usr/sbin/apache2ctl restart

注:如果这些命令提醒

[email protected]:~$ sudo /usr/sbin/apache2ctl stop

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

则找到[email protected]:~$ sudo gedit /etc/apache2/apache2.conf

在其后添加ServerName 127.0.0.1

clip_image006[4]

5,测试php5的安装状态

sudo gedit /var/www/testphp.php

在上述文件中插入下面这行代码:

<?php phpinfo(); ?>

在浏览器里输入http://localhost/testphp.php

clip_image008[4]

6,配置phpmyadmin,因为默认的phpmyadmin是安装到/usr/share/phpmyadmin,所以需要建立/var/www软连接。当然,你可以直接将文件复制到/var/www/目录下

cd /var/www/

sudo ln -s /usr/share/phpmyadmin

浏览网页:http://localhost/phpmyadmin/

clip_image002[8]

到这里,apache+Mysql+php5+phpmyadmin已经成功,下一步,进入Django的搭建。

二,配置安装Django环境

一,首先安装python的MySQLdb模块

先导入需要的库

sudo apt-get install python-all-dev

sudo apt-get install libmysqlclient15-dev

sudo apt-get install zlib1g-dev

1,python-all-dev sudo apt-get install python-all-dev

clip_image004[8]

2, libmysqlclient15-dev sudo apt-get install libmysqlclient15-dev

3,zlib1g-dev sudo apt-get install zlib1g-dev

二,安装apache的python mod

sudo apt-get install apache2 libapache2-mod-python

clip_image006[6]

三,然后安装mysqldb模块

sudo apt-get install python-mysqldb

三,安装配置Django

一,安装django文件

有两种安装方法,

1,sudo apt-get install libapache2-mod-python python-django

2,直接从官方下载安装。

这里我就是用第二种方法,有官方正式发布版和开发版本,这里我下的是开发版本,因为有最新的版本。

cd ~/

svn co http://code.djangoproject.com/svn/django/trunk/ django_src

# svn 默认是不安装的,所以现安装svn,

sudo apt-get install subversion

最新的django包就以django_src文件夹名保存到了/home/用户/ 目录下

clip_image008[6]

Python将不认Django除非其装在’site-packages’文件夹下,所以我们将建立软链接来连接Python和Django。

二,创建链接

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

sudo ln -s `pwd`/django_src/django YOUR-DIR/django

sudo cp ~/django_src/django/bin/django-admin.py /usr/local/bin

用第一个命令找出’site-packages’目录。

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

第二个命令创立链接。

sudo ln -s `pwd`/django_src/django YOUR-DIR/django

第三个命令拷贝django-admin.py文件到/usr/local/bin 这样就可以随时使用django-admin.py而不用每次都打完全路径了。

sudo cp ~/django_src/django/bin/django-admin.py /usr/local/bin

clip_image002[10]

三,创建django基本文件

1,创建基本文件夹,当然也可以直接进入目录右键新建文件夹

cd ~/

mkdir django_projects

mkdir django_templates

mkdir django_media

2,创立一些链接,好让apache知道media的存放位置,因Django默认不存放媒体文件,所以媒体文件和css之类的文件都需要放入media目录下。也为Django更好的链接多媒体文件,第二个链接是用来链接django_admin的媒体文件

cd /var/www

sudo ln -s ~/django_media media

sudo ln -s ~/django_src/django/contrib/admin/media admin_media

clip_image004[10]

四,创立一个Django工程

cd ~/django_projects

django-admin.py startproject myproject

clip_image006[8]

编辑myproject里面的setting.py文件。红色均为我自己的配置,可以根据自己的配置更改

1,

ADMINS = (

# (‘LiuSai’, ‘[email protected]‘), 填写站长信息

)

MANAGERS = ADMINS

2,

DATABASE_ENGINE = ‘mysql’ # ‘postgresql’, ‘mysql’, ‘sqlite3′ or ‘ado_mssql’.

DATABASE_NAME = ‘myproject’ # Or path to database file if using sqlite3.

DATABASE_USER = ‘root’ # Not used with sqlite3.

DATABASE_PASSWORD = ‘admin’ # 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.

3,

ADMIN_MEDIA_PREFIX = ‘/admin_media/’

4,

ROOT_URLCONF = ‘myproject.urls’

5,

INSTALLED_APPS = (

‘django.contrib.auth’,

‘django.contrib.contenttypes’,

‘django.contrib.sessions’,

‘django.contrib.sites’,

‘django.contrib.admin’,

)

五,创建一个管理员数据库。它会自动生成一个管理员数据表格到刚刚定义的即自己在phpmyadmin里创建的数据库中。

django-admin.py syncdb

六,创建一个url.py链接,使浏览器可以访问admin

clip_image008[8]

七,配置apache2

sudo nano /etc/apache2/httpd.conf

打开后插入如下代码

MaxRequestsPerChild 1 # 这里设置的目的是为了更改django代码后不用重启apache服务器

<location "/">

SetHandler python-program

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE myproject.settings

PythonPath "['/home/liusai/django_projects'] + sys.path" # 这里是存放django_projects的目录

</location>

<location "/media">

SetHandler None

</location>

<location "/admin_media">

SetHandler None

</location>

<location "/phpmyadmin">

SetHandler None

</location>

<locationmatch ".(jpg|gif|png)$">

SetHandler None

</locationmatch>

clip_image002[12]

八,重启apache。输入网址

sudo /etc/init.d/apache2 restart

注意,这里我的提示是

[email protected]:~$ sudo /etc/init.d/apache2 start

* Starting web server apache2 Syntax error on line 5 of /etc/apache2/httpd.conf:

Invalid command ‘PythonHandler’, perhaps misspelled or defined by a module not included in the server configuration

[fail]

一般情况下不会出现这个问题,出现这个问题的原因是因为默认中/etc/apache2/mods-enabled/ 目录中应该有一个mod_python.load文件,文件内容为

LoadModule python_module /usr/lib/apache2/modules/mod_python.so

这里我们就直接将其添加进http.conf文件,当然也可以创建mod_pyton.load文件

clip_image004[12]

六,测试。大功告成

clip_image006[10]

这是因为没有创建admin,把url.py的 (r’^admin/’, include(‘django.contrib.admin.urls’)), 注释掉就会出现下图。

clip_image008[10]