筆者初學PHP,在VM虛擬了個紅帽5.8做服務器端,自己的W7電腦做客戶端也作爲代碼開發端,過程總是操蛋的額,但是結果總是好的,簡單的說下過程吧,
linux下面的的LAMP和smb的配置:
源碼安裝過程
Mysql的源碼包安裝
tar –xzvf mysql-version.tar.gz –C /usr/local/src
cd /usr/src/mysql-version
如果不存在mysql 用戶,則建立之
./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-innodb --with-plugins=partition
註解:
--with-extra-charsets=all:支持所有字符集
--with-innodb:支持innodb存儲引擎
--with-plugins=partition:支持分區
make && make install
數據庫的初始化:
cd /usr/local/mysql/bin
執行
./mysql_install_db 此命令是初始化腳本,爲Mysql運行做準備:來創建MySQL許可表。
此命令執行成功時會在/usr/local/mysql目錄下生成var目錄,如果執行失敗則有可能mysql用戶沒有創建,需要手工創建:useradd mysql,再把系統的mysql卸載:rpm -e mysql。
cd /usr/local/
chown -R mysql: mysql mysql/
cd /usr/local/mysql/bin/
執行 ./mysqld_safe --user=mysql & 啓動mysql服務器.這時可用ps -e 命令看到mysql 的進程
爲mysql數據庫添加密碼
缺省地,mysql 已經存在一個root 用戶,密碼爲空
/usr/local/mysql/bin/mysqladmin password YOURPASS
/usr/local/mysql/bin/mysql -u root -pYOUR_PASS 可以進入,用exit 退出
將源碼mysql改成sys V 方式啓動
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld目錄
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 35 mysqld on
service mysqld restart
客戶端命令
修改/etc/bashrc文件
export PATH=/usr/local/mysql/bin/:$PATH
source .bash_profile 讓當前環境配置變量生效.
可以連接數據了
apache源碼包安裝
tar jxvf ......
cd httpd....
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
註解:
--enable-so:讓apache核心裝載DSO
make && make install
編譯php
解壓php- 到/usr/local/src下,進入該目錄進行編譯工作
cd /usr/local/src/php-5.2.9
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
註解:
--with-apxs2=/usr/local/apache2/bin/apxs:用apache的apxs工具把php編譯成apache的一個模塊
--with-mysql=/usr/local/mysql:與mysql結合
make && make install
cp php.ini-dist /usr/local/php/php.ini
如果一切順利的話,apache2/modules 下應該有個libphp5.so 的文件
爲apache 添加php 支持
編輯/usr/local/apache2/conf/httpd.conf 文件
增加一行
AddType application/x-httpd-php .php
在DirectoryIndex指令的最後,添加 index.php
測試Apache及php支持
apache 的控制文件在 /usr/local/apache2/bin 下
apachectl stop 停止apache 服務
apachectl start 啓動apache 服務
自行完成一個php 測試頁1.php, 包含一行:
<? phpinfo() ?> ,放在DocumentRoot下使用xp或者W7訪問虛擬機的IP就可以,當然如果只是簡單的只做PHP的測試的話也可以偷懶使用yum安裝最簡潔了;
yum install mysql
yum install php
yum install httpd
修改AddType application/x-httpd-php .php
在DirectoryIndex指令的最後,添加 index.php爲了讓apache支持php
然後初始化下mysql在啓動下apache就OK了。
再就是SMB的共享,筆者比較懶,筆記本的內存比較小,所以希望vm佔用的內存越小越好,所以VM軟件的界面都去掉了,直接用的是SecureCRT連接配置smb和LAMP,考慮到很多的PHP代碼編輯工具是在xp上面的,就做了個smb把/var/www/html/共享給自己的W7,配置如下
linux:
samba服務
安裝包:
samba-3.0.33-3.37.el5.i386.rpm
samba-common-3.0.33-3.37.el5.i386.rpm
yum install samba-*
配置文件:
vim /etc/samba/smb.conf
啓動服務:
service smb restart
配置:
security = share ----- 匿名模式
[smb]
comment = php server ----- 描述
path = /var/www/html ----- 共享路徑
public = yes ----- 支持匿名
writable = yes ----- 可寫
browseable = yes ----- 是否可見
service smb restart
chmod o+w /samba
測試
smbclient -L //192.168.22.250 ----------查詢
smbclient //192.168.22.250/smb ---------- 登錄
mount -t cifs //192.168.22.250/smb /mnt ---- 掛載
用戶驗證
security = user
[AAA]
comment = hello
path = /tmp
; writable = yes
browseable = yes
valid users = robin @uplooking(組名) ----------有效用戶
write list = robin 寫列表
read list = @uplooking 讀列表
create mask = 0755 設置創建文件權限 (group和other -x)
directory mask = 0775 創建目錄權限
service smb restart
useradd robin
smbpasswd -a robin 添加samba用戶
smbpasswd -x robin 刪除samba用戶
pdbedit -L 查詢samba用戶
smbclient -U robin%123 //192.168.22.250/AAA
mount -o username=robin,password=123 //192.168.22.250/AAA /mnt Linux間的測試
這個時候就沒有linux的事情了,爲了實現W7和smb的共享文件,真是操蛋,網上的貼子也真夠坑爹的,都是一樣,自己試了好久才弄清楚爲啥,
打開 開始 運行 輸入secpol.msc,打開本地安全策略裏面的安全選項裏面的網絡安全LAN管理器驗證級別
設置爲直接確定就完事了。
另外網上有個貼子說要找個什麼註冊表修改值的我找了好久都沒找到,還有三個服務器系統也是已經啓動了,最後就是訪問了
在網絡這裏直接可以看到自己的主機的名字,點進去就能看到自己的smb目錄了,點進去看看
自己剛剛搭建好的測試LAMP的文件看到了,成功了。哦也,吃午飯去。