在centos7中編譯安裝lamp環境
1. 輔助軟體的安裝
(1) 所需軟體包
- apr-1.5.2.tar.gz
- apr-util-1.5.4.tar.gz
- curl-7.52.1.tar.gz
- freetype-2.7.tar.gz
- httpd-2.4.25.tar.gz
- jpegsrc.v7.tar.gz
- jpgraph-4.0.2.tar.gz
- libevent-2.1.8-stable.tar.gz
- libgd-2.1.0.tar.gz
- libmcrypt-2.5.8.tar.gz
- libmemcached-1.0.18.tar.gz
- libpng-1.5.28.tar.gz
- libxml2-sources-2.9.7.tar.gz
- mcrypt-2.6.8.tar.gz
- memcache-3.0.8.tgz
- memcached-1.4.34.tar.gz
- mhash-0.9.9.9.tar.gz
- mysql-5.6.41.tar.gz
- ncurses-6.0.tar.gz
- pcre-8.39.gz
- php-5.6.29.tar.gz
- 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環境搭建成功。