您的位置:首页 > 运维架构 > Linux

编译安装LAMP(一)

2016-04-10 18:17 465 查看
安装顺序是先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  Speed
100  807k  100  807k    0     0  57462      0  0:00:14  0:00:14 --:--:-- 74037
[root@localhost /]# cd /tmp/
[root@localhost tmp]# ls
apr-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]# ls
apr-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/apr
balabalabala....
[root@localhost apr-1.5.2]# make && make install
balabalabala....


之所以指定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  Speed
100  678k  100  678k    0     0  46352      0  0:00:14  0:00:14 --:--:-- 64208
[root@localhost tmp]# ls
apr-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-util
apr-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/apachectl
httpd=/usr/local/apache/bin/httpd
prog=httpd
pidfile=${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 httpd24
httpd24        	0:off	1:off	2:off	3:off	4:off	5:off	6: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 start
Starting 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 -tnl
State      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
9f9b
*:54370                                                                  *:*


已经安装成功,由于configure时指定的event模型,所以目前httpd使用的是event
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lamp centos