php+mongodb开发环境搭建(linux+apache+mongodb+php)
一. 准备linux环境(关闭selinux,iptables,配置ip等初始化操作)
二. 准备软件:
1. apache:可以用yum来装,也可以下载源码编译。
2. mongodb:现在的linux没有集成,所以要下载。
我的环境是linux,位数64,下载http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz,其他的在mongodb官网。
3. php,这里使用的是php5进行开发,所以下载源码编译。http://cn2.php.net/distributions/php-5.4.32.tar.gz
4. 因为php5要操作mongodb,且没有集成驱动,所以还得下载驱动(php扩展) http://pecl.php.net/get/mongo-1.5.5.tgz
三. 安装
就像安装lamp(linux+apache+mysql+php)一样的顺序。apache和mysql不管谁先安装都可以,但是php必须得在这两个后面。这里就采用标准的,lamp顺序。
1. 安装apache:yuminstall httpd* –y
安装好后修改配置文件/etc/httpd/conf/httpd.conf
ServerName 主机ip或主机名:监听端口 (格式,根据自己的实际情况配置)
2. 安装mongodb:
先建立所需目录:
[root@code ~]# mkdir /data/mongodb/db –p
[root@code ~]# mkdir /data/mongodb/logs –p
然后安装mongodb:安装很简单,解压归档就可以了
[root@code pub]# tar -xvf mongodb-linux-x86_64-1.6.4.tar.gz-C /usr/local/
接着配置环境变量,使得使用命令的时候不需要带上路径
[root@code ~]# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mongodb-linux-x86_64-1.6.4/bin
export PATH
最后要source下才生效
[root@code ~]# source .bash_profile
3. 安装php5
[root@code pub]# tar -xvf php-5.4.32.tar.gz
[root@code pub]# cd php-5.4.32
[root@code php-5.4.32]# ./configure --prefix=/usr/local/php--with-config-file-path=/etc --with-apxs2=/usr/sbin/apxs
这里--with-apxs2之后将会在
[root@code ~]# ls /etc/httpd/modules/libphp5.so
/etc/httpd/modules/libphp5.so有这个提供给apache加载php使用
这里的--with-apxs2=/usr/sbin/apxs根据实际情况决定(apxs命令目录所在位置,如果apache是编译的话,就要去apache目录下找—这里也根据实际情况)
[root@code php-5.4.32]# make && make install
[root@code php-5.4.32]# cp php.ini-production /etc/php.ini
配置环境变量,使得php相关命令不需要带上路径
[root@code ~]# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mongodb-linux-x86_64-1.6.4/bin:/usr/local/php/bin
export PATH
最后要source下才生效
[root@code ~]# source .bash_profile
4. 安装php扩展,对mongodb的支持
[root@code pub]# tar -xvf mongo-1.5.5.tgz
[root@code pub]# cd mongo-1.5.5
[root@code mongo-1.5.5]# phpize(之后生成configuere文件)
[root@code mongo-1.5.5]# ./configure --enable-mongo=share--with-php-config=php-config
[root@code mongo-1.5.5]# make && make install
5. 配置/etc/php.ini
extension=mongo.so
register_globals=On
6. 配置/etc/httpd/conf/httpd.conf
LoadModule php5_modulemodules/libphp5.so
PHPIniDir "/etc/php.ini”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DirectoryIndex index.html index.html.var index.htmlindex.shtml index.cgi index.php index.phtml index.php3
也可以配置俺怕车的虚拟主机:
如下:
1、基于ip地址的虚拟主机
Listen 80
<VirtualHost 172.20.30.40>
DocumentRoot /home/httpd/html1
ServerName www.ok1.com
ErrorLog /usr/local/apache/logs/error1_log
CustomLog /usr/local/apache/logs/access1_log combined
</VirtualHost>
<VirtualHost 172.20.30.50>
DocumentRoot /home/httpd/html2
ServerName www.ok2.com
ErrorLog /usr/local/apache/logs/error2_log
CustomLog /usr/local/apache/logs/access2_log combined
</VirtualHost>
2、基于IP 和多端口的虚拟主机配置
Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080
<VirtualHost 172.20.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example1.org
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example2.org
</VirtualHost>
3、单个IP 地址的服务器上基于域名的虚拟主机配置
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
ServerAlias example1.com. *.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>