LAMP環境腳本部署:https://github.com/spdir/ShellScripts/tree/master/lampphp
LAMP的介紹:百度百科html
LAMP平臺的構成組件:node
LAMP平臺的優點:mysql
本文構成組件:Linux(CentOS6.5)、Apache、MySQL、PHPlinux
Apache的特色:開放源代碼、跨平臺應用、支持各類Web編程語言、模塊化設計、運行很是穩定、良好的安全性github
Apache源碼包下載地址:http://httpd.apache.org/download.cgisql
安裝步驟:數據庫
1.檢測服務器是否存在RPM方式安裝的httpd服務(防止端口衝突)apache
rpm -e httpd --nodeps
2.編譯安裝httpd源碼包
tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ #解包 cd /usr/src/httpd-2.2.17/ ./configure --prefix=/usr/local/httpd/ --enable-so --enable-rewrite --enable-charset-lite --enable-cig #配置 make && make install #編譯及安裝
配置參數含義:
httpd服務的主要目錄結構:
3.優化執行路徑
ln -s /usr/local/httpd/bin/* /usr/local/bin
4.添加httpd到系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd cd /etc/init.d/ chmod +x httpd vim /etc/init.d/httpd #在配置文件中添加
經常使用的全局配置參數(httpd.conf)
1 ServerRoot:服務目錄 2 ServerAdmin:管理員郵箱 3 User:運行服務的用戶身份 4 Group:運行服務的組身份 5 ServerName:網站服務器的域名 6 DocumentRoot:網頁文檔的根目錄 7 Listen:監聽的IP地址、端口號 8 PidFile:保存httpd進程PID號的文件 9 DirectoryIndex:默認的索引頁文件 10 ErrorLog:錯誤日誌文件的位置 11 CustomLog:訪問日誌文件的位置 12 LogLevel:記錄日誌的級別,默認爲warn 13 Timeout:網絡鏈接超時,默認爲300秒 14 KeepAlive:是否保持鏈接,可選On或Off 15 MaxKeepAliveRequests:每次鏈接最多請求文件數 16 KeepAliveTimeout:保持鏈接狀態時的超時時間 17 Include:須要包含進來的其餘配置文件
區域配置項目
<Directory /> //定義"/"目錄區域的開始 Options FollowSymLinks //控制選項,容許使用符號連接 AllowOverride None //不容許隱含控制文件中的覆蓋配置 Order deny,allow //訪問控制策略的應用順序 Deny from all //禁止任何人訪問此區域 </Directory> //定義"/"目錄區域的結束
部署AWStats網站訪問統計分析系統:http://www.cnblogs.com/zhichaoma/p/7487766.html
虛擬主機配置:http://www.cnblogs.com/zhichaoma/p/7489043.html
站點訪問限制:http://www.cnblogs.com/zhichaoma/p/7488898.html
MySQL源碼包下載地址: https://dev.mysql.com/downloads/
安裝步驟:
1.準備工做
卸載RPM方式安裝的mysql-server、mysql軟件包(避免端口衝突、程序衝突)
rpm -e mysql-server mysql
使用rpm或者yum的方式安裝ncurses-devel依賴包
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm 或者 yum -y install ncurses-devel
編譯安裝cmake包
tar zxvf cmake-2.8.6.tar.gz -C /usr/src/ cd /usr/src/cmake-2.8.6/ ./configure && gmake && gmake install
建立運行用戶
#刪除系統原有的mysql帳號 userdel mysql 建立新的mysql帳號 useradd -M -s /sbin/nologin mysql
編譯安裝mysql包
tar zxvf mysql-5.5.22.tar.gz -C /usr/src/ #解包 cd /usr/src/mysql-5.5.22/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWHIT_CHARSETS=all #配置 make && make install #編譯並安裝
配置參數含義:
2.安裝後的調整
對數據庫目錄進行調整
chown -R mysql:mysql /usr/local/mysql/
創建配置文件
rm -rf /etc/my.cnf //若是原來etc文件下下有my.cnf文件能夠刪除 cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
初始化數據庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
優化執行路徑
ln -s /usr/local/mysql/bin/* /usr/local/bin/
添加系統服務
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld start
初始化數據庫管理員賬號root的密碼
mysqladmin -u root password "123.com"
數據庫的基本操做:
PHP源碼包下載地址:http://php.net/downloads.php
安裝步驟:
1.準備工做
卸載RPM方式安裝的php、php-cli、php-ldap、php-common、php-mysql等軟件包(避免程序衝突)
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
使用rpm或者yum的方式安裝 zlib-devel 和 libxml2-devel 依賴包
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm rpm -ivh libxml2-devel-2.7.6-14.el6.x86_64.rpm 或者 yum -y install zlib-devel rpm -y install libxml2-devel
2.安裝php加密擴展插件(libmcrypt、mhash、mcrypt)**順序安裝
安裝libmcrypt程序
下載地址:http://mcrypt.hellug.gr/lib/
tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/ cd /usr/src/libmcrypt-2.5.8/ ./configure && make && make install ln -s /usr/local/lib/libmcrypt.* /usr/bin/
安裝mhash程序
下載地址:https://sourceforge.net/projects/mhash/files/mhash/
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/ cd /usr/src/mhash-0.9.9.9/ ./configure make && make install ln -s /usr/local/lib/libmhash.* /usr/lib/
安裝mcrypt程序
下載地址:https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/ cd /usr/src/mcrypt-2.6.8/ ./configure export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ./configure make && make install
3.編譯安裝PHP
tar zxf php-5.3.28.tar.gz -C /usr/src/ cd /usr/src/php-5.3.28/ ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-sockets make && make install
配置參數含義:
4.php.ini文件的調整
cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini vim /usr/local/php5/php.ini #在配置文件中修改
5.添加ZendGuardLoader優化模塊
ZendGuardLoader包下載:http://www.zend.com/en/products/guard/downloads#Linux
進一步提升PHP程序的執行效率,優化頁面的加載速度
tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/ cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ cp ZendGuardLoader.so /usr/local/php5/lib/php vim /usr/local/php5/php.ini #添加配置文件
6.httpd.conf配置調整
vim /usr/local/httpd/conf/httpd.conf #修改配置httpd的配置文件
service httpd restart #從新啓動httpd
7.測試
測試一:測試是否能夠正常解析php文件(php測試代碼)
1 <?php 2 phpinfo(); 3 ?>
測試二:測試php網頁是否能夠正常鏈接數據庫服務(php測試代碼)
1 <?php 2 $link=mysql_connect('localhost','root','123.com'); 3 if ($link) echo "數據庫鏈接成功"; 4 mysql_close(); 5 ?>
8.部署phpMyAdmin(採用php開發)
tar zxf phpMyAdmin-2.11.11.3-all-languages.tar.gz mv phpMyAdmin-2.11.11.3-all-languages /usr/local/httpd/htdocs/phpMyAdmin #將源碼放置網站的根目錄下 cd /usr/local/httpd/htdocs/phpMyAdmin/ cp config.sample.inc.php config.inc.php #建立配置文件