CentOS 编译安装Apache2.4 PHP5.6.30 Mysql5.6.16

环境介绍:

操作系统:CentOS6.5 64位版本

Http服务器软件:Apache2.4.9

PHP版本:PHP5.6.30

数据库软件:Mysql5.6.16

软件安装序:

Apache---->Mysql---->PHP

一、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 密码:u4bz

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

二、安装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详细配置 参考:https://my.oschina.net/u/1036767/blog/204076

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

三、安装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

解决方法: 1、 make clean之后重新执行make,如果还不OK,执行第2步 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详细配置 参考https://my.oschina.net/u/1036767/blog/203862

参考: 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

猜你喜欢

转载自my.oschina.net/u/1036767/blog/880959