编译安装LAMP(一)

来源:互联网 发布:残疾人人口基础数据库 编辑:程序博客网 时间:2024/05/22 10:42

安装顺序是先httpd,然后mariadb,最后php,因为php模块化需要依赖前面的东西

那么首先安装开发环境:

CentOS 6 下面需要安装"Development Tools"和"Server Platform Development"

不过我也是哔了狗了,最开始系统语言设置成中文了,一上来一堆中文我也是懵了。。。

所以先查看一下系统语言

[root@localhost ~]# cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8"

vim修改之,改成"en_US.UTF-8"重载就好了,或者修改环境变量也行(/etc/profile)


好,接下来是安装

# yum groupinstall "Development Tools"# yum groupinstall "Server Platform Development"

安装完成后,就具备初步编译的能力了。


不过httpd或许会需要依赖一个pcre-devel,所以先安装它

# yum install pcre-devel

至此,初步依赖解决。

安装新的apr(Apache Portable Runtime library)

[root@localhost /]# curl "http://mirrors.noc.im/apache/apr/apr-1.5.2.tar.bz2" > /tmp/apr-1.5.2.tar.bz2  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed100  807k  100  807k    0     0  57462      0  0:00:14  0:00:14 --:--:-- 74037[root@localhost /]# cd /tmp/[root@localhost tmp]# lsapr-1.5.2.tar.bz2  orbit-gdm  orbit-root  orbit-zhouplus  pulse-I0ZKhUI9c1X3  pulse-yle5PHF5WLuy  virtual-zhouplus.iZL8cX  yum.log[root@localhost tmp]# tar -xf apr-1.5.2.tar.bz2 [root@localhost tmp]# lsapr-1.5.2  apr-1.5.2.tar.bz2  orbit-gdm  orbit-root  orbit-zhouplus  pulse-I0ZKhUI9c1X3  pulse-yle5PHF5WLuy  virtual-zhouplus.iZL8cX  yum.log[root@localhost tmp]# cd apr-1.5.2[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/aprbalabalabala....[root@localhost apr-1.5.2]# make && make installbalabalabala....


之所以指定prefix,就是为了不与现有版本冲突(anaconda自带了低版本)

balabala的安装完成后,安装apr-utils

[root@localhost apr-1.5.2]# curl "http://mirrors.noc.im/apache/apr/apr-util-1.5.4.tar.bz2" > /tmp/apr-utils-1.5.4.tar.bz2  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed100  678k  100  678k    0     0  46352      0  0:00:14  0:00:14 --:--:-- 64208[root@localhost tmp]# lsapr-1.5.2  apr-1.5.2.tar.bz2  apr-utils-1.5.4.tar.bz2  orbit-gdm  orbit-root  orbit-zhouplus  pulse-I0ZKhUI9c1X3  pulse-yle5PHF5WLuy  virtual-zhouplus.iZL8cX  yum.log[root@localhost tmp]# tar -xf apr-utils-1.5.4.tar.bz2 [root@localhost tmp]# cd apr-utilapr-util-1.5.4/          apr-utils-1.5.4.tar.bz2  [root@localhost tmp]# cd apr-util-1.5.4/[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr


注意这里的--with-apr选项,因为使用新的apr的原因,所以库文件路径要自己指定

[root@localhost apr-util-1.5.4]# make && make install

apr完事了然后就是httpd了

这个包我已经下载并解压,直接安装之

[root@localhost httpd-2.4.18]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-utils --enable-modules=most --enable-mpms-shared=all --with-mpm=event


配置上有点墨迹,复制就好,不过有些参数路径需要改改

巴拉一通以后,make && make install 不再赘述

安装完成以后,想办法给httpd2.4弄一个服务脚本出来:

做法就是复制以前的脚本,然后修改里面的路径。。。

在/etc/rc.d/init.d下面,弄一个httpd24即可,文件中有几个需要修改的路径:

apachectl=/usr/local/apache/bin/apachectlhttpd=/usr/local/apache/bin/httpdprog=httpdpidfile=${PIDFILE-/var/run/httpd/httpd24.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

好,保存添加执行权限,然后加入开机管理列表

[root@localhost init.d]# chkconfig --add httpd24[root@localhost init.d]# chkconfig --list httpd24httpd24        0:off1:off2:off3:off4:off5:off6:off

想启动自便。

然后修改path变量,并检查配置文件语法

[root@localhost profile.d]# vim /etc/profile.d/httpd24.sh
export PATH="/usr/local/apache/bin:${PATH}"

这样,就完成了配置,可以

hash -r 清空路径缓存

httpd -r 检查一下语法

差不多这样

[root@localhost profile.d]# service httpd24 startStarting httpd: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message                                                           [  OK  ][root@localhost profile.d]# ss -tnlState      Recv-Q Send-Q                                                      Local Address:Port                                                        Peer Address:Port LISTEN     0      128                                                                    :::111                                                                   :::*     LISTEN     0      128                                                                     *:111                                                                    *:*     LISTEN     0      128                                                                    :::80                                                                    :::*     LISTEN     0      128                                                                    :::37844                                                                 :::*     LISTEN     0      128                                                                    :::22                                                                    :::*     LISTEN     0      128                                                                     *:22                                                                     *:*     LISTEN     0      128                                                             127.0.0.1:631                                                                    *:*     LISTEN     0      128                                                                   ::1:631                                                                   :::*     LISTEN     0      100                                                                   ::1:25                                                                    :::*     LISTEN     0      100                                                             127.0.0.1:25                                                                     *:*     LISTEN     0      128                                                                     *:54370                                                                  *:*     

已经安装成功,由于configure时指定的event模型,所以目前httpd使用的是event
0 0