一、LAMP简介
1.什么是LAMPLAMP是一种Web网络应用和开发环境,是Linux,Apache,MySQL,Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件。LAMP这个词的由来最早始于德国杂志“c'tMagazine”,MichaelKunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件经常在一起使用。这些组件的兼容性也在不断完善,为了改善不同组件之间的协作,已经创建了某些扩展功能,在一起的应用情形变得非常普便,因而成为目前最流行的web应用基础架构。2.LAMP的组件平台由四个组件组成,呈分层结构,每一层都提供了整个架构的一个关键部分:Linux:Linux处在最底层,提供操作系统。它的灵活性和可定制化的特点意味着它能够产生一种高度定制的平台,让其它组件在上面运行。其它组件运行于Linux之上,但是并不一定局限于Linux,也可以在MicrosoftWindows,MacOSX或UNIX上运行。Apache:Apache位于第二层,它是一个Web服务平台,提供可让用户获得Web页面的机制。Apache是一款功能强大、稳定、可支撑关键任务的Web服务器,Internet上超过50%的网站都使用它作为Web服务器。MySQL:MySQL是最流行的开源关系数据库管理系统,是LAMP的数据存储端。在Web应用程序中,所有帐户信息、产品信息、客户信息、业务数据和其他类型的信息都存储于数据库中,通过SQL语言可以很容易地查询这些信息。PHP/Perl:Perl是一种灵活的语言,特别是在处理文本要素的时候,这种灵活性使Perl很容易处理通过CGI接口提供的数据,灵活地运用文本文件和简单数据库支持动态要素。PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。可以使用PHP编写能访问MySQL数据库中的数据和Linux提供的一些特性的动态内容。二、系统环境
操作系统:CentOS6.464位Ip地址:192.168.0.3apache版本:httpd-2.4.6mysql版本:mysql-5.5.10php版本:php-5.5.5
三、安装前的准备
1.安装需要用到的工具yum -y install wget make gcc gcc-c++ zlib zlib-devel openssl openssl-devel gd freetype freetype-devel autoconf libjpeg libpng libpng-devel libxml2 curl libcurl libcurl-devel ncurses-devel
2.下载软件
cd /usr/local/src/wget http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gzwget http://archive.apache.org/dist/apr/apr-1.4.8.tar.gzwget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gzwget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gzwget http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.tar.gzwget http://mirror.esocc.com/apache//httpd/httpd-2.4.6.tar.gzwget http://downloads.skysql.com/archives/mysql-5.5/mysql-5.5.10.tar.gzwget http://us1.php.net/get/php-5.5.5.tar.gz/from/cn2.php.net/mirror
四、安装jdk、apache、mysql、php
1.安装jdkrpm -qa |grep java #查看已安装的jdk包rpm -e --nodeps <包的名字> #卸载已安装的jdktar -zxvf jdk-7u45-linux-x64.tar.gzmv jdk 1.7.0_45 /usr/local/jdkvi ~/.bash_profile 包的名字>
添加下面两行
export JAVA_HOME=/usr/local/jdkexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
将下面行
PATH=$PATH:$HOME/bin
修改为
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
注:把新安装的jdk的bin目录添加在$PATH的前面,这样当系统中有多个jdk版本时,会优先搜寻排在前面的jdk版本。
source ~/.bash_profilejava -version # 查看java的版本
2.安装mysql
(1)安装cmaketar -zxvf cmake-2.8.11.2.tar.gzcd cmake-2.8.11.2./configuremakemake install
(2)安装mysql
cd ..tar -zxvf mysql-5.5.10.tar.gzcmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=systemmakemake installgroupadd mysqluseradd -g mysql mysqlvi /etc/passwd #修改passwd文件禁止mysql登陆
找到以下行将/bin/bash改为/sbin/nologin
mysql:x:498:500::/home/mysql:/sbin/nologin
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnfcp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlchmod 755 /etc/init.d/mysqlchown -R mysql.mysql /usr/local/mysql/datavi /etc/my.cnf
在[mysqld]下面加入以下两行,否则会出问题
basedir = /usr/local/mysqldatadir = /usr/local/mysql/data
启动mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &/usr/local/mysql/bin/mysqladmin -u root -h localhost password '密码'
登陆mysql测试
mysql -u root -p
输入密码:
exit
将mysql加入系统服务
chkconfig --add mysqlchkconfig mysql onservice mysql stopservice mysql start
3.安装apache
(1)卸载相关的工具yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs
(2)安装apr
cd /usr/local/srctar -zxvf apr-1.4.8.tar.gzcd apr-1.4.8./configure --prefix=/usr/local/aprmakemake install
(2)安装apr-util
cd ..tar -zxvf apr-util-1.5.2.tar.gzcd apr-util-1.5.2./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmakemake install
(3)安装pcre
cd ..tar -zxvf pcre-8.33.tar.gzcd pcre-8.33./configure --prefix=/usr/local/pcremakemake install
(4)安装apache
cd ..tar -zxvf httpd-2.4.6.tar.gzcd httpd-2.4.6./configure --prefix=/usr/local/apache --enable-module=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-libxml2makemake install
4.安装php
cd ..tar -zxvf php-5.5.5.tar.gzcd php-5.5.5./configure --prefix=/usr/local/php --enable-fpm --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --with-curl --with-gd --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --enable-gd-native-ttf --enable-sockets --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib --with-openssl --with-libxml-dir --enable-ftp
#注:/usr/local/lib为php配置文件的目录,可自定义
makemake installcp php.ini-production /usr/local/lib/php.ini
五、配置apache
vi /usr/local/apache/conf/httpd.conf
Listen 80Listen 8080 #增加8080端口,可增加多个端口ServerName www.example.com:80 #去掉前面的#号DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jspInclude conf/extra/httpd-vhosts.conf #去掉前面的#号#增加以下两行AddType application/x-httpd-php .php .phtml .php3 .incAddType application/x-httpd-php-source .phps
vi /usr/local/apache/conf/extra/httpd-vhosts.conf
#按如下配置修改,创建两个虚拟站点,可创建多个站点
ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache/htdocs/codexky"ServerName www.codexky.comServerAlias www.codexky.comErrorLog "logs/www.codexky.com-error_log"CustomLog "logs/www.codexky.com-access_log" common ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/usr/local/apache/htdocs/mycode"ServerName localhost:8080ServerAlias mycodeErrorLog "logs/mycode-error_log"CustomLog "logs/mycode-access_log" common
#创建两个站点目录
mkdir /usr/local/apache/htdocs/codexkymkdir /usr/local/apache/htdocs/mycode/usr/local/apache/bin/apachectl start #启动apache
#修改防火墙配置
vi /etc/sysconfig/iptables
#加入已经两条规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
service iptables restart
六、测试
1.创建php测试页vi /usr/local/apache/htdocs/codexky/test.phpvi /usr/local/apache/htdocs/mycode/test.php
#分别创建两个站点的测试页,内容如下
2.测试
打开浏览器输入http://192.168.0.3/test.php和,看到如下页面则表示OK。编辑本地hosts文件,添加如下内容
192.168.0.3 www.codexky.com
打开浏览器输入,看到以上页面则表示OK。