实验环境及软件版本:

CentOS版本: 6.6(2.6.32.-504.el6.x86_64)

apache版本: apache2.2.27

mysql版本:  Mysql-5.6.23

php版本:    php-5.3.27

一、关闭防火墙:service iptables stop

chkconfig iptables off

二、关闭selinux: sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config

init 6 重启系统一定要!

三、apache安装

  1. 安装依赖:yum -y install zlib zlib-devel

    tar zxvf apr-1.5.1.tar.gz

    cd apr-1.5.1

./config --prefix=/usr/local/apr

make && make install

tar zxvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./config --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

2.安装apache: tar zxvf apache2.2.27.tar.gz

cd  apache2.2.27

mkdir /application

./configure --prefix=/application/apache2.2.27 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

make && make install

ln -s /application/apache2.2.27/ /application/apache/

启动:/application/apache/bin/apachectl start

echo "/application/apache/bin/apachectl start" >>/etc/rc.local 加入开机启动

查看是否启动功能:

[root@LAMP tools]# lsof -i:80

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

httpd    1344 root    4u  IPv6  10747      0t0  TCP *:http (LISTEN)

httpd   62462 wapp    4u  IPv6  10747      0t0  TCP *:http (LISTEN)

httpd   62463 wapp    4u  IPv6  10747      0t0  TCP *:http (LISTEN)

httpd   62464 wapp    4u  IPv6  10747      0t0  TCP *:http (LISTEN)

httpd   62546 wapp    4u  IPv6  10747      0t0  TCP *:http (LISTEN)

四、源码安装Mysql-5.6.23

请移步:http://linuxzkq.blog.51cto.com/9379412/1584642,这里不在描述

五、php安装

1.安装依赖:yum install zlib libxml libjpeg freetype libpng gd  curl libiconv  zlib-                   devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel                     curl-devel -y

tar zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

[root@LAMP libiconv-1.14]# ./configure --prefix=/usr/local/libiconv

make && make install

2.php安装: tar zxvf php-5.3.27.tar.gz

./configure --prefix=/application/php-5.3.27 --with-apxs2=/application/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv --enable-short-tags --enable-sockets --with-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

出错:configure: error: Cannot find MySQL header files under /usr/local/mysql.

[root@localhost php-5.5.6]# find / -name mysql.h

/usr/include/mysql/mysql.h

查找到mysql.h文件,我们更改参数为--with-mysql=/usr,如果没有的话,请安装mysql-devel包,

[root@localhost php-5.5.6]# yum install mysql-devel

再次编译:

./configure --prefix=/application/php-5.3.27 ……后面省略

configure: error: Cannot find libmysqlclient_r under /usr.

Note that the MySQL client library is not bundled anymore!

[root@LAMP php-5.3.27]# yum -y install libxslt*

修改编辑参数如下,上面的参数不行,是因为这个和前面的apache,mysql编译时的参数有关系:

[root@LAMP php-5.3.27]# ./configure --prefix=/application/php-5.3.27 --with-apxs2=/application/apache/bin/apxs --with-mysql=/usr --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv --enable-short-tags --enable-sockets --with-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir --with-libdir=lib64

+--------------------------------------------------------------------+

Thank you for using PHP.

Notice: Following unknown configure options were used:

--with-zend-multibyte

Check './configure --help' for available options

php检查系统配置环境成功

3.一并附上CentOS x64 里php 源码编译出错参见情况及解决办法(摘自网络):

configure: error: xml2-config not found. Please check your libxml2 installation.

yum install libxml2-devel.x86_64

configure: error: Cannot find OpenSSL’s

yum install openssl-devel.x86_64

configure: error: Could not find pcre.h in /usr/local

yum install pcre-devel.x86_64

configure: error: Could not find pcre.h in /usr/local

"--with-pcre-regex=/usr/include" \

configure: error: Could not find libpcre.(a|so) in /usr/include

"--with-pcre-regex=/usr" \

configure: error: Please reinstall the libcurl distribution -

easy.h should be in /include/curl/

yum install curl-devel.x86_64

configure: error: libjpeg.(a|so) not found.

yum install libjpeg-devel.x86_64

configure: error: libpng.(a|so) not found.

yum install libpng-devel.x86_64

configure: error: freetype.h not found.

yum install freetype-devel.x86_64

configure: error: Please reinstall the iconv library.

"--with-iconv" \

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

yum install libmcrypt.x86_64 libmcrypt-devel.x86_64

configure: error: Please reinstall libmhash – I cannot find mhash.h

yum install mhash.x86_64 mhash-devel.x86_64

Note that the MySQL client library is not bundled anymore!

yum install php-mysql.x86_64 mysql-devel.x86_64

configure: error: Please reinstall the BZip2 distribution

yum install bzip2-devel.x86_64

configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

DISABLE IMAP

configure: error: Cannot find pspell

yum install aspell-devel.x86_64

configure: error: Cannot find libtidy

yum install libtidy.x86_64 libtidy-devel.x86_64

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

yum install libxslt.x86_64 libxslt-devel.x86_64

collect2: ld returned 1 exit status

yum install glibc-utils.x86_64 libtool-ltdl-devel.x86_64

Step by step to guide PHP Compile

Step 1: Update & Install Development Tools & Libraries

yum update

yum group install "Development Tools"

yum group install "Development Libraries"

Step 2: Run the bellow bash script

#!/bin/sh

"./configure" \

"--prefix=/usr/local/php5" \

"--enable-force-cgi-redirect" \

"--enable-fastcgi" \

"--with-bz2" \

"--with-config-file-path=/usr/local/etc" \

"--with-config-file-scan-dir=/usr/local/etc/php.d" \

"--with-curl=/usr/local/lib" \

"--with-gd" \

"--with-gettext" \

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

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

"--with-kerberos" \

"--with-mcrypt" \

"--with-mhash" \

"--with-mime-magic" \

"--with-mysql" \

"--with-mysqli" \

"--with-pcre-regex=/usr" \

"--with-pdo-mysql=shared" \

"--with-pdo-sqlite=shared" \

"--with-pear=/usr/local/lib/php" \

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

"--with-pspell" \

"--with-sqlite=shared" \

"--with-tidy" \

"--with-ttf" \

"--with-xmlrpc" \

"--with-xsl" \

"--with-zlib" \

"--with-zlib-dir=/usr/local/lib" \

"--with-openssl" \

"--with-iconv" \

"--with-libdir=lib64" \

"--enable-bcmath" \

"--enable-calendar" \

"--enable-exif" \

"--enable-ftp" \

"--enable-gd-native-ttf" \

"--enable-libxml" \

"--enable-magic-quotes" \

"--enable-soap" \

"--enable-sockets" \

"--enable-mbstring" \

"--enable-zip" \

"--enable-wddx"

fromhttp://www.lifelinux.com/error-compiling-php-on-centos-x64/

make && make install

[root@LAMP php-5.3.27]# ls php

php5.spec            php.ini-development

php5.spec.in         php.ini-production

php.gif

[root@LAMP php-5.3.27]# diff php.ini-production php.ini-development  对比对内开发配置文件和对外应用配置文件

521c521

< error_reporting = E_ALL & ~E_DEPRECATED

---

> error_reporting = E_ALL | E_STRICT

538c538

< display_errors = Off

---

> display_errors = On

549c549

< display_startup_errors = Off

---

> display_startup_errors = On

593c593

< track_errors = Off

---

> track_errors = On

611c611

< html_errors = Off

---

> html_errors = On

751c751

< ; scheduled removed in PHP 5.4.

---

> ; removed in PHP 5.4.

845c845

< ;cgi.redirect_status_env =

---

> ;cgi.redirect_status_env =

1318c1318

< mysqlnd.collect_memory_statistics = Off

---

> mysqlnd.collect_memory_statistics = On

1587c1587

< session.bug_compat_42 = Off

---

> session.bug_compat_42 = On

1596c1596

< session.bug_compat_warn = Off

---

> session.bug_compat_warn = On

[root@LAMP php-5.3.27]# cp php

php5.spec            php.ini-development

php5.spec.in         php.ini-production

php.gif

[root@LAMP php-5.3.27]# cp php.ini-production /application/php/lib/php.ini

[root@LAMP php-5.3.27]#

小结:正式配置文件一般关闭显示LOG,不输出LOG。

六、开启虚拟机功能并修改用户及用户组:useradd -M -s /sbin/nologin wapp

cd /application/apache/conf

vi httpd.conf

找到

User daemon 修改为wapp

Group daemon 修改为wapp

找到 # Include conf/extra/httpd-vhosts.conf  开启虚拟机

取消前面的#号注释,保存退出。

七、整合php和apache:     vi httpd.conf

定位至AddType application/x-gzip .gz .tgz添加如下二行:

 AddType application/x-httpd-php  .php  .phtml

                                                    AddType application/x-httpd-php-source  .phps

定位至DirectoryIndex index.html

修改为:

DirectoryIndex  index.php  index.html

然后重新启动apache,或让其重新载入配置文件即可测试php是否已经可以正常使用。

八、定义虚拟机:         cd /application/apache/conf/extra

vi httpd-vhosts.conf

在文件最后面加入几个基于域名访问的虚拟机实例如下:

<VirtualHost *:80>

ServerAdmin kk@etiantian.com

DocumentRoot "/data/cms"

ServerName www.etiantian.org

ServerAlias etiantian.org

ErrorLog "logs/www.etiantian.org-error_log"

CustomLog "logs/www.etiantian.org-access_log" common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin kk@etiantian.com

DocumentRoot "/data/bbs"

ServerName bbs.etiantian.org

ErrorLog "logs/bbs.etiantian.org-error_log"

CustomLog "logs/bbs.etiantian.org-access_log" common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin kk@etiantian.com

DocumentRoot "/data/blog"

ServerName blog.etiantian.org

ErrorLog "logs/blog.etiantian.org-error_log"

CustomLog "logs/blog.etiantian.org-access_log" common

</VirtualHost>

保存退出,重启apache服务!

九、启用虚拟机后,上传完php网站程序,更改完虚拟机根目录及文件所属用户和用户组为:wapp:root(chown -R wapp:root /data)后访问出现403错误,解决方法如下:

这是apache2.2中文参考手册中的示例。一般的咱们这样配置在以前版本是没有问题的。但是现在就不一样了。当访问某个虚拟主机下的页面的时候会出现 类似:“403(禁止访问),你无法查看该网页…”的错误。很明显这是拒绝访问的提示。按照经验很容易找到(httpd.conf)下面的内容:

<Directory "/虚拟主机网站根目录">

Options FollowSymLinks

AllowOverride None

Order deny,allow

</Directory>

//先拒绝后允许Deny from all

//拒绝所有的访问</Directory>

给虚拟主机网站根目录授权访问权限

cd /application/apache/conf/extra

vi httpd-vhosts.conf

在定义的所有虚拟主机最前面加入以下代码:

<Directory "/data">

Options FollowSymLinks

AllowOverride None

Order deny,allow

</Directory>

保存退出,重新启动apache服务正常访问!

源码编译安装LAMP环境及配置基于域名访问的多虚拟主机的更多相关文章

  1. 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本:  Mysql-5.6.23 php版本: ...

  2. Centos7源码编译安装LAMP环境

    参考地址:https://www.linuxidc.com/Linux/2018-03/151133.htm

  3. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  4. 源码编译安装lnmp环境

    一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数 ...

  5. 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)

    最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持op ...

  6. 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境

    PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...

  7. CentOS 6.3下源码编译安装LAMP

    一.简介 什么是LAMP    LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...

  8. 源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!

    和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发 ...

  9. centos6源码编译安装lnmp环境

    操作系统 版本 64位 CentOS-6.6    10.0.0.20 安装环境所需依赖包 yum -y install gcc automake autoconf libtool make gcc- ...

随机推荐

  1. tomcat服务器 去掉端口8080 以及项目名 直接使用IP地址访问

      >>>  先在web.xml中设置默认页面 <welcome-file-list> <welcome-file>/login.jsp</welcom ...

  2. 实用JS大全

    ****************************************************************(一)常用元素,对象,事件,技巧 事件源对象 event.srcElem ...

  3. python(3)-内置函数

    >>> abs(-1) #绝对值,小数也可以,不能是其它字符 1 >>> all([1,2,3,4,5,6,7]) #如果传入的列表所有元素都为真,则True Tr ...

  4. [书目20131114]微软技术丛书•快速软件开发(珍藏版) Rapid Development Taming Wild Software Schedules By Steve McConnell

    本文摘自:http://shop.oreilly.com/product/9781556159008.do EFFICIENT DEVELOPMENT Chapter 1 Welcome to Rap ...

  5. PE制作实录 —— 补充说明

    上一篇博文中我提到了定制 PE 合盘的方法,可能还有一些朋友不是很懂,这里补充几点. 要点1: 菜单的排布 U盘启动时的界面,这里叫做主界面,而主界面下有时还会用到子界面,下面是我制作的PE的菜单目录 ...

  6. Networking - ARP 协议

    ARP 协议概述 ARP(Address Resolution Protocol),即地址解析协议,用于把 IP 地址映射到物理地址.网段上的每台主机都维护着一个被称为 ARP Table 或 ARP ...

  7. 关于WIFI的工作模式--AP MODE/STATION MODE

    wifi的concurrent mode 所谓wifi的共存模式,有以下几种: station mode + station mode station mode + ap mode station m ...

  8. linux c/c++ IP字符串转换成可比较大小的数字

    由www.169it.com搜集整理 IP字符串转换成可比较大小的数字,具体代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include "stdio. ...

  9. 删除织梦所有待审核稿件sql语句

    先提醒一下 archives是dedecms主表addonarticle 新闻信息表 在dede后台"系统->SQL命令行工具"运行下以命令即可(注意,运行后未审核的数据全被 ...

  10. FAILURE: Build failed with an exception. Crunching Cruncher screen.png failed

    自己测试ionic的模板项目cutePuppyPics时,按照https://github.com/driftyco/ionic/blob/2.0/CHANGELOG.md#angular-updat ...