LNAMP|LAMP|PHP团队(多人)开发环境搭建配置教程

    经常听到团队的小伙伴说:这个版本的扩展真难找,在本地运行正常的代码,上线之后却运行异常…诸如此类的问题大多是因为系统差异、扩展缺失、版本差异引起的。要解决此类问题搭建一个和线上一致的多人开发环境即可解决。
    思路:搭建一台本地开发服务器,开发服务器和线上服务器环境保持一致,用samba服务映射到本地电脑磁盘,团队中所有人的开发代码都存储在开发机上,所有人的代码都是在开发机器上运行;团队成员无需再单独搭建开发环境,只需要挂载远程目录到本地磁盘,加上DNS解析,开发机上apache根据域名绑定对应的目录即可。
搭建过程:
1.一台PC主机,U盘安装CentOS5.11;
2.安装lamp或lnamp或lnmp环境,网上有很多关于LNAMP或LAMP组合安装的教程(我写过的另一篇博文,有需要的请移步->:LAMP安装手记(CentOS6.4+Apache-2.2.22+Mysql-5.1.63+PHP-5.2.17+phpmyadmin-3.4.10.2+ZendDebug),安装过程不再赘述,本文主要讲如何配置多人开发环境。
3.配置步骤
修改防火墙规则
vi /etc/sysconfig/iptables
添加如下规则
#samba
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
service iptables restart
4.安装samba
yum install samba system-config-samba samba-client samba-common
编辑samba配置文件
vi /etc/samba/smb.conf
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        create mode = 0755
        force create mode = 0755
        directory mode = 0755
        force directory mode = 0755
;       valid users = %S
;       valid users = MYDOMAIN\%S
[share]
        workgroup = www
        netbios name = www
        path = /home/share
        browseable = yes
        writeable = yes

service smb restart
[home]目录是每个samba账号对应的个人目录,就是/home下的个人目录,这里也就是每个账号对应的挂载目录;
[share]是共享目录。

简单介绍一下这几个参数的含义:

  • create mode – 这个配置定义新创建文件的属性。Samba在新建文件时,会把dos文件的权限映射成对应的unix权限,在映射后所得的权限,会与这个参数所定义的值进行与操作。然后再和下面的force create mode进行或操作,这样就得到最终linux下的文件权限。
  • force create mode – 见上面的描述。相当于此参数所设置的权限位一定会出现在文件属性中。
  • directory mode – 这个配置与create mode参数类似,只是它是应用在新创建的目录上。Samba在新建目录时,会把dos–>linux映射后的文件属性,与此参数所定义的值相与,再和force directory mode相或,然后按这个值去设置目录属性。
  • force directory mode – 见上面的描述。相当于此参数中所设置的权限位一定会出现在目录的属性中。

说明一点,上面的create mode和create mask参数是同义词,用哪个都可以;而directory mode和directory mask参数是相同的。

创建账号:
useradd zhangsan   
passwd zhangsan
chmod -R 0755 /home/zhangsan
smbpasswd -a zhangsan                         创建samba账号
service smb reload

测试samba 快捷键 windows(开始键)+R 在弹出的框中输入 \\samba服务器地址  然后回车 输入账号密码 如下图所示即为搭建配置成功

映射磁盘驱动器:

映射成功。

5.配置apache

编辑apache配置文件httpd.conf 添加
vi httpd.conf
Include /usr/local/apache/conf/vhost/*.conf
在/usr/local/apache/conf/vhost目录中添加配置文件
vi test.data.house.sina.com.cn.conf 
添加如下内容
<VirtualHost *:88>
        ServerName test.house.sina.com.cn
        #ServerAlias localhost
        DocumentRoot /home/yangyi/test.house.sina.com.cn
        DirectoryIndex index.php index.html index.htm
        <Directory /home/yangyi/test.house.sina.com.cn>
                Options +Includes -Indexes
                AllowOverride All
                Order Deny,Allow
                Allow from All
                php_admin_value open_basedir /home/yangyi/test.house.sina.com.cn:/tmp:/proc
        </Directory>
</VirtualHost>
重启apache
service httpd restart
本地添加DNS解析
192.168.1.110 test.house.sina.com.cn

在映射目录创建文件夹 添加测试文件 如下所示:

test_web_service

搭建配置成功!

参考:

快速配置 Samba 将 Linux 目录映射为 Windows 驱动器,用于跨平台编程

CentOS6.3 Samba安装配置、多用户、加域

Centos搭建Samba

设置Samba服务器中新建文件/目录的权限

附可能遇到的问题及解决办法:

<1>.httpd: Could not reliably determine the server’s fully qualified domain name

    http://blog.csdn.net/aidenliu/article/details/6589040

<2>.防火墙配置

    http://bbs.51cto.com/thread-830123-1.html

<3>.PHP 配置文件中open_basedir选项作用

    http://www.jb51.net/article/19231.htm

<4>.phpnow:open_basedir restriction in effect;file is not within the allowed path

    http://blog.sina.com.cn/s/blog_6328fd3a0100rh5y.html

<5>.PHP 错误日志报告等级

    http://www.cnblogs.com/lost-1987/articles/2982380.html

<6>.PHP Fatal error: require_once(): Failed opening required 

    https://bbs.archlinux.org/viewtopic.php?id=57877 (参考这个解决了问题)

    http://superuser.com/questions/590208/phpmyadmin-symlinks-error-after-ubuntu-upgrade

    http://kb.odin.com/en/6065

未经授权请勿转载:怡然之乐 – FineYi