一、何为LAMP
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案
二、软件组合
Linux
Linux 是免费开源软件,这意味着源代码可用的操作系统。
Apache
Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。
MySQL
MySQL 是多线程、多用户的SQL数据库管理系统。
MySQL 已由Oracle公司自 2010 年 1 月 27 日通过SUN购买。SUN 最初于 2008 年 2 月 26 日收购 MySQL。
MariaDB
MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,而转向了MariaDB。其中Centos 7默认已经采用MariaDB。互联网中维基百科,互联网巨头谷歌纷纷放弃MySQL转向MariaDB。
PHP
PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。
三、编译安装Apache
[[email protected] ~]# yum groupinstall -y "Development Tools" "Server Platform Development" #通过“包组”提供开发工具(make, gcc等)及开发环境(开发库,头文件,标准库等)
由于httpd-2.4需要依赖于apr-1.4和apr-util-1.4以上的版本,所以我们先编译安装此两个源码。apr全称apache portable runtime(Apache可移植运行库)。主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
[[email protected] ~]# tar xf apr-1.5.2.tar.bz2 [[email protected] ~]# cd apr-1.5.2 [[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr [[email protected] apr-1.5.2]# make -j 4 && make install
apr-1.5.2下载地址:http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.bz2
[[email protected] ~]# tar xf apr-util-1.5.4.tar.bz2 [[email protected] ~]# cd apr-util-1.5.4 [[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [[email protected] apr-util-1.5.4]# make -j 4 && make install
apr-util-1.5.4下载地址:http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.bz2
由于httpd-2.4.16编译过程依赖于pcre-devel软件包,需要事先安装。此软件包系统光盘自带,因此,可以直接挂载光盘使用yum安装。
[[email protected] ~]# yum install -y pcre-devel [[email protected] ~]# tar xf httpd-2.4.16.tar.bz2 [[email protected] ~]# cd httpd-2.4.16 [[email protected] httpd-2.4.16]# ./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-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event #--prefix:安装目录,--sysconfdir:配置文件目录,--enable-so:支持模块化机制,--enable-ssl:启动ssl #--enable-cgi:启动cgi,--enable-rewrite:支持url重新,--with-zlib:支持传送压缩,--with-pcre:支持正则表达式 #--with-apr:指明apr安装路径,--with-apr-util=/usr/local/apr-util:指明apr-util安装路径,--enable-modules:指明启用的模块 #--enable-mpms-shared:把所有支持的MPM都编译进来,--with-mpm:默认使用的MPM [[email protected] httpd-2.4.16]# make -j 4 && make install
httpd-2.4.16下载地址:http://mirrors.aliyun.com/apache/httpd/httpd-2.4.16.tar.bz2
为了后期管理方便,我们这里为编译安装的httpd-2.4提供一个管理脚本,可以复制通过yum源安装的httpd-2.2的配置文件进行修改。
[[email protected] ~]# cd /etc/rc.d/init.d/ [[email protected] init.d]# cp httpd httpd24 [[email protected] init.d]# vim httpd24 apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} pidfile=${PIDFILE-/var/run/httpd/httpdi24.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd24} [[email protected] init.d]# chkconfig --add httpd24 #把httpd2.4设置为系统服务 [[email protected] init.d]# vim /etc/profile.d/httpd24.sh export PATH=/usr/local/apache/bin:$PATH [[email protected] init.d]# . /etc/profile.d/httpd24.sh #把刚编译好的httpd2.4的脚本运行命令添加到环境变量中 [[email protected] init.d]# httpd -t Syntax OK [[email protected] init.d]# /etc/init.d/httpd24 start Starting httpd: [ OK ] [[email protected] init.d]# ss -anl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::80 :::* #查看80端口已经处于监听状态
四、编译安装Mariadb
[[email protected] ~]# tar xf mariadb-5.5.42.tar.gz -C /usr/local/ [email protected] ~]# cd /usr/local/ [[email protected] local]# ln -sv mariadb-5.5.42 mysql `mysql‘ -> `mariadb-5.5.42‘ [[email protected] local]# cd mysql/ [[email protected] ~]# mkdir -pv /mariadb/data [[email protected] /]# groupadd -r mysql [[email protected] /]# useradd -g mysql -r -s /sbin/nologin -M -d /mariadb/data mysql #新建用户以安全方式运行进程 [[email protected] ~]# chown -R mysql:mysql /mariadb/data/
Mariadb下载地址:http://archive.mariadb.org//mariadb-5.5.42/bintar-linux-x86_64/mariadb-5.5.42-linux-x86_64.tar.gz