LAMP的安裝

一,LAMP的安裝流程:mysql、apache、php或者apache、mysql、php。php放到最後的緣由是,php在編譯安裝的時候是依賴於前2者的。php

二,Mysql的安裝:html

1.下載mysql,能夠經過http://mirrors.sohu.com/下載mysql軟件。python

wget  http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz  mysql

2.解壓並重命名linux

 tar -zxvf  mysql-5.1.73-linux-i686-glibc23.tar.gzsql

 mv mysql-5.1.73-linux-i686-glibc23     /usr/local/mysql/
3.創建MySQL用戶,建立datadir目錄。
useradd -s /sbin/nologin mysql
mkdir -p /data/mysql/
chown mysql /data/mysql/
4,初始化數據庫。
 cd /usr/local/mysql  
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/  查看是否有2個OK或者echo $?以此判斷初始化數據庫是否成功。
初始化成功後會在/data/mysql生成mysql和test的2個目錄。
5,拷貝配置文件、啓動腳本,並將mysql添加到服務列表設置開機啓動。
cp support-files/mysql-large.cnf /etc/my.cnf  
cp support-files/mysql.server /etc/init.d/mysqld  修改/etc/init.d/mysqld的配置文件中的basedir datadir。
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on 
/etc/init.d/mysqld start 

三,安裝apache數據庫

1,下載httpd並解壓。apache

wget  http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz vim

tar -zxvf httpd-2.2.31.tar.gz centos

 

2,編譯前的參數配置

cd /usr/local/ httpd-2.2.31

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
其中 --prefix 指定安裝到哪裏, --enable-so 表示啓用DSO,這個是用來支持安裝擴展模塊的,好比你rewrite這個模塊沒有安裝可是你是在編譯啓動了DSO,這個時候你就能夠擴展安裝rewrite模塊了,使用的工具是apache自動的apxs擴展工具。其實這個就是一個perl腳本,具體如何擴展安裝其餘模塊,後續會在此處添加連接。
 --enable-deflate=shared 表示共享的方式編譯deflate,後面的參數同理。
上述操做是否成功,能夠經過echo $?的返回值來確認。
 
3,編譯
make    make後會在當前目錄生成一個makefile的一個文件,若是沒有編譯前的配置,直接make就會出現找不到makefile。
 
4,安裝
make install   將軟件安裝到你指定的目錄。
 
5,啓動httpd
/usr/local/apache2/bin/apachectl start,會有一行提示,
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
這個是由於沒有開啓ServerName,修改httpd的配置文件,vim /usr/local/apache2/conf/httpd.conf將ServerName註釋取消掉便可。
ps aux|grep httpd     用瀏覽器訪問,是否顯示It works.
 
 
四,安裝php
4.1 ,下載php並解壓。
tar -zxvf php-5.3.28.tar.gz
cd php-5.3.28
4.2,編譯前的參數配置
./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-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--with-apxs2=/usr/local/apache2/bin/apxs        讓系統自動加載phplib5.so的擴展模塊 ,而且在httpd.conf添加php模塊,是個擴展工具。
 
編譯前的參數配置會出現各類報錯,可是都是缺乏庫文件而已。能夠根據報錯信息,安裝對應的庫文件便可。
 
configure: error: xml2-config not found. Please check your libxml2 installation.

解決辦法是:

yum install -y libxml2-devel

還有錯誤:

configure: error: Cannot find OpenSSL's <evp.h>

解決辦法是:

yum install -y openssl openssl-devel

錯誤:

checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution

解決辦法:

yum install -y bzip2 bzip2-devel

錯誤:

configure: error: png.h not found.

解決辦法:

yum install -y libpng libpng-devel

錯誤:

configure: error: freetype.h not found.

解決辦法:

yum install -y freetype freetype-devel

錯誤:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解決辦法:

yum install -y epel-release
yum install -y  libmcrypt-devel

由於centos6.x 默認的yum源沒有libmcrypt-devel 這個包,只能藉助第三方yum源。另外,這裏安裝的包都是*-devel的包。

4.3,編譯 

make

4.4,安裝

make install

4.5 拷貝配置文件

cp /usr/local/src/php-5.3.28/ php.ini-production  /usr/local/php/etc/php.ini

這裏有2個文件,1個是production(生產環境),1個是development(測試環境)。

 

 

五,Apache與PHP結合
 

Apache主配置文件爲:/usr/local/apache2/conf/httpd.conf

vim/usr/local/apache2/conf/httpd.conf

找到:

AddType application/x-gzip .gz .tgz   

在該行下面添加:

AddType application/x-httpd-php .php  添加能夠對php腳本解析,必須添加上對應的類型

找到:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

將該行改成:

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>               增長對PHP的索引  自動索引頁

 

PHP測試代碼,cd /usr/local/apache2/hdocs  
vim index.php  
 
<?php
echo "What fucking is PHP!";
?>
或者
<?php
phpinfo();
?>   能夠用來排錯
/usr/local/php/bin/php -m  查看模塊
/usr/local/php/bin/php -i   查看配置信息
/usr/local/php/bin/php -v 查看版本
 /usr/local/php/bin/php -i |head      查看編譯參數   也能夠查看php源碼中的config.nice
/usr/local/php/bin/php -i |grep configure
打開瀏覽器進行訪問,查看可否正常解析PHP。
 
 
另外,測試是否php是否能夠mysql php腳本以下:
<?php

   $link = mysql_connect('127.0.0.1','root','');

   if ($link)

       echo "successful...";

   else

       echo "Failure...";

   mysql_close();

?>
相關文章
相關標籤/搜索