自己編寫的:centos6.6上編譯安裝apache2.4+php5.6+mysql5.6【親自】

来源:https://www.cnblogs.com/rumble/archive/2018/07/26/9371712.html
-Advertisement-
Play Games

在centos6.6上安裝apache2.4+php5.6+mysql5.6 關於wget的安裝 將之前裝系統的.iso文件掛載到光碟機 由於我在/home/jinnan/下建立了一個cdrom文件夾 Shell>#mount /dev/cdrom /home/jinnan/cdrom Shell># ...


在centos6.6上安裝apache2.4+php5.6+mysql5.6

 

關於wget的安裝

將之前裝系統的.iso文件掛載到光碟機

 

由於我在/home/jinnan/下建立了一個cdrom文件夾

 

Shell>#mount /dev/cdrom  /home/jinnan/cdrom

 

Shell># cd /home/jinnan/cdrom

 

Shell># ls

 

Shell># cd Packages

 

Shell>#ls | grep wget

 

Shell># rpm -ivh wget-1.12-5.el6.x86_64.rpm

 

測試wget能否下載文件

 

Shell># wget https://cmake.org/files/v2.8/cmake-2.8.2.tar.gz

 

 

依賴軟體查詢:http://rpmfind.net

 

 

關於lamp環境安裝的需要軟體的下載地址:

freetype:    https://www.freetype.org/

 

libxml2:     http://xmlsoft.org/sources/

 

jpegsrc:      http://www.ijg.org

 

libpng:      http://www.libpng.org/pub/png/libpng.html

 

zlib:          http://zlib.net/

 

libgd:          https://libgd.github.io/

 

php:          http://php.net/downloads.php

 

apache:          http://httpd.apache.org/download.cgi

 

apr / apr-util:      http://apr.apache.org/download.cgi

 

pcre:         http://www.pcre.org/

 

cmake:          https://cmake.org/files/

 

mysql:國內鏡像站下載:http://mirrors.sohu.com/mysql/

           臺灣鏡像站: http://ftp.ntu.edu.tw/MySQL/Downloads/

           官方下載:    http://www.mysql.com

 

怎樣從Mysql官網下載mysql.tar.gz版本的安裝包:http://blog.csdn.net/u012453843/article/details/52876462

【如果壓縮包為.tar.bz2,那麼解壓命令為 tar jxvf  ****.tar.bz2】

 

安裝gcc:

安裝gcc的時候gcc的幾個依賴關係如下,lib【是library的縮寫】,比如libppl,ppl代表的是包名或軟體名

gcc

         cloog-ppl

                   ppl(libppl.so.7/libppl_c.so.2)

         cpp

                   mpfr(libmpfr.so.1)

gcc-c++

         libstdc++-devel

================================================================

 

 

apr安裝【apr-1.6.2.tar.gz】

 

shell>#tar zxvf apr-1.6.2.tar.gz

 

shell>#cd apr-1.6.2

 

shell>#./configure --prefix=/usr/local/apr1.6

 

shell>#make && make install

 

安裝apr-util:【 apr-util-1.5.4.tar.gz】

 

shell>#tar zxvf apr-util-1.5.4.tar.gz

 

shell>#cd apr-util-1.5.4

 

 

shell>#./configure --prefix=/usr/local/apr-util1.4 \

         --with-apr=/usr/local/apr1.6/

 

shell>#make && make install

 

=============================================================

安裝pcre:【 pcre-8.34.tar.gz】

 

 shell>#./configure --prefix=/usr/local/pcre

 

 shell>#make && make install

 

==========================================================

安裝apache2.4【httpd-2.4.27.tar.gz】

 

 shell>#tar zxvf httpd-2.4.27.tar.gz

 

 shell>#cd httpd-2.4.27

 

shell>#./configure --prefix=/usr/local/apache2.4 \

         --with-apr=/usr/local/apr1.6 \

         --with-apr-util=/usr/local/apr-util1.4 \

         --with-pcre=/usr/local/pcre \

         --enable-modules=all \

         --enable-mods-shared=all \

         --enable-so \

         --enable-rewrite

 

安裝zlib【zlib-1.2.11.tar.gz】

shell>#tar zxvf zlib-1.2.11.tar.gz

 

shell>#cd zlib-1.2.11

 

shell>#./configure

shell>#make && make install

============================================================

 

安裝libxml2【libxml2-2.7.3.tar.gz】

 

shell>#tar zxvf libxml2-2.7.3.tar.gz

 

shell>#cd libxml2-2.7.3

 

shell>#./configure --prefix=/usr/local/libxml2  \

         --without-zlib

 

shell>#make && make install

=========================================================

安裝jpeg【jpegsrc.v9b.tar.gz】

 

shell>#tar zxvf jpegsrc.v9b.tar.gz

 

shell>#cd jpegsrc.v9b

 

shell>#./configure --prefix=/usr/local/jpeg \

         --enable-shared --enable-static

 

make && make install

==================================================

安裝libpng【libpng-1.6.30.tar.gz】

shell>#tar zxvf libpng-1.6.30.tar.gz

 

shell>#cd libpng-1.6.30

 

shell>#./configure --prefix=/usr/local/png  \

         --enable-shared --enable-static

 

 

shell>#make  && make install

==========================================================

安裝字體庫freetype【freetype-2.5.5.tar.gz】

 

shell>#tar zxvf freetype-2.5.5.tar.gz

 

shell>#cd freetype-2.5.5

 

shell>#./configure --prefix=/usr/local/freetype

 

 

shell>#make && make install

 

===============================================

 

安裝libgd【libgd-2.1.1.tar.gz】

【本人安裝php的時候出現一個錯誤,無法找到一個關於gd的一個文件】,因此在裝gd的時候不要指定安裝目錄

 

shell>#tar zxvf libgd-2.1.1.tar.gz

 

shell>#cd libgd-2.1.1

 

 

shell>#./configure --with-jpeg=/usr/local/jpeg/ \

         --with-png=/usr/local/png/ \

         --with-zlib \

         --with-freetype=/usr/local/freetype

 

 

shell>#make && make install

 

==========================================================

 

安裝php5.6:【php-5.6.31.tar.gz】

 

shell>#tar zxvf php-5.6.31.tar.gz

 

shell>#cd php-5.6.31

 

 

shell>#./configure --prefix=/usr/local/php5.6 \

         --with-apxs2=/usr/local/apache2.4/bin/apxs \

         --with-mysql=mysqlnd \

         --with-pdo-mysql=mysqlnd \

         --with-mysqli=mysqlnd \

         --with-freetype-dir=/usr/local/freetype \

         --with-gd \

         --with-zlib --with-libxml-dir=/usr/local/libxml2 \

         --with-jpeg-dir=/usr/local/jpeg \

         --with-png-dir=/usr/local/png \

         --enable-mbstring=all \

         --enable-mbregex \

         --enable-shared

 

 

 

shell>#make  &&  make install

 

 

shell>#cp php.ini-development /usr/local/php5.6/lib/php.ini

 

=============================================

 

配置Apache使其支持php

vi /usr/local/apache2.4/conf/httpd.conf

1)      在httpd.conf(Apache主配置文件)中增加:

AddType application/x-httpd-php .php   

 

2)      找到下麵這段話:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

在index.html 前面添加index.php

nginx 的安裝

 

下載地址: http://nginx.org/download/nginx-1.4.2.tar.gz

安裝準備: nginx依賴於pcre庫,要先安裝pcre

shell># yum install pcre pcre-devel

shell># cd /usr/local/src/

shell># wget http://nginx.org/download/nginx-1.4.2.tar.gz

shell># tar zxvf nginx-1.4.2.tar.gz

shell># cd nginx-1.4.2

shell># ./configure --prefix=/usr/local/nginx

shell># make && make install

 

nginx+php的編譯

apache一般是把php當做自己的一個模塊來啟動的.

而nginx則是把http請求變數(如get,user_agent等)轉發給 php進程,即php獨立進程,與nginx進行通信. 稱為 fastcgi運行方式.

因此,為apache所編譯的php,是不能用於nginx的.

 

註意: 我們編譯的PHP 要有如下功能:

連接mysql, gd, ttf, 以fpm(fascgi)方式運行

老師編譯php的參數(未親測):

shell># ./configure  --prefix=/usr/local/fastphp \

--with-mysql=mysqlnd \

--enable-mysqlnd \

--with-gd \

--enable-gd-native-ttf \

--enable-gd-jis-conv

--enable-fpm

自己編譯php採用的是如下參數(親測成功):

shell>#./configure --prefix=/usr/local/php5.6.nginx \

--with-mysql=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-freetype-dir=/usr/local/freetype \

--with-gd \

--with-zlib --with-libxml-dir=/usr/local/libxml2 \

--with-jpeg-dir=/usr/local/jpeg \

--with-png-dir=/usr/local/png \

--enable-mbstring=all \

--enable-mbregex \

--enable-shared \

--enable-fpm

shell># make && make install

編譯安裝完後

shell># cp /usr/local/fastphp/etc/php-fpm.conf.default  /usr/local/fastphp/etc/php-fpm.conf

shell># cd /home/jinnan/upload/php-5.6.31

shell>#cp php.ini-development  /usr/local/php5.6.nginx/lib/php.ini

編譯完畢後:

1:

nginx+php的配置比較簡單,核心就一句話----

把請求的信息轉發給9000埠的PHP進程,

讓PHP進程處理 指定目錄下的PHP文件.

 

如下例子:

location ~ \.php$ {

            root html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

 

        }

 

1:碰到php文件,

2: 把根目錄定位到 html,

3: 把請求上下文轉交給9000埠PHP進程,

4: 並告訴PHP進程,當前的腳本是 $document_root$fastcgi_scriptname

(註:PHP會去找這個腳本並處理,所以腳本的位置要指對)

=================================================

由於mysql使用更高級的cmake安裝,在安裝mysql前要先安裝cmake

 

安裝cmake:【cmake-3.8.2.tar.gz】

 

shell>#tar zxvf cmake-3.8.2.tar.gz

 

shell>#cd cmake-3.8.2

 

shell>#./bootstrap

 

shell>#make && make install

 

安裝mysql5.6【mysql-5.6.37.tar.gz】

 

shell>#tar zxvf mysql-5.6.37.tar.gz

 

shell>#cd mysql-5.6.37

 

shell>#cmake \

         -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \

         -DMYSQL_DATADIR=/usr/local/mysql/data \

         -DDEFAULT_CHARSET=utf8 \

         -DDEFAULT_COLLATION=utf8_general_ci

 

 

 

以上編譯參數說明(準備安裝到那裡

數據存儲目錄

預設的字元集

校對字元集)

 

 

 

 

 

 

 

如果出現如下錯誤:(安裝ncurses-devel)

 

 

安裝(ncurses-devel):

 

將之前裝系統的.iso文件掛載到光碟機

 

由於我在/home/jinnan/下建立了一個cdrom文件夾

 

Shell>#mount /dev/cdrom  /home/jinnan/cdrom

 

Shell># cd /home/jinnan/cdrom

 

Shell># ls

 

Shell># cd Packages

 

Shell>#ls | grep ncurses-devel

 

Shell># rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

 

重新進入到mysql解壓後的目錄

Shell>#cd mysql-5.6.37

一定要刪除CMakeCache.txt,否則重新cmake會報錯

Shell># rm -f CMakeCache.txt    //刪除該文件

重新cmake

Shell># cmake \

         -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \

         -DMYSQL_DATADIR=/usr/local/mysql/data \

         -DDEFAULT_CHARSET=utf8 \

         -DDEFAULT_COLLATION=utf8_general_ci

Shell>#make && make install

複製配置文件

shell># cp support-files/my-default.cnf /etc/my.cnf

配置並初始化MySQL

shell># useradd  mysql   (該mysql用戶會存在於同名的組下)

shell># chmod +x /usr/local/mysql5.6

(資料庫用戶信息不小心刪除光了,刪除data目錄,從此開始執行以下指令,直至結束)

shell># chown -R mysql.mysql /usr/local/mysql5.6

 

初始化mysql資料庫  

shell># /usr/local/mysql5.6/scripts/mysql_install_db \

--user=mysql \

--basedir=/usr/local/mysql5.6 \

--datadir=/usr/local/mysql5.6/data &

 

把mysql安裝文件(除了data)的主人都改為root,避免資料庫恢復為出廠設置。

shell># chown -R root /usr/local/mysql5.6

shell># chown -R mysql /usr/local/mysql5.6/data

 

& 後臺運行mysql服務

shell># /usr/local/mysql5.6/bin/mysqld_safe --user=mysql &

 

//查看mysql是否有啟動

shell># ps –A | grep mysql   

 

測試資料庫

shell># /usr/local/mysql5.6/bin/mysql –u root

mysql> show databases;  

 

接上步,修改mysql密碼(可不做此步,預設無密碼)

Mysql>use mysql

 

mysql> delete from user where host != 'localhost';

 

mysql> delete from user where user != 'root';

 

mysql> update user set password=password('root') where user='root';

mysql> flush privileges;

 

 

如果希望在任何一個目錄下都可以進入mysql資料庫,則需要在/root/.bash_profile中添加mysql命令的路徑:/home/mysql/bin

 

如果要讓所有用戶都能夠在所有目錄下進入mysql資料庫,那麼修改環境變數 /etc/profile

配置開機自啟動服務項

shell># cp 安裝包解壓目錄/support-files/mysql.server /etc/init.d/mysqld

shell># chmod +x /etc/init.d/mysqld

shell># chkconfig --add mysqld

shell># chkconfig mysqld on    //設置開機自啟動

 

配置文件路徑:

shell># vi /etc/rc.d/rc.local

在  文件中增加啟動相關服務的命令如下:

/usr/local/apache2.4/bin/apachectl start

/usr/local/mysql5.6/bin/mysqld_safe --user=mysql &

service vsftpd start

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 好久沒更了,今天就更完這一期的Linux系統吧,這次主要安裝的是常用Linux系統的之一:Ubuntu(烏班圖)系統,這個系統和CentOS 7的安裝步驟也是類似的,(我不採取用虛擬機的方法來安裝,當然在虛擬機安裝是很方便,但是卻有問題,至於是什麼問題?請看本文最後部分。)PE系統中沒有適合的工具來 ...
  • 幾個小概念 date:系統時間 clock:硬體時間 clock -w:硬體時間根據系統時間同步 ntpdate:馬上同步時間 ntp:網路時間協議,起到的效果是讓你的時間始終穩定持續的同步,前提是時間差別不是很大 我們在生產環境中時間是個很重要的角色 下麵來說下同步時間的方法 首先我們知道一個服務 ...
  • 1.首先新建一個虛擬機併在該虛擬機上安裝Ubuntu16.04系統。為這台虛擬機起名為Ubuntu3。 2.對Ubuntu3進行克隆,為新克隆生成的虛擬機起名為Ubuntu2。(這時我們會發現Ubuntu2可以ping通Ubuntu3,但是反過來Ubuntu3無法ping通Ubuntu2。這是因為克 ...
  • ipvsadm ipvsadm命令是lvs集群在應用層的管理工具,我們可以通過此ipvsadm來管理lvs的配置,其實現了集群服務管理:增、刪、改,集群服務的RS管理:增、刪、改以及查看集群狀態。 管理集群服務:增、改、刪; 管理集群上的RS:增、改、刪; 查看集群的狀態信息: 規則的保存和重載: ...
  • md5sum 和 sha256sum 都用來用來校驗軟體安裝包的完整性,本次我們將講解如何使用兩個命令進行軟體安裝包的校驗: sha 是什麼? sha 為 安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數家族,是FIPS所認證的安全散列演算法。能計算出一 ...
  • Short answer: For verifying ISOs, there is no practical difference, use whichever you want, as long as you trust the source providing the sums. MD5 is ...
  • Vim是一個類似於Vi的著名的功能強大、高度可定製的文本編輯器 常用的vim命令如下圖 補充: num+命令 對命令執行num次,如 5dd:剪切一行 * 5 即剪切5行,其它如此 /text 查找text,按n健查找下一個,按N健查找前一個 ?text 查找text,反向查找,按n健查找下一個,按 ...
  • sudo apt-get install fcitx-table-wbpy ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...