經常聽到團隊的小夥說:這個版本的擴充真難找,在本地運行正常的代碼,上線之後卻運行異常…諸如此類的問題大多是因為系統差異、擴充缺失、版本差異引起的。要解決此類問題搭建一個和線上一致的多人開發環境即可解決。
思路:搭建一台本地程式開發伺服器,程式開發伺服器和線上伺服器環境保持一致,用samba服務對應到本地電腦磁碟,團隊中所有人的開發代碼都儲存在開發機上,所有人的代碼都是在開發機器上運行;團隊成員無需再單獨搭建開發環境,只需要掛載遠程目錄到本地磁碟,加上DNS解析,開發機上apache根據網域名稱綁定對應的目錄即可。
搭建過程:
1.一台PC主機,隨身碟安裝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
在映射目錄建立檔案夾 添加測試檔案 如下所示:
搭建配置成功!