詳解LAMP源碼編譯安裝

實戰:LAMP源碼編譯安裝

 

家住海邊喜歡浪:zhang789.blog.51cto.comphp

目錄

  • 詳解LAMP源碼編譯安裝css

    • LAMP簡介html

    • 1、準備工做mysql

    • 2、編譯安裝 Apachelinux

    • 3、編譯安裝 MySQLweb

    • 4、編譯安裝 PHPsql

  • 測試LAMP搭建開源數據web管理程序phpMyadminapache

詳解LAMP源碼編譯安裝

LAMP簡介

LAMP是當下很是流行的一套Web架構,咱們能夠在GNU/Linux下經過其餘人打包的程序包來進行安裝; 可是在生產環境中,不少時候都須要咱們本身定製安裝AMP,編譯安裝LAMP有如下幾個優勢vim

根據生產環境靈活定製程序 
優化編譯參數,提升性能 
解決沒必要要的軟件依賴緩存

1、準備工做

卸載yum或rpm安裝的amp軟件

一、在編譯安裝lamp以前,首先先卸載已存在的rpm包。

[root@localhost ~]# yum -y remove httpd
[root@localhost ~]# yum -y remove mysql-server mysql
[root@localhost ~]# yum -y remove php
[root@localhost ~]# yum -y remove php-mysql

二、禁用SeLinux

selinux可能會導致編譯安裝失敗,咱們先禁用它。

[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  #永久禁用,須要重啓生效。

[root@localhost ~]# setenforce 0  #臨時禁用,不須要重啓(推薦)。

三、yum安裝必要工具

[root@localhost ~]# yum -y groupinstall "Development tools" "Server Platform Development"

四、下載所需源碼

Apache=http://httpd.apache.org/                                     httpd主程序包
MySQL=http://dev.mysql.com/downloads/mysql/         mysql主程序包
PHP=http://php.net/downloads.php                        php主程序包
apr=http://apr.apache.org/                              apr是httpd的依賴包
apr-util=http://apr.apache.org/                         apr-util是httpd的第二個依賴包
pcre=http://pcre.org/                                   pcre是httpd的三個依賴包

下載的源碼包統一放在 /usr/local/src/ 目錄下。

[root@localhost ~]# ll /usr/local/src/
總用量 54444
-rwxr-xr-x 1 root root  1031613 2月  28 2016 apr-1.5.2.tar.gz
-rwxr-xr-x 1 root root   694427 2月  28 2016 apr-util-1.5.4.tar.bz2
-rwxr-xr-x 1 root root  5101005 2月  28 2016 httpd-2.4.16.tar.bz2
-rwxr-xr-x 1 root root 33278710 2月  28 2016 mysql-5.6.26.tar.gz
-rwxr-xr-x 1 root root  1557603 2月  28 2016 pcre-8.37.tar.bz2
-rwxr-xr-x 1 root root 14077633 2月  28 2016 php-5.6.13.tar.bz2

2、編譯安裝 Apache

Apache官方說:

與Apache 2.2.x相比,Apache 2.4.x提供了不少性能方面的提高,包括支持更大流量、更好地支持雲計算、利用更少的內存處理更多的併發等。除此以外,還包括性能提高、內存利用、異步I/O的支持、動態反向代理設置、與時間驅動的Web服務器至關或更好的性能、更強大的處理資源分配能力,更便捷的緩存支持以及可定製的高速服務器和代理等。其它的功能還包括更簡單的錯誤分析、更靈活的設置項、更強大的驗證機制和更完整的文檔。

Apache服務器項目管理委員會和Apache基金會主席Jim Jagielski表示,他們但願終端用戶能真正地看到性能進步,Apache 2.4.x比許多以速度見長的Web服務器更快,例如 Nginx。 
apache-2.2與新出的apache-2.4安裝不一樣的地方在於,2.4版的已經不自帶apr庫,因此在安裝apache-2.4以前,須要下載apr。

所需源碼包

apr-1.5.2.tar.gz
apr-util-1.5.4.tar.bz2
pcre-8.37.tar.bz2
httpd-2.4.16.tar.bz2

安裝Apache依賴庫

一、安裝 apr
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf apr-1.5.2.tar.gz
[root@localhost src]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make && make install
二、安裝 apr-util
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf apr-util-1.5.4.tar.bz2
[root@localhost src]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.5.4]# make && make install
三、安裝 pcre
[root@localhost apr-util-1.5.4]# cd /usr/local/src/
[root@localhost src]# tar xf pcre-8.37.tar.bz2
[root@localhost src]# cd pcre-8.37
[root@localhost pcre-8.37]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.37]# make && make install
四、安裝 Apache2.4.16
[root@localhost src]# tar xf httpd-2.4.16.tar.bz2 
[root@localhost src]# cd httpd-2.4.16
[root@localhost httpd-2.4.16]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.16]# make && make install

編譯參數解釋: 
--prefix=/usr/local/apache :指定安裝目錄 
--sysconfdir=/etc/httpd:配置文件安裝路徑 
--with-apr=/usr/local/apr: apr庫 
--with-apr-util=/usr/local/apr-util :apr-util庫 
--with-pcre=/usr/local/pcre : pcre庫 
--enable-so : 容許運行時加載DSO模塊(注意:so模塊需靜態編譯) 
--enable-ssl=shared: 將ssl模塊編譯爲DSO 
--enable-headers=shared : 將headers模塊編譯爲DSO 
--enable-rewrite=shared : 將rewrite模塊編譯爲DSO

五、初始化配置Apache
[root@localhost httpd-2.4.16]# /bin/cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
[root@localhost httpd-2.4.16]# groupadd apache #添加apache用戶組及用戶
[root@localhost httpd-2.4.16]# useradd -g apache -s /usr/sbin/nologin apache
[root@localhost httpd-2.4.16]# chown -R apache:apache /usr/local/apache2
[root@localhost httpd-2.4.16]# chmod +x /etc/init.d/apache2
[root@localhost httpd-2.4.16]# chkconfig --add apache2    #增長執行權限
[root@localhost httpd-2.4.16]# chkconfig --level 2345 apache2 on   #設置開機啓動
[root@localhost httpd-2.4.16]# chkconfig --list apache2    #查看是否設置成功
httpd           0:關閉    1:關閉    2:啓用    3:啓用    4:啓用    5:啓用    6:關閉
六、修改init命令文件
主要是修改文件中pidfile參數的值(進程文件指向)
[root@localhost ~]# vim /etc/init.d/httpd
#!/bin/sh
# chkconfig: 2345 64 36            
#這個是啓動級別的服務,2345是指那些級別啓動,64是開啓順序,應該在network服務的後面,36是關閉順序,應該在network的前面,這裏並非註釋
#默認network的是:2345 10 90
# description: Apache2.4.16 start script            #描述字段,有了這兩個字段,就能夠用chkconfig命令控制

pidfile=${PIDFILE-/var/run/${prog}.pid}
修改成
pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid}
[root@localhost httpd-2.4.16]# hostname mageedu.com
[root@localhost httpd-2.4.16]# echo "172.16.13.162 mageedu.com" >> /etc/hosts   //啓動不會報錯
[root@localhost httpd-2.4.16]# /etc/init.d/apache2 start

QQ20161016-3@2x.png

3、編譯安裝 MySQL

所需源碼包:

cmake-2.8.8.tar.gz
mysql-5.6.26.tar.gz
安裝cmake

MySQL從5.5版本開始,經過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具。

所以,咱們首先要在系統中源碼編譯安裝cmake工具。

[root@localhost ~]# cd /usr/local/src/cmake-2.8.8
[root@localhost cmake-2.8.8]# ./configure
[root@localhost cmake-2.8.8]# make && make install
編譯安裝配置MySQL

一、切換至 MySQL源碼 解壓目錄

[root@localhost ~]# cd /usr/local/src/

二、建立所需data目錄

[root@localhost src]# mkdir -pv /data/mysql

三、建立mysql用戶和mysql組

[root@localhost src]# groupadd -r mysql
[root@localhost src]# useradd -g mysql -r -s /sbin/nologin mysql

四、cmake編譯安裝

[root@localhost src]# tar xf mysql-5.6.26.tar.gz 
[root@localhost src]# cd mysql-5.6.26
[root@localhost mysql-5.6.26]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL-USER=mysql
[root@localhost src]# make && make install

五、初始化MySQL配置

[root@localhost src]# ln -s /usr/local/mysql/bin/* /bin/
[root@localhost src]# chmod +x /usr/local/mysql/scripts/mysql_install_db
[root@localhost src]# /usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/etc/my.cnf  \
--basedir=/usr/local/mysql/ \
--datadir=/data/mysql \
--user=mysql
配置開機自動啓動
[root@localhost src]# /bin/cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost src]# chmod +x /etc/init.d/mysqld
[root@localhost src]# chkconfig --add mysqld
[root@localhost src]# chkconfig --level 2345 mysqld on
[root@localhost src]# chkconfig --list mysqld #查看是否已應用上
修改配置文件
[root@localhost src]# /bin/cp support-files/my-default.cnf /etc/my.cnf
[root@localhost src]# vim /etc/my.cnf
在[mysqld]節點中添加:
datadir = /data/mysql
log-error = /data/mysql/error.log
pid-file = /data/mysql/mysql.pid
user = mysql
tmpdir = /tmp
啓動MySQL
[root@localhost src]# service mysqld start  # 或 /etc/init.d/mysqld start
[root@localhost src]# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"

4、編譯安裝 PHP

安裝PHP依賴庫

yum install -y libxml2 libxml2-devel bzip2-devel

一、安裝 libmcrypt

[root@localhost PHP]# cd /usr/local/src/PHP
[root@localhost PHP]# tar -xzvf ./libmcrypt-2.5.8.tar.gz
[root@localhost PHP]# cd ./libmcrypt-2.5.8
[root@localhost PHP]# ./configure --prefix=/usr
[root@localhost PHP]# make && make install

二、安裝 mhash

[root@localhost PHP]# cd /usr/local/src/PHP
[root@localhost PHP]# tar -xzvf ./mhash-0.9.9.9.tar.gz
[root@localhost PHP]# cd ./mhash-0.9.9.9
[root@localhost PHP]# ./configure --prefix=/usr
[root@localhost PHP]# make && make install

三、安裝 mcrypt

[root@localhost PHP]# /sbin/ldconfig  #搜索出可共享的動態連接庫
[root@localhost PHP]# cd /usr/local/src/PHP
[root@localhost PHP]# tar -xzvf ./mcrypt-2.6.8.tar.gz
[root@localhost PHP]# cd ./mcrypt-2.6.8
[root@localhost PHP]# ./configure
[root@localhost PHP]# make && make install

四、安裝 libiconv

[root@localhost PHP]# cd /usr/local/src/PHP
[root@localhost PHP]# tar -xzvf ./libiconv-1.14.tar.gz
[root@localhost PHP]# cd ./libiconv-1.14
[root@localhost PHP]# ./configure --prefix=/usr/local/libiconv
[root@localhost PHP]# make && make install

安裝 PHP

[root@localhost PHP]# tar -xzvf ./php-5.6.13.tar.gz
[root@localhost PHP]# cd php-5.6.13/
[root@localhost php-5.6.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mcrypt --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts
[root@localhost php-5.6.13]# make && make install

編譯參數解釋: 
--prefix=/usr/local/php : 設置安裝路徑 
--with-apxs2=/usr/local/apache2/bin/apxs : 編譯共享的 Apache 2.0 模塊 
--with-config-file-path=/etc : 指定配置文件php.ini地址 
--with-config-file-scan-dir=/etc/php.d : 指定額外的ini文件目錄 
--with-openssl : 編譯OpenSSL支持 
--with-zlib: 編譯zlib支持 
--enable-bcmath : 啓用BC風格精度數學函數 
--with-bz2 : BZip2支持 
--with-gd : GD支持 
--with-mhash : mhash支持 
--enable-mbstring : 啓用支持多字節字符串 
--with-mcrypt : 編譯mcrypt加密支持 
--enable-zip : 啓用zip 讀/寫支持 
--with-iconv=/usr/local/libiconv : iconv支持 
--with-curl : CRUL支持 
--with-mysql=/usr/local/mysql : 啓用mysql支持 
--with-pdo-mysql=/usr/local/mysql : 啓用pdo-mysql支持 
--without-pear : 不安裝PEAR

複製配置文件php.ini

[root@localhost php-5.6.13]# cp /usr/local/src/php-5.6.13/php.ini-production /etc/php.ini

整合Apache

一、在/etc/httpd/conf/httpd.conf文件中加入PHP文件類型解析(加在文件最後便可)

[root@localhost ~]# sed -i '378aAddType application/x-httpd-php .php' /etc/httpd/httpd.conf
[root@localhost ~]# sed -i '379aAddtype application/x-httpd-php-source .phps' /etc/httpd/httpd.conf
[root@localhost ~]# sed -i 's/DirectoryIndex.*index.*/DirectoryIndex index.php index.html/g' /etc/httpd/httpd.conf

二、重啓Apache

[root@localhost ~]# service httpd restart  # 或 /etc/init.d/httpd restart

三、添加測試頁面

[root@localhost php-5.6.13]# cat /usr/local/apache2/htdocs/index.php 
<?php
   phpinfo()
?>

QQ20161016-0@2x.png

測試LAMP搭建開源數據web管理程序phpMyadmin

[root@localhost src]# tar xf phpMyAdmin-3.5.8.2-all-languages.tar.gz
[root@localhost src]# ln -s /usr/local/src/phpMyAdmin-3.5.8.2 /usr/local/apache2/htdocs/pma/
[root@localhost htdocs]# chmod 755 pma
[root@localhost htdocs]# cd pma
[root@localhost pma]# cp -f config.sample.inc.php config.inc.php
[root@localhost htdocs]# chown -R apache:apache pma/

QQ20161016-2@2x.png

相關文章
相關標籤/搜索