CentOS源码安装apache和php

本文详细介绍了如何在CentOS 6.5上从零开始安装配置Apache和PHP,并将其设置为系统服务,包括解决依赖问题、配置文件修改及防火墙设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装apache

1. 下载所需要的安装包,如图所示

2. 安装必要的组件

查看是否安装了pcre pcre-devel

3. 卸载系统原来的apache

因为centos6.5默认已经安装了apache2.2,所以先要卸载

rpm -qa | grep httpd

rpm -qa | grep apr

rpm -e XXXXXX

依赖包很多,依次顺藤摸瓜卸载就好了

4. 安装apr

tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr

配置过程会弹出 not found 'libtoolT' 的错误,还是用网上流行的办法

vim configure

/$RM "$cfgfile"

找到了语句后直接#注释掉就OK啦!

然后老步骤,make && make install

5. 安装apr-uti

tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

6. 安装apache

如果想多了解一下配置参数可以./configure --help一下,如果要搜索某个参数,如apr可以./configure --help | grep apr,都是题外话。

./configure --prefix=/usr/local/apache2 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so --enable-rewrite
make && make install

7.其他配置

将apache安装为系统服务

cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

然后 vi /etc/rc.d/init.d/httpd 添加(# !/bin/sh下面)
# chkconfig: 2345 50 90
# description: Activates/Deactivates Apache Web Server

最后,运行chkconfig把Apache添加到系统的启动服务组里面:
chkconfig --add httpd
chkconfig httpd on

然后再service httpd start

记得最后放开防火墙端口

vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart

大功告成!!!

 二、安装PHP

1. 安装extension

yum install libxml2-devel
yum install openssl-devel
yum install gd-devel


2. 编译安装

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/conf.d \
--with-pear \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--disable-debug \
--enable-zip \
--enable-calendar \
--enable-ftp \
--enable-mbstring \
--enable-soap \
--enable-sockets

make && make test && make install

3. 其他配置

cp php.ini-development /usr/local/lib/php.ini

vim /usr/local/apache2/conf/httpd.conf

确保以下字符串是否存在
LoadModule php5_module modules/libphp5.so

如果没有就加上
在AddType application*后面加如下一行
AddType application/x-httpd-php .php .phtml
在DirectoryIndex index.html加上index.php
DirectoryIndex index.php index.html
最后重启测试

注意:一定要先service httpd stop->service httpd start,而不能直接直接restart,否则errorlog会报“child pid xxxxx exit signal Segmentation fault (11)”!

4. 最后就是测试php了

cd /usr/local/apache2/htdocs

vim hello.php

XXXXX(此处省略了)

测试连接mariadb

vim mysql_test.php

<?php
$link=mysql_connect('127.0.0.1','root','MYSQL_PASS');
if(!$link) echo 'cannot connect!';
else echo 'success';
mysql_close();

 如果要设置web目录权限,很easy

chmod -R 775 /var/www

 

Nice!LAMP在64位服务器完美三合一!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值