經過一段時間痛苦的解決架設LAMP中遇到的問題,現在略作小結,聊以自慰,權當手記,不做參考。
總述:
安裝Apache+Mysql+PHP
Apache虛擬目錄
Apache虛擬主機
授權和認證
Mysql主從服務器配置
Rsync同步設定
LAMP鏡像站點
站點壓力測試
1、安裝Apache+Mysql+PHP
用Linux光盤的rpm包安裝。掛載光盤#mount /dev/cdrom /mnt 然後#cd /mnt進入光盤#cd CentOS進入CentOS的rpm包集合,可以ls查看到所有的包。#ls httpd*查看有httpd字符的rpm包。
先檢查有沒有安裝以上rpm包,#rpm -qa | grep httpd* ,這樣就可以查出機器上是否安裝了與apache相關的哪些包。#rpm -ivh httpd(按tab鍵補全)安裝,可能需要解決依賴問題,只需要一個一個嘗試就行。
安裝完apache+mysql+php,可以用自己的ip訪問自己的Apache,要解決一個php-mysql*的依賴問題安裝這樣一個phh-mysql* 的rpm包。
安裝中要多次解決一個依賴關係的問題。
2、啓動,文件目錄,配置文件目錄
#service httpd restart啓動Apache,網頁文件 /var/www/html/ 啓動Mysql:#service mysqld start
配置文件:Apache /etc/httpd/conf/httpd.conf
Mysql /etc/my.cnf
php /etc/php.ini
3、虛擬目錄
alias /test "/var/www/test/"
<Directory /var/www/test>
Options Indexes MultiViews
Order all,deny
Allow from all
(Deny from 192.168.0.11)
</Directory>
建立目錄作爲虛擬目錄:mkdir -p /data/web/test
vi /etc/httpd/conf/httpd.conf
G到最後,添上Include vhost/vhost.conf(追加一個配置文件vhost.conf)
cd /etc/httpd/
mkdir vhost
vi vhost/vhost.conf
把上面一段配置內容寫進去。對應好test(自定義文件)
重啓httpd #service httpd restart
寫文件vi /data/web/test/index.html
如果ip是192.168.1.10可以在IE瀏覽器中輸入192.168.1.10/test查看自己寫的index.html
上面配置文件中,allow後面是允許來自訪問的IP,deny後面的是這些ip地址的用戶不能訪問
4、認證和授權
用戶授權
修改上面的配置文件
Alias /test /var/www/test/
<Diretory /var/www/test>
Options Indexes MultiViews
authtype basic
authname "welcome test"
authusefile /etc/httpd/httppwd
require valid-user = user test
</Directory>
然後#htpasswd -c httppwd test爲test用戶創建密碼
vi httppwd查看httppwd的內容“用戶名:密碼”
當建立第二個用戶並加密碼時,不要上面命令中的"-c",在配置文件中最後一行user 後添上新加的用戶名。
用戶組授權
Alias /test /var/www/test/
<Diretory /var/www/test>
Options Indexes MultiViews
authtype basic
authname "welcome admin"
authusefile /etc/httpd/httppwd
authgroupfile /etc/httpd/httpgrp
require group admin
</Directory>
然後vi httpgrp
寫上“admin:test test01”意思是指admin組中的test和test01要用到上面的配置文件和上面用戶授權的密碼。上面是配置vhost.conf文件,可以先拷貝用戶授權文件,再創建用戶組授權文件爲vhost.conf。
5、創建虛擬主機:在一臺主機上虛擬多個IP或多個端口
修改vhost.conf文件
<VirtualHost 192.168.1.7:80>
ServerAdmin [email protected]
DocumentRoot /data/web/test/
ServerName mail.astronomy.org
CustomLog /data/log1/access_log combined
</VirtualHost>
然後虛擬出IP:#ifconfig eth0:0 192.168.1.7 up
#ifconfig eth0:1 192.168.1.8 up
ifconfig就可以看到這兩個虛擬ip打開了。用IE瀏覽器訪問一下這兩個IP
虛擬端口
Listen 81
Listen 82
<VirtualHost 192.168.1.3:81>
ServerAdmin [email protected]
DocumentRoot /data/web/test/
ServerName 192.168.1.3:81
CustomLog /data/log1/access_log combined
</VirtualHost>
<VirtualHost 192.168.1.7:82>
ServerAdmin [email protected]
DocumentRoot /data/web/test2/
ServerName 192.168.1.7:82
CustomLog /data/log1/access_log2 combined
</VirtualHost>
建立相關的目錄和文件,如test2,access_log2 combined
把剛纔虛擬的ip關掉:
#ifconfig eth0:0 down
#ifconfig eth0:1 down
重啓httpd
用新ip端口嘗試。