1. 程式人生 > >在centos7中編譯安裝lamp環境

在centos7中編譯安裝lamp環境

1.   輔助軟體的安裝

(1)   所需軟體包

  1. apr-1.5.2.tar.gz
  2. apr-util-1.5.4.tar.gz
  3. curl-7.52.1.tar.gz
  4. freetype-2.7.tar.gz
  5. httpd-2.4.25.tar.gz
  6. jpegsrc.v7.tar.gz
  7. jpgraph-4.0.2.tar.gz
  8. libevent-2.1.8-stable.tar.gz
  9. libgd-2.1.0.tar.gz
  10. libmcrypt-2.5.8.tar.gz
  11. libmemcached-1.0.18.tar.gz
  12. libpng-1.5.28.tar.gz
  13. libxml2-sources-2.9.7.tar.gz
  14. mcrypt-2.6.8.tar.gz
  15. memcache-3.0.8.tgz
  16. memcached-1.4.34.tar.gz
  17. mhash-0.9.9.9.tar.gz
  18. mysql-5.6.41.tar.gz
  19. ncurses-6.0.tar.gz
  20. pcre-8.39.gz
  21. php-5.6.29.tar.gz
  22. zlib-1.2.10.tar.gz

同時需要配置yum源,並且yum源可以正常使用,yum如何配置在這裡就不做說明了。

(2)   安裝libxml2

libxml是一個用來解析XML文件的函式庫。它用C語言寫成, 並且能為多種語言所呼叫,例如C語言,C++,XSH。C#, Python,Kylix/Delphi,Ruby,和PHP等。Perl中也可以使用XML::LibXML模組。它最初是為GNOME開發的專案,但現在可以用在各種各樣的方面。libXML 程式碼可移植性非常好,因為它基於標準的ANSI C庫, 並採用MIT許可證。安裝步驟如下:

       tar -zxvf libxml2-2.9.1.tar.gz

       yum -y install python-devel gcc-c++

       cd /lamp/libxml2-2.9.1

       ./configure --prefix=/usr/local/libxml2/ && make && make install

(3)   安裝libmcrypt

libmcrypt是加密演算法擴充套件庫。支援DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等演算法。安裝步驟如下:

       tar -zxvf libmcrypt-2.5.8.tar.gz

       cd /lamp/libmcrypt-2.5.8

       ./configure --prefix=/usr/local/libmcrypt/ && make && make install

(4)   安裝libltdl

libltdl也在libmcrypt原始碼目錄中,非新軟體,安裝步驟如下:

       cd /lamp/libmcrypt-2.5.8/libltdl

       ./configure --enable-ltdl-install && make && make install

(5)   安裝mhash  

Mhash是基於離散數學原理的不可逆向的PHP加密方式擴充套件庫,其在預設情況下不開啟。mhash的可以用於建立校驗數值,訊息摘要,訊息認證碼,以及無需原文的關鍵資訊儲存(如密碼)等。安裝步驟如下:

       tar -zxvf mhash-0.9.9.9.tar.gz

       cd /lamp/mhash-0.9.9.9

       ./configure  && make && make install

(6)   安裝mcrypt

mcrypt 是PHP裡面重要的加密支援擴充套件庫。Mcrypt庫支援20多種加密演算法和8種加密模式。安裝步驟如下:

       tar -zxvf mcrypt-2.6.8.tar.gz

       cd /lamp/mcrypt-2.6.8

       LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib  ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt && make && make install

(7)   安裝zlib

zlib是提供資料壓縮用的函式庫,由Jean-loup Gailly與Mark Adler所開發,初版0.9版在1995年5月1日發表。zlib使用DEFLATE演算法,最初是為libpng函式庫所寫的,後來普遍為許多軟體所使用。此函式庫為自由軟體,使用zlib授權。安裝步驟如下:

       tar -zxvf zlib-1.2.3.tar.gz

       cd /lamp/zlib-1.2.3                    

       CFLAGS="-O3 -fPIC" ./configure && make && make install >>  /root/zlib.log

(8)   安裝libpng

libpng 軟體包包含 libpng 庫.這些庫被其他程式用於解碼png圖片。安裝步驟如下:

       tar -zxvf   libpng-1.2.31.tar.gz

       cd /lamp/libpng-1.2.31

       ./configure --prefix=/usr/local/libpng && make && make install

(9)   安裝jpeg7

用於解碼.jpg和.jpeg圖片。安裝步驟如下:

       tar -zxvf jpegsrc.v7.tar.gz

       mkdir /usr/local/jpeg7

       mkdir /usr/local/jpeg7/bin

       mkdir /usr/local/jpeg7/lib

       mkdir /usr/local/jpeg7/include

       mkdir -p /usr/local/jpeg7/man/man1

       cd /lamp/jpeg-7

       ./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static && make && make install

(10)  安裝freetype

FreeType庫是一個完全免費(開源)的、高質量的且可移植的字型引擎,它提供統一的介面來訪問多種字型格式檔案,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支援單色點陣圖、反走樣點陣圖的渲染。FreeType庫是高度模組化的程式庫,雖然它是使用ANSI C開發,但是採用面向物件的思想,因此,FreeType的使用者可以靈活地對它進行裁剪。安裝步驟如下:

       tar -zxvf greetype-2.3.5.tar.gz

       cd /lamp/freetype-2.3.5

       ./configure --prefix=/usr/local/freetype/ && make && make install

       make

       make install

(11)  安裝GD庫   

GD庫,是php處理圖形的擴充套件庫,GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者生成圖片。 在網站上GD庫通常用來生成縮圖,或者用來對圖片加水印,或者用來生成漢字驗證碼,或者對網站資料生成報表等。安裝步驟如下:

       tar -zxvf libgd-2.1.0.tar.gz

       cd /lamp/ libgd-2.1.0

       ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg7/ --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/ && make && make install

2.     安裝Apache

(1)   檢測系統是否安裝有httpd

       rpm -qa  | grep httpd

       如果有,就解除安裝:httpd:rpm -e httpd –nodeps

(2)   安裝Apache

       tar -zxvf pcre-8.34.tar.gz

       cd pcre-8.34

       ./configure && make && make install

       tar -zxvf apr-1.4.6.tar.gz

       tar -zxvf apr-util-1.4.1.tar.gz

       cp -r apr-1.4.6  httpd-2.4.7/srclib/apr

       cp -r apr-util-1.4.1   httpd-2.4.7/srclib/apr-util

       cd/lamp/httpd-2.4.7

       ./configure  --prefix=/usr/local/apache2/  --sysconfdir=/usr/local/apache2/etc/ --with-include-apr --enable-so --enable-deflate=shared --enable-expires=shared  --enable-rewrite=shared

       make && make install

(3)   把httpd新增到系統服務中,並開機自動啟動

       cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

       vim /etc/init.d/httpd  在第一行#!/bin/sh下增加兩行文字:

       #chkconfig: 234 20 80

       #description: apache

(4)新增開機自啟動

       chkconfig --add httpd

       chkconfig --level 345 httpd on

(5)新增環境變數

       echo “export PATH=’/usr/local/apache2/bin:$PATH’” >> /etc/profile

       source /etc/profile

(6)將 apache 的配置檔案httpd.conf(在/usr/local/apache2/etc/下)中的 ServerName 改成可用域名或如下配置ServerName localhost:80

(7)啟動Apache

       systemctl start httpd

  (8)  Apache測試

在瀏覽器中輸入Apache的地址,檢視是否有It Works文字。

3.     安裝MySQL

(1)   檢測系統是否安裝有MySQL

       rpm -qa | grep mysql

       如果有解除安裝:rpm -e mysql --nodeps

       同時解除安裝:rpm -e mysql-server

(2)   安裝ncurses

       yum install -y ncurses-devel

       tar -zxvf ncurses-5.9.tar.gz

       cd /lamp/ncurses-5.9

       ./configure  --with-shared --without-debug --without-ada --enable-overwrite && make && make install

(3)   安裝cmake和bison

       yum install -y cmake bison autoconf

(4)   建立使用者組

       groupadd mysql

       useradd -g mysql -s /usr/sbin/nologin mysql

       mkdir -p /var/mysql/data/

       chown mysql.mysql -R /var/mysql/

(5)   安裝MySQL

       tar -zxvf /lamp/ mysql-5.6.16.gz

       cd /lamp mysql-5.6.16

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DDEFAULT_CHARSET=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DMYSQL_DATADIR=/var/mysql/data -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled -DDOWNLOAD_BOOST=1 -DSYSCONFDIR=/var/mysql/conf

              make && make install

(6)   修改許可權

       chown -Rf mysql:mysql /usr/local/mysql

       mv /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf(有舊配置檔案則覆蓋)

(7)   將mysql新增到系統服務中,開機啟動

       cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

       chkconfig --add mysql

       chkconfig --level 2345 mysqld  on

(8)   新增環境變數

       echo "export PATH=/usr/local/mysql/bin/:$PATH" >> /etc/profile

       source /etc/profile

(9)   初始化資料庫

/usr/local/mysql5.6/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data

(10)在配置檔案寫入引數:

basedir=/usr/local/mysql

datadir=/var/mysql/data

(11)  mysql的啟動

       systemctl mysql start

(11)  修改密碼

       /usr/local/mysql/bin/mysqladmin -u root password 'root'

4.     安裝PHP

(1)   檢測系統是否安裝有MySQL

       rpm -qa | grep php

       如果有,解除安裝:rpm -e php

(2)   安裝所需軟體包

       yum -y install libxml2-devel openssl openssl-devel curl curl-devel libjpeg-devel  libpng-devel freetype-devel pcre-devel libxslt libxslt-devel bzip2 bzip2-devel libtool-ltdl* libtool*

(3)安裝libmcrypt

       tar zxf libmcrypt-2.5.8.tar.gz

       cd libmcrypt-2.5.8

       ./configure

       make && make install

(4)安裝PHP

       tar-zxvf php-5.6.29.tar.gz

       cd php-5.6.29

       ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --enable-debug --enable-rpath --enable-shared --enable-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir=/usr/local/libxml2/ --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-apxs2=/usr/local/apache2/bin/apxs --enable-xml --with-xmlrpc --with-xsl --with-pdo-sqlite --with-pear --with-kerberos  --with-pcre-regex --with-libdir=lib

       make && make install

(5)   生成php.ini

       mkdir /usr/local/php/etc/

       cp /lamp/php-5.6/php.ini-production /usr/local/php/etc/php.ini

(6)   編輯http.conf檔案

       vim /usr/local/apache2/etc/http.conf

       在檔案最後新增:

       AddType application/x-httpd-PHP .php

       <IfModule mod_php5.c>

                          AddType application/x-httpd-php .php

                          AddType application/x-httpd-php-source .phps

       </IfModule>

(7)   安裝phpMyAdmin

phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyAdmin跟其他PHP程式一樣在網頁伺服器上執行,但是您可以在任何地方使用這些程式產生的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除資料庫及資料表。也可藉由phpMyAdmin建立常用的php語法,方便編寫網頁時所需要的sql語法正確性。安裝步驟如下:

       cp -r phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin

       cd /usr/local/apache2/htdocs/phpmyadmin

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

       vim config.inc.php

修改

       $cfg[‘Servers’][$i][auth_type]=’cookie’;

       $cfg[‘Servers’][$i][auth_type]=’http’;

 (8)  PHP和phpMyAdmin的測試

在Apache網站執行的根目錄下編寫檔案index.php,檔案內容具體如下所示。

<?php

     phpinfo();

?>

如果出現了LAMP的具體配置資訊,就說明Apache和PHP元件正常執行。在瀏覽器中輸入http://192.168.1.128/phpmyadmin/,出現MySQL的登入表單,就說明,MySQL正常執行。到此為止,LAMP環境搭建成功。