环境介绍: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
# cd /usr/local/src/apache # tar zxvf apr-1.5.1.tar.gz # cd apr-1.5.1
# ./configure --prefix=/usr/local/apr
# 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
# make
# 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
编译
# make
# 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/