搭建LAMP环境

LAMP是一个缩写词,具体包括linux操作系统,apache网站服务器,mysql数据库服务器,PHP(或perl、python)网页编程语言

LAMP平台的构成组件

linux操作系统:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更高的稳定性、兼容性

Apache网站服务器:作为LAMP架构的前端,是一款功能强大、稳定性好的WEb服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容

mysql数据库服务器:作为LAMP架构的后端,是一款流行的的开源关系数据库系统。在企业网站,业务系统等应用中,各种账户信息,产品信息,客户资料,业务数据等都可以存储到mysql数据库

PHP/Perl/Python网页编程语言:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供Web应用程序和运行环境

LAMP平台的应用优势:成本低廉、可定制、易于开发、方便易用、安全和稳定

 注意:对于初学者建议关闭系统的防火墙,就是关闭ip tables和selinux

关闭防火墙:chkconfig iptables off

查看防火墙命令:chkconfig --list iptables

wKiom1kAEnXAWx7bAAB_wKUnLmo914.png-wh_50

打开seliunx服务的命令:vim /etc/sysconfig/selinux

seliunx修改为disabled(如果不修改的,初学者经常会碰到一些服务开启不了)搭建LAMP_第1张图片


LAMP实验需要用到IP地址,本案例的IP地址为192.168.1.1

打开设置IP地址的命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

搭建LAMP_第2张图片 

配置好IP后,用service network restart命令将网卡重启


搭建LAMP_第3张图片 

因为自己的Centos并没有安装VMware Tools,所以接下来还要进行安装

首先将光盘挂上之后点击安装tools(如果发现最后没有安装成功,请取消安装,再重新安装一次就OK,如果安装了,请跳过)

先切进VMware Tools中:cd /media/VMware\ Tools/

ls查看一下


搭建LAMP_第4张图片 

tar命令将包解压到tmp目录下:tar zxvf VMwareTools-10.0.10-4301679.tar.gz -C /tmp

解压完之后,可以切进tmp目录下并且查看一下


搭建LAMP_第5张图片 

 

cd命令切进去并且查看一下


搭建LAMP_第6张图片 

./命令进行安装:./vmware-install.pl

之后就是无脑回车下一步


如果本地yum安装了请继续跳过


安装本地yum的步骤:依然先将光盘挂上

df -h查看一下


搭建LAMP_第7张图片 

删除/dev/sr0这个挂载点:umount /dev/sr0


搭建LAMP_第8张图片 

 

删除完之后重新将/dev/sr0进行挂载,挂在到/media


搭建LAMP_第9张图片 

cd切进 /etc/yum,repos.d/目录下

命令:cd /etc/yum.repos.d/

ls查看一下


wKioL1kAGGLiythPAABBMbxvEds013.png-wh_50 

推荐删除这三个(当然也可以将这三个进行改名)

rm -rf命令进行删除:rm -rf CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo


wKiom1kAGKORFrFhAAA_kCPkrSY086.png-wh_50 

vim CentOS-Media.repo进行编辑

 


搭建LAMP_第10张图片

baseurl=file:///media/     ——指定本地yum的存放目录

gpgcheck=0          ——检查GPG-KEY,0为不检查,1为检查

enabled=1           ——是否启用yum源,0为禁用,1为启用


改完之后用wq保存退出

可以用yum安装gcc验证一下:yum -y install gcc*

能安装gcc说明yum已经成功安装完毕

安装完成之后就可以重启,正好将前面所做的服务一起重启

 

正式搭建LAMP

步骤;

1:首先安装httpd-2.2.25.tar.gz

先查看自己虚拟机自身有没有httpd服务,有的话就删除后再安装

查看httpd命令:rpm -qa httpd


wKiom1kAHzTRoFzkAAAbLGf7DF4269.png-wh_50 

发现已经安装了,那么就需要删除它

删除httpd命令:rpm -e httpd --nodeps

再查看时就没有了

接下来就需要将httpd包解压到/usr/src


命令:tar zxvf httpd-2.2.25.tar.gz -C /usr/src/


 wKioL1kAHz_gnQFFAAA0cWxt3Vw936.png-wh_50

cd切进去这个包

然后对httpd进行一些配置

命令:./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-list  --enable-cgi


--prefix:指定将httpd服务程序安装到哪个目录下,如/usr/local/httpd

--enable-so:启用动态加载模块支持

-enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护

--enable-charset-list:启动字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力

 

配置完之后进行编译及编译安装

命令:make && make install=make make install

优化路径:ln -s /usr/local/httpd/bin/* /usr/local/bin/

apachectl -t检查语法


wKioL1kAIACT5lDMAABkA2Ncn-Q062.png-wh_50 

为了方便chkconfig管理,需要建立可控的服务,就需要将Apache脚本复制成/etc/init.d/httpd

命令:cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

 

复制过去之后,通过ll查看/etc/init.d/httpd的权限,如果没有就需要添加执行权限,(如果有执行权限可以跳过这一步)

命令:chmod +x /etc/init.d/httpd

 

接下来就需要用vimhttpd服务进行编辑

命令:vim /etc/init.d/httpd


搭建LAMP_第11张图片 

Chkconfig:2345 80 80

2345:是服务识别参数,在级别2345中启动

第一个80:是该服务在第80个启动

第二个80:是该服务在第80个关闭

description:httpd       :服务描述信息

 

wq保存退出

chkconfig --add httpdhttpd添加为系统服务

chkconfig  httpd  on启动httpd服务

chkconfig --list httpd查看一下httpd是否启动了


wKioL1kAIF3zWtDsAABVB4lbcNc798.png-wh_50 

hosts文件中添加IP与域名

 vim /etc/hosts


wKiom1kAIGqiOuaXAABNT3AIviw770.png-wh_50 

 

编辑httpd服务的主配置文件httpd.conf,查找配置项“ServerName”在附近添加一行内容“ServerName www.benet.com”,用于设置网站名称

命令:vim /usr/local/httpd/conf/httpd.conf


搭建LAMP_第12张图片 

保存退出

httpd启动:service httpd restart


wKioL1kAIK6CEX8oAABF6Alkf5Y050.png-wh_50 

查看httpd的端口号:netstat -anpt | grep httpd


wKiom1kAIL-jh_ikAAAq4tohjIo487.png-wh_50 

 

firefox http://192.168.1.1 进行验证


搭建LAMP_第13张图片 

 

到这Apache的安装以及配置完毕

 

2.安装MySQL

首先在虚拟机上装上MySQL包和cmake包(MySQL5.5需要cmake编译安装)

先安装cmake包(安装mysql需要cmake进行安装)

tar命令将该包解压到/usr/src目录下

命令:tar zxvf cmake-2.8.7.tar.gz -C /usr/src/

cd切进/usr/src/cmake-2.8.7/

命令:cd /usr/src/cmake-2.8.7/

 

配置、编译及安装

命令:./configure && make && make install

Cmake包已经安装完成

先查看系统有没有自带MySQLmysql-server,没有的话就安装,有的话先删除了再安装

先用rpm查看一下

命令:rpm -qa mysql mysql-server


wKioL1kAIWGBaLu_AAAfryyXWiQ066.png-wh_50 

那就需要我们先删除这俩个在进行安装

命令: rpm -e mysql mysql-server --nodeps

删除后在查看看一下


wKioL1kAIXHzg6BLAAAcqytfinU610.png-wh_50 

现在解压mysql包到/usr/src/目录下

命令:tar zxvf mysql-5.5.22.tar.gz -C /usr/src/

 

进行安装环境ncurses-devel(有的系统可能因为这环境没装,导致安装不了mysql)

命令:  yum -y install ncurses-devel

 

系统自身就有mysql这个用户,需要我们手动删除它再创建

命令:userdel mysql

 

创建mysql

命令:useradd -M -s /sbin/nologin mysql

 

mysql进行配置

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

 

-DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录下,如目录/usr/local/mysql

-DSYSCONFDIR:指定初始化参数文件目录

-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8

-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则

-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码

 

进行编译及安装

命令:make && make install

 

给数据库目录进行权限设置

命令:chown -R mysql:mysql /usr/local/mysql/

 

建立配置文件(在mysql源码目录中support-files文件下,提供了适合不同负载数据库的样本,如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多企业需求)

命令:cp support-files/my-medium.cnf /etc/my.cnf

 

初始化数据库

为了能够正常常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。

命令:/usr/local/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 

设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量

命令:echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

立即生效:.  /etc/profile

创建软连接:ln -s /usr/local/mysql/bin/* /usr/local/bin/

 

mysql服务复制成我们容易记得名字

命令: cp support-files/mysql.server /etc/init.d/mysqld

 

mysql服务执行权限(如果已经有了执行权限,也可跳过这一步)

命令:chmod +x /etc/init.d/mysqld

 

mysql服务设置为系统服务

命令: chkconfig --add mysqld

可以用命令查看一下mysql服务

命令:chkconfig --list mysqld


wKioL1kAItzDNvp7AAAS9Cx7aR4633.png-wh_50 

启动mysqld服务

命令:service mysqld start


wKiom1kAIuuiJjVCAAATmgPLGrk397.png-wh_50 

查看一下mysqld服务端口号

命令:netstat -anpt | grep mysqld


wKioL1kAIwzAMME_AAAkTAc55Ho651.png-wh_50 

 

mysql数据库管理员设置为root管理员并且配置上密码

命令:mysqladmin -u root password '123.com'

mysql用户进行验证

命令:mysql -u root -p

搭建LAMP_第14张图片 

关于MySQL的安装与配置已经完毕

 

 

接下来就是安装PHP


搭建LAMP_第15张图片 

将这五个包装上

先解压libmcrypt-2.5.8.tar.gzmhash-0.9.9.9.tar.gzmcrypt-2.6.8.tar.gz  这三个包(这三个包不分先后解压),之后解压php-5.3.23.tar.gz,最后解压ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz


先解压libmcrypt-2.5.8.tar.g/usr/src/目录下

命令:tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/

 

cd切进去

命令:cd /usr/src/libmcrypt-2.5.8/

 

进行配置、编译及安装

命令: ./configure && make && make install

 

创建软连接:ln -s /usr/local/lib/libmcrypt.* /usr/lib

该包已经安装完成,接着解压mhash-0.9.9.9.tar.gz /usr/src目录下

命令:tar zxvf mhash-0.9.9.9.tar.gz -C /usr/src/

 

cd切进去

命令:cd /usr/src/mhash-0.9.9.9/

 

进行配置、编译及安装

命令:./configure && make && make install

创建软连接:ln -s /usr/local/lib/libmhash* /usr/lib

 

该包安装完成后该解压mcrypt-2.6.8.tar.gz /usr/src目录下

命令:tar zxvf mcrypt-2.6.8.tar.gz -C /usr/src/

 

cd切进去

命令:cd /usr/src/mcrypt-2.6.8/

 

这个先用./configure进行配置会发现报错

命令:./configure


搭建LAMP_第16张图片 

解决configure配置报错

export  LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

 

然后在开始配置、编译及安装

命令: ./configure && make && make install

 

该包安装完之后,可开始解压php-5.3.28.tar.gz /usr/src目录下

命令: tar zxvf php-5.3.28.tar.gz -C /usr/src

 

cd切进去:cd /usr/src/php-5.3.28/

进行配置

命令:./configure --prefix=/usr/local/php --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php --enable-mbstring

 

 

--prefix:指定将PHP程序安装到哪个目录下,如/usr/local/php

--with-mcrypt :加载数据加密等扩展工具支持

--with-apxs2:设置Apache HTTP Server提供的apxs提供支持程序的文件位置

--with-mysql:设置MySQL数据库服务程序的安装位置

--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置

--enable-mbstring:启用多字节字符串功能,以便支持中文等代码


搭建LAMP_第17张图片 

 

当你所有配置都正确时还报了这样的错,说明有环境没装


搭建LAMP_第18张图片

libxml2-devel这个环境没有安装

就需要用yum进行安装

命令:  yum -y install libxml2-devel

再进行配置就没有问题了


搭建LAMP_第19张图片 

 

编译及安装:make && make install

 

选择一个样例文件,并复制到PHP的配置文件目录/usr/local/php下,并改名为php.ini

命令:cp /usr/src/php-5.3.28/php.ini-development /usr/local/php/php.ini

 

通过修改php.ini文件中的配置内容,可以控制PHP网页的执行特性。

命令: vim /usr/local/php/php.ini

;default_charset = "iso-8859-1"改为default_charset = "utf-8"

short_open_tag = Off改为short_open_tag = On

 

接下来就是解压zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz /usr/src/目录下

命令: tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/

 

ZendGuardLoader-php-5.3-linux-glibc23-x86_64里的php-5.3.x目录下的模块文件复制到PHP程序的模块文件夹

命令:cp /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php/lib/php/

 

然后修改php.ini配置文件,添加加载及启用ZendGuardLoader.so 模块的配置语句

命令:vim /usr/local/php/php.ini


搭建LAMP_第20张图片 

保存退出

 

Httpd.conf配置调整

要使httpd服务器支持PHP页面解析功能,需通过LoadModule配置项加载PHP程序的模块文件,并通过AddType配置项添加对“.pho”类型网页文件的支持。除此以外,还应修改DirectoryIndex配置行,添加index.php配置项,以识别常见的PHP首页文件

命令:vim /usr/local/httpd/conf/httpd.conf

LoadModule

搭建LAMP_第21张图片 

 

AddType


搭建LAMP_第22张图片 

 


搭建LAMP_第23张图片 

DirectoryIndex


 

 搭建LAMP_第24张图片

 

将该服务重启以更新配置

命令:service httpd restart

 

 

建立配置文件及将phpmyadmin套件复制到网站目录

命令:cd /usr/local/httpd/htdocs/

     mv index.html index.html_back

 

进行编辑网站:vim index.php

格式:

Phpinfo () ;

?>

编辑完之后用 firefox http://192.168.1.1

进行验证


搭建LAMP_第25张图片 

出现以上画面代表成功了

 

测试PHP网页能否访问MySQL数据库


搭建LAMP_第26张图片 

$link=mysql_connect('localhost','root','123.com');  //连接MySQL数据库,主机,用户,密码

if($link) echo "恭喜你,数据库连接成功啦!!";      //连接成功时反馈信息

mysql_close();                               //关闭数据连接

?>

注意事项:上面标点符号都是英文标点符号

验证效果

命令:firefox

http://192.168.1.1

搭建LAMP_第27张图片


实验到此,LAMP的环境已经简单的搭建完成了