【LAP服务器搭建】Linux平台+Apache服务器+PHP语言源码安装及配置
来源:互联网 发布:网站实时弹幕 源码 编辑:程序博客网 时间:2024/06/05 00:44
最近发现自己曾经配过无数次的WEB服务器出现了一些小问题,原因是我换成了Linux平台,而以前也只是配配源码的Apache服务器,现在,我需要再添加PHP语言,使得Apache能解析PHP.本次安装全是源码安装,因此早早的把CentOS里面的Apache和PHP卸载了.
下面我来介绍下安装顺序。
- Apache安装[2.4]版本
- PHP 安装[5.3x以上]版本
别看安装的少,实际上需要许多依赖的.所以我在装之前先把依赖安装好
第一步:安装APACHE前提
- apr包 1.5.2下载地址
- apr-utils包 1.5.4下载地址
- pcre包 8.37下载地址
安装 apr包
wget http://apache.fayea.com//apr/apr-1.5.2.tar.gztar -xvzf apr-1.5.2.tar.gzcd apr-1.5.2./configure --help 查看配置安装可选择的配置项这里我们可以看到 --prefix=--exec-prefix= 默认在prefix/bin下表示的是安装路径和执行路径./configure --prefix=/opt/aprmake && make installcd /opt/apr/binls 查看可执行文件apr-1-config
一般apr包是能安装的,如果缺少依赖的话,清查看错误异常,然后下载依赖包编译安装,再通过 ./configure –help去查看如何安装.
apr-util包安装
wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gztar -xvzf apr-util-1.5.4.tar.gzcd apr-util-1.5.4./configure --help 找到一些关键的选项--prefix=--with-apr= 需要有apr的支持./configure --prefix=/opt/apr-util --with-apr=/opt/aprmake && make installcd /opt/apr-util/binls 查看可执行文件apu-1-config
安装好后,请不要先把这两个文件目录删除,在后面安装apache还需要用到.
pcre安装
wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gztar -xvzf pcre-8.37.tar.gzcd pcre-8.37./configure --help | grep prefix--prefix 可以使用./configure --prefix=/opt/pcremake && make install
这样三个依赖前提都已经安装好了,至于三个包分别起到什么作用,可以去搜索一下,如果介绍下去我也不是特别的懂.
第二步:安装apache
首先我们需要下载最新版本2.4.x版本
下载的时候使用命令行下载太慢,改用浏览器下载,实际是一样的.wget http://apache.dataguru.cn//httpd/httpd-2.4.12.tar.gztar -xvzf httpd-2.4.12.tar.gzcd httpd-2.4.12./configure --help--prefix= --enable-so 模块自动加载--enable-rewrite 开启重写模块--with-apr 依赖 apr--with-apr-util 依赖 apr-util--wtih-pcre 依赖pcre执行./configure --prefix=/opt/httpd --enable-so --enable-rewrite --with-apr-util=/opt/apr-util --with-apr=/opt/apr --with-pcre=/opt/pcre make && make install如果没有报错,那么cp apr 和 apr-util 两个包到srclib中就没有必要了.
第三步,将apache设置成服务项
cp /opt/httpd/bin/apachectl /etc/rc.d/init.d/httpdvi /etc/rc.d/init.d/httpd第1行#!/bin/sh在第2行加入# chkconfig: - 85 15# description: Apache is a World Wide Web server. It is used to serve# HTML files and CGI.退出后使用chkconfig –add httpd就可以service httpd start|stop|status 了
这一段内容是截取网上的一些文章,自己也亲自测试过可行.
解决 “httpd: Could not reliably determine the server’s fully qualified domain name”问题
vi /opt/httpd/conf/httpd.conf临时办法ServerName 127.0.0.1:80原因是开启了一个域名对应主机的模块,当然可以取消使用模块.service httpd start这时候就可以看到 It Works! 的文字
查看apache的配置
/opt/httpd/bin/apachectl -V -D HTTPD_ROOT="/opt/httpd" apache 根目录 -D SUEXEC_BIN="/opt/httpd/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" apache 主线程id -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" 错误日志 -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" 配置文件路径
第四步,安装php前提
php也是有一定的依赖的,最近了解了下php-cli 和 php-cgi 两种模式,实际上这一次安装使用php-cli的方法,这就必须依赖apache的apxs命令了,它会编译一个lib5php.so的文件.
1. libxml2包 下载地址 ftp://gd.tuwien.ac.at/pub/libxml/libxml2-2.9.0.tar.gz
libxml2其它版本地址ftp://xmlsoft.org/libxml2/
wget ftp://gd.tuwien.ac.at/pub/libxml/libxml2-2.9.0.tar.gztar -xvzf libxml2-2.9.0.tar.gzcd libxml2.9.0./configure --help--prefix./configure --prefix=/opt/libxml2make && make install这是安装php必须要指定的一个库.
第五步,安装php
关于php的源码下载,可以从官网去找链接,这里需要告诉大家,项目不同,使用的php版本也许也不同,最好是下载与项目要求的版本一致,这样在跨平台的时候,保证可行性.
php5.4.40 下载链接:http://cn2.php.net/get/php-5.4.40.tar.gz/from/this/mirror
wget http://cn2.php.net/get/php-5.4.40.tar.gz/from/this/mirror这里建议使用浏览器下载 用wget太慢了tar -xvzf php-5.4.40.tar.gzcd php-5.4.40./configure --help--prefix php 根目录--with-libxml-dir 支持依赖库路径--with-config-file-path php.ini文件存放生效目录--with-config-file-scan-dir--with-apxs 让apache支持cli模式的php--bindir bin执行目录--sbindir sbin执行目录执行以下代码 ./configure --prefix=/opt/php --with-libxml-dir=/opt/libxml2/ --with-config-file-path=/etc/php/php-5.4.40 --with-apxs2=/opt/httpd/bin/apxs make && make install
然后需要修改httpd.conf文件 加入解析脚本type
vi /opt/httpd/conf/httpd.confAddType application/x-httpd-php .php .phtml #细心的人应该看到 LoadModule 里面有一个libphp5.so 这就是通过apxs命令编译的模块,默认放在apache下的modules里面.
接下来我们测试apache是否支持php,不用多说,就写一个index.php,里面有phpinfo();
service httpd restartvi /opt/httpd/htdocs/index.php
index.php
<?phpphpinfo();?>
其实我们的机子里有两个php版本,而能用命令行直接读取的是旧的5.3.29版本,我把它的php命令软链接到path目录下.而apache读取的是我新安装的php5.4.40版本.说明apache读取的libphp5.so这个编译模块的内容.所以换一个php版本还需要再次编译咯.
tips小知识点
1. 查看php安装时 configure 内容
cd /opt/php/bin./php -i | grep configure
2.查看php已经的安装模块
./php -m[PHP Modules]Corectypedatedomeregfileinfofilterhashiconvjsonlibxmlpcre...
- 查看apache配置信息
cd /opt/httpd/bin./apachectl -V[root@lzx bin]# ./apachectl -VServer version: Apache/2.4.12 (Unix)Server built: May 13 2015 06:22:26Server's Module Magic Number: 20120211:41Server loaded: APR 1.5.2, APR-UTIL 1.5.4Compiled using: APR 1.5.2, APR-UTIL 1.5.4Architecture: 32-bitServer MPM: event threaded: yes (fixed thread count) forked: yes (variable process count)Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256 -D HTTPD_ROOT="/opt/httpd" -D SUEXEC_BIN="/opt/httpd/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
这样基本的安装apache和php就完成了,有机会可以完善一下,添加php-cgi的安装模式.安装配置好后,就是为了之后编译phalcon框架.下次会介绍phalcon框架的编译和安装使用.
- 【LAP服务器搭建】Linux平台+Apache服务器+PHP语言源码安装及配置
- linux系统下Apache+mysql+php环境搭建----Apache服务器的安装和配置
- LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP
- Apache服务器的源码包安装及配置
- linux下php源码安装(apache服务器篇)
- Mac平台Apache服务器配置&开启PHP
- Linux平台的SVN服务器的配置及搭建
- Apache+PHP搭建服务器
- 配置Apache服务器与PHP语言
- 搭建Apache服务器(配置)
- Linux搭建TortoiseSVN服务器安装步骤及配置
- 服务器搭建--Apache安装
- 服务器源码安装Apache
- LINUX/APACHE/MYSQL/PHP服务器配置
- Apache服务器最新版下载、安装及配置
- Apache服务器安装及配置和问题
- 阿里云服务器安装配置Apache+php服务器
- Linux安装Apache服务器及ant
- Palindrome Number
- 输出nginx执行过程中函数调用关系
- Model/View框架总体架构
- NYOJ 448 寻找最大数
- 前端如此深奥
- 【LAP服务器搭建】Linux平台+Apache服务器+PHP语言源码安装及配置
- VS2010环境下MFC使用DataGrid绑定数据源
- Android经典完美退出方法
- [5]Cocos2d-x之坐标系
- vector的reserve和resize
- 学习C/C++编程,Linux平台的优势与劣势
- 将字符串转换为整数并输出
- 剑指offer 面试题27—二叉搜索树与双向链表
- iOS多线程简介 - Swift版本 3.多线程开发 -- Run Loop