最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CentOS 6.3下源碼安裝LAMP(Linux+Apache+Mysql+Php)運(yùn)行環(huán)境步驟

 更新時(shí)間:2014年07月20日 22:19:44   投稿:mdxy-dxy  
這篇文章主要介紹了CentOS 6.3下源碼安裝LAMP(Linux+Apache+Mysql+Php)運(yùn)行環(huán)境步驟,需要的朋友可以參考下

一、簡介

什么是LAMP
LAMP是一種Web網(wǎng)絡(luò)應(yīng)用和開發(fā)環(huán)境,是Linux, Apache, MySQL, Php/Perl的縮寫,每一個(gè)字母代表了一個(gè)組件,每個(gè)組件就其本身而言都是在它所代表的方面功能非常強(qiáng)大的組件。
LAMP這個(gè)詞的由來最早始于德國雜志“c't Magazine”,Michael Kunze在1990年最先把這些項(xiàng)目組合在一起創(chuàng)造了LAMP的縮寫字。這些組件并不是開始就設(shè)計(jì)為一起使用的,但是,這些軟件都是開源的,可以很方便的隨時(shí)獲得并免費(fèi)使用,這就導(dǎo)致了這些組件經(jīng)常在一起使用。這些組件的兼容性也在不斷完善,為了改善不同組件之間的協(xié)作,已經(jīng)創(chuàng)建了某些擴(kuò)展功能,在一起的應(yīng)用情形變得非常普便,因而成為目前最流行的web應(yīng)用基礎(chǔ)架構(gòu)。

LAMP的組件
平臺(tái)由四個(gè)組件組成,呈分層結(jié)構(gòu),每一層都提供了整個(gè)架構(gòu)的一個(gè)關(guān)鍵部分:
LinuxLinux 處在最底層,提供操作系統(tǒng)。它的靈活性和可定制化的特點(diǎn)意味著它能夠產(chǎn)生一種高度定制的平臺(tái),讓其它組件在上面運(yùn)行。其它組件運(yùn)行于Linux 之上,但是并不一定局限于 Linux,也可以在 Microsoft Windows, Mac OS X 或 UNIX上運(yùn)行。
ApacheApache位于第二層,它是一個(gè)Web 服務(wù)平臺(tái),提供可讓用戶獲得 Web 頁面的機(jī)制。Apache 是一款功能強(qiáng)大、穩(wěn)定、可支撐關(guān)鍵任務(wù)的Web服務(wù)器,Internet 上超過 50% 的網(wǎng)站都使用它作為 Web 服務(wù)器。
MySQLMySQL 是最流行的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng),是LAMP的數(shù)據(jù)存儲(chǔ)端。在 Web 應(yīng)用程序中,所有帳戶信息、產(chǎn)品信息、客戶信息、業(yè)務(wù)數(shù)據(jù)和其他類型的信息都存儲(chǔ)于數(shù)據(jù)庫中,通過 SQL 語言可以很容易地查詢這些信息。
PHP/PerlPerl是一種靈活的語言,特別是在處理文本要素的時(shí)候,這種靈活性使Perl很容易處理通過CGI接口提供的數(shù)據(jù),靈活地運(yùn)用文本文件和簡單數(shù)據(jù)庫支持動(dòng)態(tài)要素。PHP 是一種被廣泛應(yīng)用的開放源代碼的多用途腳本語言,它可嵌入到 HTML中,尤其適合 web 開發(fā)??梢允褂?PHP 編寫能訪問 MySQL 數(shù)據(jù)庫中的數(shù)據(jù)和 Linux 提供的一些特性的動(dòng)態(tài)內(nèi)容。

二、系統(tǒng)環(huán)境

系統(tǒng)平臺(tái):CentOS release 5.8 (Final)

Apache版本:httpd-2.2.9.tar.gz

Mysql 版本:mysql-5.0.41.tar.gz

Php版本:php-5.2.6.tar.gz

三、安裝前準(zhǔn)備

1、庫文件準(zhǔn)備

在安裝PHP之前,應(yīng)先安裝PHP5需要的最新版本庫文件,例如libxml2、libmcrypt以及GD2庫等文件。安裝GD2庫是為了讓PHP5支 持GIF、PNG和JPEG圖片格式,所以在安裝GD2庫之前還要先安裝最新的zlib、libpng、freetype和jpegsrc等庫文件。而且中間還會(huì)穿插安裝一些軟件,讀者可以按照本節(jié)提供的順序安裝。

autoconf-2.61.tar.gz

freetype-2.3.5.tar.gz

gd-2.0.35.tar.gz

jpegsrc.v6b.tar.gz

libmcrypt-2.5.8.tar.gz

libpng-1.2.31.tar.gz

libxml2-2.6.30.tar.gz

zlib-1.2.3.tar.gz

ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz

phpMyAdmin-3.0.0-rc1-all-languages.tar.gz

2、安裝gcc、gcc-c++編譯器

用gcc -v 命令檢查安裝時(shí)使用的編譯工作是否存在

如系統(tǒng)未安裝,在系統(tǒng)聯(lián)網(wǎng)的情況下使用yum install gcc和yum install gcc-c++安裝

3、卸載默認(rèn)的低版本環(huán)境

目前發(fā)行的Linux操作系統(tǒng)版本中,如果選擇默認(rèn)全部安裝,就已經(jīng)安裝了LAMP環(huán)境,但是版本相對(duì)都比較低。我們可以再安裝一個(gè)LAMP環(huán)境和原來的并存,但是這樣做沒有必要,因?yàn)橥瑫r(shí)只能開啟一個(gè)LAMP環(huán)境。所要我們要在安裝之前,先應(yīng)檢查一下系統(tǒng)中是否已經(jīng)安裝了低版本的環(huán)境,如果已經(jīng)安裝過了,停止原來的服務(wù)運(yùn)行,或者把原來的環(huán)境卸載掉。

a. 卸載Apache

# rpm -qa | grep httpd

說明:檢查是否安裝了httpd軟件包

# rpm -e httpd-2.2.3-63.el5.centos --nodeps

說明:卸載軟件包, --nodeps 如果有連帶關(guān)系,也強(qiáng)制卸載

# cd /etc/httpd/

# rm -rf *

說明:到原來的apache安裝目錄下,將其所有的安裝目錄和文件都刪掉

b. 卸載Mysql

# rpm -qa | grep mysql

# rpm -e mysql-5.0.77-4.el5_4.2 --nodeps

說明:卸載mysql

c. 卸載Php

# rpm -qa | grep php

# rpm -e php-common-5.1.6-27.el5 --nodeps

# rpm -e php-ldap-5.1.6-27.el5 --nodeps

# rpm -e php-cli-5.1.6-27.el5 --nodeps

# rpm -e php-5.1.6-27.el5 --nodeps

說明:卸載PHP

4、關(guān)閉selinux,清空防火墻規(guī)則

5、使用ssh shell將windows下的13個(gè)源碼包上傳到/usr/local/src

6、解包

編寫一個(gè)shell腳本tar.sh進(jìn)行解包。

#!/bin/sh cd /usr/local/srcls *.tar.gz > ls.list for TAR in `cat ls.list` dotar -zxvf $TARdone

執(zhí)行腳本tar.sh進(jìn)行解包

7、將源碼包*.tar.gz全都刪除

四、安裝LAMP

1、安裝libxml2

# cd /usr/local/src/libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2
# make && make install

2、安裝libmcrypt

# cd /usr/local/src/libmcrypt-2.5.8
# ./configure --prefix=/usr/local/libmcrypt
# make && make install

3、安裝zlib

# cd /usr/local/src/zlib-1.2.3
# ./configure
# make && make install

4、安裝libpng

# cd /usr/local/src/libpng-1.2.31
# ./configure --prefix=/usr/local/libpng
# make && make install

5、安裝jpeg6

這個(gè)軟件包安裝有些特殊,其它軟件包安裝時(shí)如果目錄不存在,會(huì)自動(dòng)創(chuàng)建,但這個(gè)軟件包安裝時(shí)需要手動(dòng)創(chuàng)建。

# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man/man1

# cd /usr/local/src/jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make && make install

6、安裝freetype

# cd /usr/local/src/freetype-2.3.5
# ./configure --prefix=/usr/local/freetype
# make
# make install

7、安裝autoconf

# cd /usr/local/src/autoconf-2.61
# ./configure
# make && make install

8、安裝GD庫

# cd /usr/local/src/gd-2.0.35
# ./configure \
--prefix=/usr/local/gd2/ \
--enable-m4_pattern_allow \
--with-zlib=/usr/local/zlib/ \
--with-jpeg=/usr/local/jpeg6/ \
--with-png=/usr/local/libpng/ \
--with-freetype=/usr/local/freetype/

# make

出現(xiàn)錯(cuò)誤:

make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/usr/local/src/gd-2.0.35'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/gd-2.0.35'
make: *** [all] Error 2

分析:這個(gè)問題是因?yàn)間d庫中的gd_png.c這個(gè)源文件中包含png.h時(shí),png.h沒有找到導(dǎo)致的。

解決:

在編譯文件里

# vi gd_png.c

將include “png.h” 改成 include “/usr/local/libpng/include/png.h”

其中/usr/local/libpng/為libpng安裝路徑。

# make install

9、安裝Apache

# cd /usr/local/src/httpd-2.2.9
# ./configure \
--prefix=/usr/local/apache2 \
--sysconfdir=/etc/httpd \
--with-z=/usr/local/zlib \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support
# make && make install

10、配置Apache

啟動(dòng)Apache
# /usr/local/apache2/bin/apachectl start

關(guān)閉Apache
# /usr/local/apache2/bin/apachectl stop

查看80端口是否開啟
# netstat -tnl|grep 80

訪問Apache服務(wù)器

添加自啟動(dòng)
# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local

11、安裝Mysql

添加一個(gè)mysql標(biāo)準(zhǔn)組
# groupadd mysql

添加mysql用戶并加到mysql組中
# useradd -g mysql mysql

# cd /usr/local/src/mysql-5.0.41
# ./configure \
--prefix=/usr/local/mysql/ \
--with-extra-charsets=all

出現(xiàn)錯(cuò)誤:

checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found

分析:缺少ncurses安裝包

解決:

# yum install ncurses-devel

# make && make install

12、配置Mysql

創(chuàng)建MySQL數(shù)據(jù)庫服務(wù)器的配置文件
# cp support-files/my-medium.cnf /etc/my.cnf

用mysql用戶創(chuàng)建授權(quán)表,創(chuàng)建成功后,會(huì)在/usr/local/mysql目錄下生成一個(gè)var目錄
# /usr/local/mysql/bin/mysql_install_db --user=mysql

將文件的所有屬性改為root用戶
# chown -R root /usr/local/mysql

將數(shù)據(jù)目錄的所有屬性改為mysql用戶
# chown -R mysql /usr/local/mysql/var

將組屬性改為mysql組
# chgrp -R mysql /usr/local/mysql

啟動(dòng)數(shù)據(jù)庫
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

查看3306端口是否開啟
# netstat -tnl|grep 3306

簡單的測(cè)試
# /usr/local/mysql/bin/mysqladmin version

查看所有mysql參數(shù)
# /usr/local/mysql/bin/mysqladmin variables

設(shè)置Mysql開機(jī)自啟動(dòng)
# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root.root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# chkconfig --levels 245 mysqld off

13、Mysql安全性設(shè)置

沒有密碼可以直接登錄本機(jī)服務(wù)器
# /usr/local/mysql/bin/mysql -u root

查看mysql用戶權(quán)限信息
mysql> select * from mysql.user;

刪除非localhost的主機(jī)
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

刷新授權(quán)表
mysql> FLUSH PRIVILEGES;

為root用戶添加密碼
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc123');

再次進(jìn)入Mysql客戶端
# /usr/local/mysql/bin/mysql -u root -h localhost -p

關(guān)閉MySQL數(shù)據(jù)庫
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown

14、安裝PHP

# cd /usr/local/src/php-5.2.6
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/libxml2/ \
--with-png-dir=/usr/local/libpng/ \
--with-jpeg-dir=/usr/local/jpeg6/ \
--with-freetype-dir=/usr/local/freetype/ \
--with-gd=/usr/local/gd2/ \
--with-zlib-dir=/usr/local/zlib/ \
--with-mcrypt=/usr/local/libmcrypt/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring=all \
--enable-sockets
# make && make install

15、配置PHP

創(chuàng)建配置文件
# cp php.ini-dist /usr/local/php/etc/php.ini

使用vi編輯apache配置文件
# vi /etc/httpd/httpd.conf

添加這一條代碼
Addtype application/x-httpd-php .php .phtml

重啟Apache
# /usr/local/apache2/bin/apachectl restart

以上安裝步驟可以寫成一個(gè)shell script,詳細(xì)參考http://files.cnblogs.com/mchina/lamp.rar

16、安裝Zend加速器

# cd /usr/local/src/ZendOptimizer-3.2.6-linux-glibc21-i386/
# ./install.sh

17、安裝phpMyAdmin

拷貝目錄到指定位置并改名為phpmyadmin

# cp -a phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin

# cd /usr/local/apache2/htdocs/phpmyadmin/

# cp config.sample.inc.php config.inc.php

18、配置phpMyAdmin

# vi /usr/local/apache2/htdocs/phpmyadmin/config.inc.php

將auth_type 改為http

$cfg['Servers'][$i]['auth_type'] = 'http';

五、測(cè)試

1、編寫info.php文件,查看php配置詳細(xì)

# vi /usr/local/apache2/htdocs/info.php

<?phpphpinfo();?>

通過瀏覽器訪問http://10.0.0.154/info.php,獲得php的詳細(xì)配置信息

2、Zend加速器信息

3、訪問phpMyAdmin

至此LAMP環(huán)境配置完畢。

關(guān)于LNMP(linux+nginx+mysql+php)服務(wù)器環(huán)境配置,請(qǐng)參考:http://m.fzitv.net/article/52419.htm

相關(guān)文章

  • Apache和Tomcat服務(wù)器間的區(qū)別、聯(lián)系、整合詳細(xì)介紹

    Apache和Tomcat服務(wù)器間的區(qū)別、聯(lián)系、整合詳細(xì)介紹

    這篇文章主要介紹了Apache和Tomcat服務(wù)器間的區(qū)別、聯(lián)系、整合詳細(xì)介紹,本文重在介紹,沒有安裝、配置等教程,需要的朋友可以參考下
    2014-07-07
  • Linux seq命令的使用方法

    Linux seq命令的使用方法

    這篇文章主要介紹了Linux seq命令的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 將寶塔面板linux版裝在/www以外的目錄的方法

    將寶塔面板linux版裝在/www以外的目錄的方法

    很多云VPS系統(tǒng)盤,也就是根目錄(系統(tǒng)盤)都是10個(gè)G,寶塔安裝完整環(huán)境基本5個(gè)G沒有了,用了不到幾個(gè)月,隨著日志文件等亂七八糟的東西增加,面板就提示根目錄低于1個(gè)G,隨后mysql就莫名其妙掛掉,這里就為大家分享一下將面板安裝到別的目錄的方法
    2018-05-05
  • 淺談linux模擬多線程崩潰和多進(jìn)程崩潰

    淺談linux模擬多線程崩潰和多進(jìn)程崩潰

    這篇文章主要介紹了淺談linux模擬多線程崩潰和多進(jìn)程崩潰,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 用rsync對(duì)網(wǎng)站進(jìn)行鏡像備份實(shí)現(xiàn)步驟

    用rsync對(duì)網(wǎng)站進(jìn)行鏡像備份實(shí)現(xiàn)步驟

    對(duì)系統(tǒng)管理員來說,平時(shí)的工作重心應(yīng)該集中在維護(hù)系統(tǒng)正常運(yùn)轉(zhuǎn),能夠正常提供服務(wù)上,這里往往牽涉到一個(gè)數(shù)據(jù)備份的問題
    2009-03-03
  • Apache?HTTP?安裝和配置下載詳解

    Apache?HTTP?安裝和配置下載詳解

    這篇文章主要介紹了Apache?HTTP?安裝和配置下載,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • Linux靜態(tài)鏈接庫與模板類的處理方式

    Linux靜態(tài)鏈接庫與模板類的處理方式

    這篇文章主要介紹了Linux下編譯使用靜態(tài)鏈接庫遇到模板類的時(shí)該如何處理。
    2017-11-11
  • 詳解Linux 服務(wù)管理兩種方式service和systemctl

    詳解Linux 服務(wù)管理兩種方式service和systemctl

    systemd是Linux系統(tǒng)最新的初始化系統(tǒng)(init),作用是提高系統(tǒng)的啟動(dòng)速度,盡可能啟動(dòng)較少的進(jìn)程,盡可能更多進(jìn)程并發(fā)啟動(dòng)。這篇文章主要介紹了Linux 服務(wù)管理兩種方式service和systemctl,需要的朋友可以參考下
    2019-09-09
  • 使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務(wù)的方法

    使用 chkconfig 和 systemctl 命令啟用或禁用 Linux 服務(wù)的方法

    在 Linux 中,無論何時(shí)當(dāng)你安裝任何帶有服務(wù)和守護(hù)進(jìn)程的包,系統(tǒng)默認(rèn)會(huì)把這些服務(wù)的初始化及 systemd 腳本添加進(jìn)去,不過此時(shí)它們并沒有被啟用。下面小編給大家?guī)砹耸褂?chkconfig 和 systemctl 命令啟用或禁用 Linux 服務(wù)的方法,一起看看吧
    2018-11-11
  • Linux如何修改hosts文件并刷新DNS生效hosts文件

    Linux如何修改hosts文件并刷新DNS生效hosts文件

    這篇文章主要介紹了Linux如何修改hosts文件并刷新DNS生效hosts文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

潜江市| 崇州市| 远安县| 九寨沟县| 尼勒克县| 奈曼旗| 嘉义县| 台东县| 陕西省| 龙江县| 元阳县| 自治县| 西林县| 扎兰屯市| 双辽市| 奇台县| 白朗县| 瑞丽市| 巫山县| 翁牛特旗| 日土县| 富裕县| 武胜县| 大同县| 名山县| 民和| 永福县| 运城市| 隆昌县| 高碑店市| 兴山县| 霍城县| 依兰县| 湘潭市| 江城| 舞阳县| 八宿县| 大丰市| 远安县| 龙州县| 苍溪县|