中华考试网·阅读新闻
Linux认证 > 综合辅导 > 文章内容

LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP

2016-1-19编辑:ljnbset

Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度共同组成了一个强大的web应用程序平台。而从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

下面来看一下LAMP环境搭建的步骤。

准备工具:

apr-1.4.6.tar.gz apr-util-1.5.1.tar.gz

httpd-2.4.4.tar.bz2

mysql-5.6.10.tar.gz cmake-2.8.10.2.tar.gz

php-5.4.3.tar.gz

一.准备环境:

我用的是Red Hat Enterprise Linux 5.4 eth0 192.168.126.129

[root@lly ~]# mount /dev/cdrom /mnt/cdrom挂载光盘

用yum检测开发环境

[root@lly ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo编辑yum客户端

wps_clip_image-18549

[root@lly ~]# yum grouplist检查开发环境

wps_clip_image-17594

说明:这里需要有这几个开发环境,我这里,环境已经具备了,要是没有这几个开发环境, 可以用yum groupinstall “开发环境名”即可,

注意:yum安装软件包组时,多个单词的一定要加””

二.安装

按照httpd mysql php 的顺序依次安装

1.安装apache

其实关于apache的安装,本人前边的博客已有介绍

[root@lly ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/

[root@lly ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

[root@lly src]# cd /usr/local/src/apr-1.4.6/

[root@lly apr-1.4.6]# ./configure --prefix=/usr/local/apr把apr安装到/usr/local/apr目录下

[root@lly apr-1.4.6]#make

[root@lly apr-1.4.6]#make install

[root@lly apr-1.4.6]# cd ..

[root@lly src]# cd apr-util-1.5.1/

[root@lly apr-util-1.5.1]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config

[root@lly apr-util-1.5.1]# make

[root@lly apr-util-1.5.1]# cd

[root@lly ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/httpd-2.4.4/

[root@lly httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all

[root@lly httpd-2.4.4]# make

[root@lly httpd-2.4.4]# make install

[root@lly httpd-2.4.4]#/usr/local/apache/man

[root@lly man]# vim /etc/man.config

把apache的man手册添加到man路径方便查看apache的man手册

wps_clip_image-16063

为了防止系统调用apache的头文件include时找不到路径,可以做一个连接

[root@lly apache]# ln -s /usr/local/apache/include/ /usr/include/apache

为了更好的管理httpd,为其编辑一个启动脚本

[root@lly ~]# cd /etc/init.d/

[root@lly init.d]# vim httpd

脚本如下

#!/bin/sh

#set -x

HTTPD='/usr/local/apache/bin/httpd'

CONFFILE='/etc/httpd/httpd.conf'

#description: http server

#chkconfig: 2345 88 60

start(){

[ -f /var/lock/subsys/httpd ]&& echo "apache is started" && exit

echo -n "starting apache......"

sleep 1

}

stop(){

[ ! -f /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit

echo -n "stoping httpd........"

sleep 1

/bin/rm -rf /var/lock/subsys/httpd

$HTTPD -k stop && RETVAL=0 ||RETVAL=1

}

case $1 in

stop(){

[ ! -f /var/lock/subsys/httpd ] && echo "httpd is stoped..." && exit

echo -n "stoping httpd........"

sleep 1

/bin/rm -rf /var/lock/subsys/httpd

$HTTPD -k stop && RETVAL=0 ||RETVAL=1

[ $RETVAL -eq 0 ] && rm -rf /var/lock/subsys/httpd && echo "ok" || echo "fail"

}

case $1 in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo "start|stop|restart"

;;

esac

[root@lly init.d]# chmod a+x /etc/init.d/httpd

[root@lly init.d]# service httpd start

[root@lly init.d]# netstat -tupln |grep http

tcp 0 0 :::80 :::*

[root@lly init.d]# chkconfig --add httpd添加自启动

[root@lly init.d]# chkconfig --list |grep http

httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

2.安装mysql cmake

[root@lly ~]# tar zxvf mysql-5.6.10.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

[root@lly mysql-5.6.10]# less INSTALL-SOURCE

mysql的使用说明

wps_clip_image-3494安装mysql的时候需要用到cmake工具

安装cmake

[root@lly ~]# tar -zxvf cmake-2.8.10.2.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/cmake-2.8.10.2/

[root@lly cmake-2.8.10.2]# ./configure --prefix=/usr/local/cmake

[root@lly cmake-2.8.10.2]# make && make install

Waiting.......................

[root@lly cmake-2.8.10.2]# cd /usr/local/cmake/

为了日后能快速访问cmake下的bin,把cmke下的bin添加路径

[root@lly cmake]# vim /etc/profile

wps_clip_image-3520

注意:只有下次进入之后路径才会添加成功

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

86:36

[root@lly mysql-5.6.10]# cmake .

[root@lly mysql-5.6.10]# make && make install

Please waiting for a long time。。。。。。。。。。。。。。。。。。。。。。。。。。

[root@lly ~]# cd /usr/local/src/mysql-5.6.10/

[root@lly mysql-5.6.10]# less INSTALL-SOURCE

Mysql安装说明中的配置的步骤

wps_clip_image-7154

[root@lly mysql-5.6.10]# cd /usr/local/mysql/

创建帐号信息

[root@lly mysql]# groupadd mysql

[root@lly mysql]# useradd -r -g mysql mysql

[root@lly mysql]# chown -R mysql .

进行初始化

[root@lly mysql]# scripts/mysql_install_db --user=mysql

[root@lly mysql]# chown -R root .

[root@lly mysql]# chown -R mysql data

[root@lly mysql]# cd support-files/

[root@lly support-files]# cp my-default.cnf /etc/my.cnf

[root@lly support-files]# cp mysql.server /etc/init.d/mysqld

[root@lly support-files]# chmod a+x /etc/init.d/mysqld

[root@lly support-files]# service mysqld start

Starting MySQL..... [ OK ]

mysqld 服务成功启动

[root@lly support-files]# netstat -tupln |grep mysqld

tcp 0 0 :::3306 :::*

[root@lly support-files]# cd ..

[root@lly mysql]# pwd

/usr/local/mysql

[root@lly mysql]# vim /etc/profile

wps_clip_image-1809

重新登录一次

[root@lly ~]# mysql

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

[root@lly ~]# mysqladmin -u root -p password '123'设置一个管理员帐号密码123

[root@lly ~]# mysql -u root -p以后就可以以此帐号登陆了

wps_clip_image-262

mysql生成的/usr/local/mysql/lib库文件不是标准路径系统无法识别(/lib 或者/usr/lib为标准路径)所以需做如下配置

[root@lly mysql]# vim /etc/ld.so.conf.d/mysql.conf

写入

/usr/local/mysql/lib

刷新ld.so.cache

[root@lly mysql]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 81871 Apr 13 08:17 /etc/ld.so.cache

[root@lly mysql]# ldconfig

[root@lly mysql]# ll /etc/ld.so.cache

-rw-r--r-- 1 root root 82128 Apr 13 15:46 /etc/ld.so.cache

对mysql的头文件include做一个连接

[root@lly mysql]# ln -s /usr/local/mysql/include/ /usr/include/mysql

3.安装php

[root@lly ~]# tar -zxvf php-5.4.3.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/php-5.4.3/

[root@lly php-5.4.3]# ./configure --prefix=/usr/local/php --sysconfdir=/etc --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-xml --with-freetype-dir

[root@lly php-5.4.3]# make && make install

[root@lly php-5.4.3]# cd /usr/local/php/

[root@lly php]# vim /etc/profile

wps_clip_image-11228

[root@lly php]# vim /etc/ld.so.conf.d/php.conf

写入

/usr/local/mysql/lib

[root@lly php]# ldconfig

[root@lly php]# ln -s include /usr/include/php

[root@lly php]# vim /etc/httpd/httpd.conf

在apache的配置文件中会自动添加modules/libphp5.so模块

wps_clip_image-16678

wps_clip_image-24601

[root@lly ~]# service httpd restart重启apache

注意:若出现如下错误,可能是是Linux有一个SELinux保护模式引起的

starting apache......httpd: Syntax error on line 147 of /etc/httpd/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

Fail

可以进行如下操作

1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled

需要重启
这个方法可能会对服务器带来风险。

2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1

[root@lly ~]# cd /usr/local/apache/htdocs apache的默认站点目录

三.测试

1.测试apache

浏览器输入http://192.168.126.129

wps_clip_image-17980

2.测试php

[root@lly htdocs]# mv index.html index.php 把apache的测试页改为php

[root@lly htdocs]# vim index.php

wps_clip_image-27790

刷新浏览器出现如下界面

wps_clip_image-19033

至此,apache和php完美结合了。。。

3.测试php和mysql的结合是否成功

[root@lly htdocs]# vim index.php

wps_clip_image-28130

刷新浏览器

wps_clip_image-32506

[root@lly htdocs]# service mysqld stop关闭mysqld服务时也显示正常

wps_clip_image-329

RedHat5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind
咨询热线:4000-525-585(免长途费)