LAMP指在linux服務器下搭建Apache、MySQL、PHP服務的簡稱。 php
提要:全部源碼包wget到/usr/local/src目錄下 html
1.1 安裝MySQL mysql
l 檢測系統版本 linux
cat /etc/issue sql
uname -a 數據庫
l 下載源碼包 apache
wget http://www.lishiming.net/data/attachment/forum/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz vim
l 初始化 服務器
tar -zxvf 源碼包名 app
useradd -s /sbin/nologin mysql (建立mysql用戶)
mv 解壓後的源碼包 /usr/local/mysql (把mysql目錄存放到此目錄,通常包都放在/usr/local中)
cd /usr/local/mysql (進入此目錄)
mkdir -p /data/mysql (用於存放數據庫文件)
chown -R mysql:mysql /data/mysql (更改上一步建立的文件的用戶屬權)
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
##(scripts/mysql_install_db 是mysql5.1版本纔有,其餘高版本找配置文檔,user表示定義數據庫的所屬主,datadir定義數據庫的安裝目錄,這一部很關鍵,安裝成功會顯示2個OK字樣)
cp support-files/my-large.cnf /etc/my.cnf ##(upport-files/my-large.cnf 只有在5.1版本有,此文檔是配置文檔)
cp ./support-files/mysql.server /etc/init.d/mysqld (support-flies/mysql.server在5.1版本,此文檔是啓動腳本)
chmod 755 /etc/init.d/mysqld
vim /etc/init.d/mysqld
找到datadir 修改爲datadir=/data/mysql 此路徑是前文說起的用於存放數據庫文件
chkconfig --add mysqld (添加系統自定義啓動服務)
chkconfig mysqld on (開啓mysqld 服務的等級權限)
service mysqld start (啓動mysqld 自定義服務)
ps aux |grep ‘mysqld’ (查看是否啓動成功,若不成功,則在/data/mysql目錄下生成一個 主機名.err的錯誤日誌)
1.2 安裝Apache
安裝前須要yum如下庫或包
yum install -y gcc
yum install -y zlib-devel
yum install -y pcre pcre-devel apr apr-devel
wget http://www.lishiming.net/data/attachment/forum/httpd-2.2.24.tar.bz2
解壓
tar –jxvf httpd-2.2.24.tar.bz2
cd 解壓後的源碼包目錄下
cd httpd-2.2XXXXX
l 編譯
./configure \
--prefix=/usr/local/apache2 \ #指定安裝目錄位置
--with-included-apr \ #捆綁拷貝apr/apr-util信息
--enable-so \ #啓用DSO性能
--enable-deflate=shared \ #壓縮轉換編碼支持
--enable-expires=shared \ #頭部有效期控制
--enable-rewrite=shared \ #基本的URL操縱規則,即啓用URL重寫規則
-with-pcre
make
make install
##成功後/usr/local目錄下建立一個apache2的文件夾,主配置文件爲該目錄下的/conf/httpd.conf
l 與PHP結合使用則須要修改httpd.conf配置文檔:
在AddType application/x-gzip .gz .tgz下面增長一行
AddType application/x-httpd-php .php
往下找到:
<IfModule dir_module>
DirectorIndex index.html 此行增長index.htm index.php
</IfModule>
往下找到#ServerName www.example.com:80
修改爲 SeverName localhost:80
1.3 安裝PHP
l 安裝前須要yum如下庫或包
yum install -y libxml2-devel
yum install -y openssl openssl-devel
yum install -y bzip2 bzip2-devel
yum install -y libpng libpng-devel
yum install -y freetype freetype-devel
yum install -y libmcrpt libmcrpt-devel
yum install -y libjpeg-turbo libjpeg-turbo-devel
wget http://am1.php.net/distributions/php-5.3.27.tar.gz
解壓
tar -zvxf php-5.3.27.tar.gz
l 解壓後進入源碼包並編譯
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-mysqli --with-gd --with-jpeg-dir -with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt=/usr/local/libmcrypt --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ivp6
make
make install
cp php.ini-production /usr/local/php/etc/php.ini #php.ini-production文件在解壓後的源碼文件裏
1.4 測試LAMP
l 修改apache2安裝目錄下的conf/httpd.conf文件
vim /usr/local/apache2/conf/httpd.conf
在AddType application/x-gzip .gz .tgz下面增長一行
AddType application/x-httpd-php .php
往下找到:
<IfModule dir_module>
DirectorIndex index.html 此行增長index.htm index.php
</IfModule>
往下找到#ServerName www.example.com:80
修改爲 SeverName localhost:80
l 測試配置文件是否正確
/usr/local/apache2/bin/apachectl -t
成功會顯示:Syntax OK
l 啓動Apache服務器
/usr/local/apache2/bin/apachectl start
查看是否啓動成功:netstat -lnp|grep httpd
#curl localhost 顯示<html><body><h1>It work<h1>XXX表示成功
l 編輯一個PHP文件
vim /usr/local/apache2/htdocs/1.php #往裏面寫代碼,就是一個頁面
l 測試解析是否成功
#curl localhost/1.php
顯示1.php的內容,表示解析成功