CentOS 編譯安裝Apache2.4 PHP5.6.30 Mysql5.6.16

環境介紹:php

操做系統:CentOS6.5 64位版本html

Http服務器軟件:Apache2.4.9mysql

PHP版本:PHP5.6.30linux

數據庫軟件:Mysql5.6.16c++

軟件安裝序:正則表達式

Apache---->Mysql---->PHPsql

1、Apache安裝數據庫

安裝須要的軟件下載地址:apache

1)下載apr: http://apr.apache.org/  

2)下載apr-util: http://apr.apache.org/  

3) 下載pcre: http://www.pcre.org/

4)下載httpd: http://httpd.apache.org/

以上全部軟件集合包整理 下載地址: 連接:http://pan.baidu.com/s/1skOlVdF 密碼:u4bzbootstrap

1.安裝linux軟件必備經常使用庫

在CentOS安裝軟件的時候,可能缺乏一部分支持庫,而報錯。這裏首先安裝系統經常使用的支持庫。那麼在安裝的時候就會減小不少的錯誤的出現。

# yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel

2.配置防火牆及80端口

修改防火牆配置:

# vi + /etc/sysconfig/iptables

添加配置項 (同時打開3306端口以供後面mysql使用)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重啓防火牆

# service iptables restart

3安裝軟件

3.1安裝apr

  1. 解壓
# cd /usr/local/src/apache
# tar zxvf  apr-1.5.1.tar.gz
# cd apr-1.5.1
  1. 配置
# ./configure --prefix=/usr/local/apr
  1. 編譯
# make

4)安裝

# make install

3.2安裝apr-util

1)解壓

# cd /usr/local/src/apache
    # tar zxvf apr-util-1.5.3.tar.gz
    # cd apr-util-1.5.3

2)配置

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
  1. 編譯
# make
  1. 安裝
# make install

3.3正則表達式庫安裝

1)解壓pcre-8.12.tar.gz

# cd /usr/local/src/apache 
    # tar zxvf pcre-8.12.tar.gz

2)進入解壓後的目錄

# cd pcre-8.    12

3)配置

#      ./configure
  1. 編譯
#  make
  1. 安裝
#  make install

3.4安裝Apache

1)解壓 # cd /usr/local/src/apache # tar -zvxf httpd-2.4.tar.gz # cd httpd-2.4.9 2)編譯 # mkdir -p /usr/local/apache2 # ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl --enable-ssl --enable-module=so --enable-rewrite --enable-cgid --enable-cgi 3)編譯 # make 4)安裝 # make install

4 Apache配置

4.1 配置ServerName

# vi /usr/local/apache2/conf/httpd.conf
找到:#ServerName www.example.com:80
修改成:ServerName localhost:80

4.2 配置DirectoryIndex

# vi /usr/local/apache2/conf/httpd.conf
找到:DirectoryIndex index.html
修改成:DirectoryIndex index.html index.php

**4.3 配置不顯示目錄結構 **

# vi /usr/local/apache2/conf/httpd.conf
找到:Options Indexes FollowSymLinks
修改成:Options FollowSymLinks

4.4 開啓apache支持僞靜態

# vi /usr/local/apache2/conf/httpd.conf
找到AllowOverride None 
修改成:AllowOverride All   #開啓apache支持僞靜態,有三處都作修改
LoadModule rewrite_module modules/mod_rewrite.so   #取消前面的註釋,開啓apache支持僞靜態

4.5 添加apache服務系統環境變量

vi /etc/profile  #添加apache服務系統環境變量
在最後添加下面這一行
export PATH=$PATH:/usr/local/apache2/bin

4.6 把apache加入到系統啓動

# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
# vi /etc/init.d/httpd  
在#!/bin/sh下面添加如下兩行
#chkconfig:2345 10 90
#description:Activates/Deactivates Apache Web Server

4.7 更改目錄全部者與權限

#chown  daemon.daemon  -R /usr/local/apache2/htdocs  #更改目錄全部者
#chmod   700 /usr/local/apache2/htdocs  -R #更改apache網站目錄權限

4.8 設置開機啓動

# chkconfig httpd on

4.9 啓動中止重啓

1)啓動

# service httpd start

2)中止

# service httpd stop

3)重啓

# service httpd restart

4)查看端口狀態

# netstat -an | grep 80

可能出現的錯誤 訪問主機403錯誤

<VirtualHost 127.0.0.1:80>
    ServerName mypro
    ServerAlias mypro
    DocumentRoot "d:/mypro"
    DirectoryIndex index.html index.php
</VirtualHost>
<Directory "d:/mypro">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
     Require all granted   
</Directory>

添加Require all granted

2、安裝Mysql

1.安裝編譯mysql須要的庫和工具(本文開篇已經安裝)

2.安裝cmake並編譯安裝

#wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz   
#tar -xzvf cmake-2.8.10.2.tar.gz   
#cd cmake-2.8.10.2   
#./bootstrap ; make ; make install   
#cd ~

若上面下載失敗能夠經過連接:http://pan.baidu.com/s/1dEBJjzj 密碼:dhhx 下載,ftp上傳至服務器

3.新建MySQL所須要的目錄

新建mysql安裝目錄

#mkdir -p /usr/local/mysql

新建mysql數據庫數據文件目錄

#mkdir -p /data/mysqldb

4.下載MySQL源碼包並解壓

wget http://dev.mysql.com/downloads/mysql/mysql-5.6.16.tar.gz  
tar -zxv -f mysql-5.6.16.tar.gz  
cd mysql-5.6.16

因爲如今mysql已經不提供5.6.16的下載了,能夠經過連接:http://pan.baidu.com/s/1i4Q4fvn 密碼:duff 下載,ftp上傳至服務器

5.編譯安裝MySQL

#cmake \   
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   
-DDEFAULT_CHARSET=utf8 \   
-DDEFAULT_COLLATION=utf8_general_ci \   
-DWITH_INNOBASE_STORAGE_ENGINE=1 \   
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \   
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \   
-DMYSQL_DATADIR=/data/mysqldb \   
-DMYSQL_TCP_PORT=3306 \   
-DENABLE_DOWNLOADS=1

上面命令的解釋 -DCMAKE_INSTALL_PREFIX=dir_name 設置mysql安裝目錄

-DMYSQL_UNIX_ADDR=file_name 設置監聽套接字路徑,這必須是一個絕對路徑名。默認爲/tmp/mysql.sock

-DDEFAULT_CHARSET=charset_name 設置服務器的字符集。 缺省狀況下,MySQL使用latin1的(CP1252西歐)字符集。cmake/character_sets.cmake文件包含容許的字符集名稱列表。

-DDEFAULT_COLLATION=collation_name 設置服務器的排序規則。

**-DWITH_INNOBASE_STORAGE_ENGINE=1 **

-DWITH_ARCHIVE_STORAGE_ENGINE=1

**-DWITH_BLACKHOLE_STORAGE_ENGINE=1 **

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 存儲引擎選項:

MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不須要明確地安裝。

靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

-DMYSQL_DATADIR=dir_name 設置mysql數據庫文件目錄

-DMYSQL_TCP_PORT=port_num 設置mysql服務器監聽端口,默認爲3306

-DENABLE_DOWNLOADS=bool 是否要下載可選的文件。例如,啓用此選項(設置爲1),cmake將下載谷歌所使用的測試套件運行單元測試。

注:從新運行配置,須要刪除CMakeCache.txt文件

#rm CMakeCache.txt

編譯源碼

#make

安裝

#make install

6.修改mysql目錄全部者和組

修改mysql安裝目錄

#cd /usr/local/mysql
#chown -R mysql:mysql .

修改mysql數據庫文件目錄

#cd /data/mysqldb  
#chown -R mysql:mysql .

7.初始化mysql數據庫

#cd /usr/local/mysql   
#scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

8.複製mysql服務啓動配置文件

#cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

注:若是/etc/my.cnf文件存在,則覆蓋。

9.複製mysql服務啓動腳本及加入PATH路徑

#cp support-files/mysql.server /etc/init.d/mysqld   
#vi /etc/profile   
      在profile文件最下方添加
      PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
      export PATH  
  
#source /etc/profile

10.啓動mysql服務並加入開機自啓動(可選這個步驟,之後能夠本身啓動的)

#service mysqld start 
#chkconfig --level 35 mysqld on

11.檢查mysql服務是否啓動

#netstat -tulnp | grep 3306
#mysql -u root -p

密碼爲空,若是能登錄上,則安裝成功。

12.修改MySQL用戶root的密碼

#mysqladmin -u root password '123456'

Mysql詳細配置 參考:http://www.javashuo.com/article/p-aaeqhdis-mg.html

13.可能會出現的錯誤 問題:
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解決:
修改/etc/my.cnf 中datadir,指向正確的mysql數據庫文件目錄

問題:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決:
新建一個連接或在mysql中加入-S參數,直接指出mysql.sock位置。

#ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock     
#/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock

MySQL問題解決:-bash:mysql:command not found
由於mysql命令的路徑在/usr/local/mysql/bin下面,因此你直接使用mysql命令時,
系統在/usr/bin下面查此命令,因此找不到了
解決辦法是:

#ln -s /usr/local/mysql/bin/mysql /usr/bin

3、安裝PHP

1.下載PHP

# wget  http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror

下載下來的是一個mirror文件,改爲咱們須要的文件名

#mv mirror php-5.6.30.tar.gz
#tar zxvf php-5.6.30.tar.gz
#cd php-5.6.30

2.編譯安裝

編譯命令

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs  --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

注:--with-fpm 添加fastcgi支持

配置的過程當中可能會報以下錯誤

錯誤1:

xml2-config not found. Please check your libxml2 installation.

解決辦法:安裝libxml2相關組件

#yum install libxml2
#yum install libxml2-devel -y

錯誤2:

Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

安裝curl相關組件

#yum install curl curl-devel

錯誤3:

configure: error: png.h not found.

安裝libpng相關組件

#yum install libpng
#yum install libpng-devel

錯誤4:

freetype-config not found.

安裝freetype相關組件

#yum install freetype-devel

錯誤5:

xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

安裝libxslt相關組件

#yum install libxslt-devel

編譯成功

出現上圖則表明編譯成功了。

接下來安裝編譯

#make && make install

安裝成功

看到這句話,代表安裝完成!

3.配置相關

php.ini配置

首先咱們須要配置的是php.ini這個文件

安裝目錄有2個文件:php.ini-development和php.ini-production

php.ini-production 線上版本使用

php.ini-development 開發版本使用

咱們選擇development進行配置

# cp php.ini-development /usr/local/php/lib/php.ini

php-fpm配置

拷貝php-fpm配置文件

#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

拷貝啓用文件

#cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

將php-fpm服務添加到chkconfig列表

#chkconfig --add php-fpm

設置開機自啓動

#chkconfig php-fpm on

之後重啓和中止php的方式爲

#service php-fpm start
#service php-fpm stop
#service php-fpm restart
#service php-fpm reload
#/etc/init.d/php-fpm

查看php是否啓動成功

#ps aux | grep php

安裝成功

看到這些,代表你的php已經啓動成功

備註: 可能的錯誤

make: *** [sapi/cli/php] Error 1

解決方法: 一、 make clean以後從新執行make,若是還不OK,執行第2步 二、編譯時使用make ZEND_EXTRA_LIBS='-liconv' ---編譯成功

-bash: php: command not found 命令找不到

解決方法:

#vi /etc/profile
        在文件最後添加
        export PATH=$PATH:/usr/local/php/bin

而後,再

#echo $PATH 
usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin

這時候,你能夠在系統的任意目錄直接敲入php -i 均可以執行了。 若已經添加到PATH中了,卻很差使,執行下面命令

#ln -s /usr/local/php/bin/php /usr/bin/php

安裝php mysqli擴展不能用 Warning: mysql_connect(): [2002] No such file or directory

解決方法: 若是/tmp/mysql.sock存在 可是/var/mysql/mysql.sock不存在

cd /var 
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

若是/var/mysql/mysql.sock 存在 可是/tmp/mysql.sock不存在

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

4.PHP詳細配置 參考http://www.javashuo.com/article/p-mjrgvkkl-d.html

參考: http://blog.csdn.net/wendi_0506/article/details/39478369/

http://blog.csdn.net/clevercode/article/details/45438495

http://www.cnblogs.com/riverdubu/p/6428226.html

相關文章
相關標籤/搜索