1.安裝MySQL:
初始化:查看系統位數:uname -i
&&:在這里的意思是當前面命令執行成功時,才能執行后面的命令
--user:定義數據庫以哪個用戶的身份運行
--datadir:定義數據庫的安裝目錄
錯誤信息:
配置MySQL:
basedir:MySQL包所在的路徑
datadir:定義存放數據的地方(默認情況下,錯誤日志也會記錄在這個目錄下)
port:定義MySQL服務監聽的端口(默認是3306)
service_id:定義MySQL服務的ID號
socket:定義MySQL服務監聽的套接字地址
chkconfig --add mysqld:把mysqld服務加入到系統服務列表中
chkconfig mysqld on:使其開機自啟動
service mysqld start:啟動服務
ps -ef |grep mysqld:查看錯誤日志
netstat -lnp|grep 3306:查看有沒有監聽3306端口
友情提示:
2.安裝Apache:(httpd)
httpd是依賴apr和apr-util的
錯誤信息:
安裝apr-util錯誤信息:
安裝httpd錯誤信息:
--prefix:安裝目錄
--enable-so:啟用DSO(把某些功能以模塊的形式展現出來,一個功能模塊就是一個so文件)
--enable-mods-shared=most:以共享的方式安裝大多數功能模塊,安裝后會在modules目錄下看到這些文件
httpd進行make時錯誤信息:
查看httpd的目錄結構以及modules目錄下的模塊文件
查看加載了哪些模塊:
3.安裝PHP:
安裝時遇到的錯誤信息:
4.配置httpd支持PHP:
編輯配置文件:
修改以下內容:
允許所有請求,如果不設置會顯示403錯誤:
5.測試LAMP是否成功:
測試配置文件是否正確:
檢驗配置文件是否正確:/usr/local/apache2.4/bin/apachectl -t
啟動httpd命令:/usr/local/apache2.4/bin/apachectl start
查看是否啟動:
測試是否正確解析PHP:
縮寫一個腳本:
測試:
6.httpd配置:
默認虛擬主機:
ServerAdmin:管理員郵箱
DocumentRoot:該虛擬主機站點的根目錄,網站的程序就放在該目錄下
ServerName:網站域名(不支持寫多個)
ServerAlias:網站第二段域名(后面可以接多個域名,用空格分隔)
ErrorLog:錯誤日志
CustomLog:訪問日志
用戶認證:
Directory:指定認證目錄
AllowOverride AuthConfig:相當於打開認證開關
AuthName:自定義認證的名字
AuthType Basic:認證的類型,一般為Basic
AuthUserFile :指定密碼文件的位置
require valid-user:指定需要認證的用戶為全部用戶
對目錄進行認證:把<Directory /data/wwwroot/www.hghhts2222.com>改為
<Directory /data/wwwroot/www.hghhts2222.com/admin/>
對文件進行驗證:
(網址中帶有admin.php的鏈接都會彈出認證窗口)
創建密碼文件:
htpasswd:創建用戶工具
-c:創建(第二次創建新用戶不用加-c,否者/data/.htpasswd文件會被重置,之前的用戶清空)
-m:指定密碼加密方式為MD5
關閉防火牆:systemctl stop firewalld
配置域名跳轉:
RewriteRule:正則表達式(第一部分為當前的URL,不包括主機頭(域名);
第二部分為跳轉的目標地址,可以包含主機頭,也可以不寫,默認前面的ServerName;
第三部分為一些選項,需要用括號括起來,301為狀態碼(永久重定向),L表示list,表
示跳轉結束)
配置訪問日志:
%h:訪問網站的IP %l:遠程登錄名,這個字段上基本為“-”
%u:用戶名,當用戶認證時,該字段為用戶名 %t:時間
%r:請求的動作(ctrl -I時就為HEADE) %s:請求的狀態碼
%b:數據傳輸大小 %{Referer}i:referer信息
%{User-Agent}:瀏覽器標識 %D:請求耗費時間
定義image-requst環境
!image-requst:把image-requst以外的類型文件記錄到日志里
86400:單位為秒,這里相當於一天
配置靜態元素過期時間:
編輯主機配置文件:
gif、jpeg、png格式的文件過期時長都為1天,css、js、flash格式的文件過期時長都為2小時,其他文件過期時長為0
配置防盜鏈:
防止被盜用網站上的資源
^$:空的referer
-e:定義referer(referer一定要以http://開頭)
訪問控制:
OR:或者
NC:不區分大小寫
F:Forbidden
-A指定的是user_agent
7.PHP配置:
PHP的disable_functions:
配置errot_log:
log_errors:記錄錯誤日志
error_log:設定錯誤日志路徑
error_reporting:設定錯誤日志級別
E_ALL:所有日志類型
&:並且
~:排除
display_errors:設置為on表示吧錯誤日志直接顯示在瀏覽器中
配置open_basedir:
open_basedir:可以是多個目錄,用:分隔
8.PHP動態擴展模塊安裝:
查看PHP加載了哪些功能板塊: