一、安装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位服务器完美三合一!!