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

相关文章
相关标签/搜索