注册 登录
LUPA开源社区 返回首页

joejoe0332的个人空间 http://www.lupaworld.com/?22802 [收藏] [复制] [分享] [RSS]

我的博客

简单LAMP的实现及测试

热度 1已有 1453 次阅读2011-8-17 11:36 |系统分类:IT技术

LAMP是Linux Apache Mysql PHP 这四款自由软件首字母的缩写,这四款开源软件虽然不是专门设计用来一起工作的,但由于开源软件的低廉价格和表现出的不俗实力,越来越受到人们的青睐。随着 开源潮流的蓬勃发展,LAMP已经与J2EE和在web应用程序市场形成鼎立之势。

  废话不多说,下面介绍一下简单LAMP的具体实现过程:

  Linux上的Mysql安装及配置

  1. 给Mysql的数据目录创建单独的逻辑卷

  mkdir /mydata

  #创建存放数据的目录

  fdisk /dev/sda

  #新建分区属性为8e

  pvcreate /dev/sda5

  vgcreate myvg /dev/sda5

  lvcreate –L 4G –n mylv myvg

  mke2fs –L MYDATA –j /dev/myvg/mylv

  vim /etc/fstab

  LABEL=MYDATA /mydata ext3 defaults 0 0

  #加入这一行实现开机自动挂载

  mount –a

  mkdir /mydata/data

  2. 创建mysql用户

  groupadd –g 3306 mysql

  useradd –g 3306 –u 3306 –M –s /sbin/nologin

  chown –R mysql:mysql /mydata

  3. 解压mysql-5.5.15-linux2.6-i686.tar.gz,使用其中脚本进行初始化

  tar xvf mysql-5.5.15-linux2.6-i686.tar.gz –C /usr/local/

  cd /usr/local

  ln –vs mysql-5.5.15-linux2.6-i686 mysql

  cd /usr/local/mysql

  chown –R mysql:mysql ./*

  scripts/mysql_install_db --user=mysql --datadir=/mydata/data

  #初始化Mysql用户和数据路径

  chown –R root ./*

  #再将属主交还给root

  4. 创建mysqld服务

  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

  #导入服务脚本

  chkconfig –add mysqld

  5. 创建Mysql的配置文件

  cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

  vim /etc/my.cnf

  #找到[mysqld]下面的内容添加

  datadir= /mydata/data

  6. 加入mysql命令

  vim /etc/profile

  PATH=$PATH:/usr/loca/mysql/bin

  #添加这一行

  7. 加入mysql库文件的路径

  vim /etc/ld.so.conf.d/mysql.conf

  /usr/local/mysql/lib

  #写入这一行

  8. 设置头文件

  ln –vs /usr/local/mysql/include /usr/include/mysql

  9. 添加man文件(如果你以后不想使用mysql的man文件不添加也是可以的)

  vim /etc/man.conf

  MANPATH /usr/local/mysql/man

  #添加这一行service mysql start

  #启动mysql服务

  netstat –tnl

  #查看3306端口处于监听状态,说明已经配置成功。

  编译安装Apache

  1.解压httpd-2.2.19.tar.bz2软件包

  tar xvf httpd-2.2.19.tar.bz2

  2. 设置安装规则、编译、安装

  ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable=ssl --enable-modules=most --enable-mods-share=most --enable-so

  make

  make install

  3. 制作服务启动脚本

  vim /etc/init.d/httpd

  #!/bin/bash

  . /etc/rc.d/init.d/functions

 

  if [ -f /etc/sysconfig/httpd ]; then

   . /etc/sysconfig/httpd

  fi

 

  HTTPD_LANG=${HTTPD_LANG-"C"}

 

  INITLOG_ARGS=""

 

  apachectl=/usr/local/apache/bin/apachectl

  httpd=${HTTPD-/usr/local/apache/bin/httpd}

  #注意此上两行中路径要与你的安装路径一致

  prog=httpd

  pidfile=${PIDFILE-/var/run/httpd.pid}

  lockfile=${LOCKFILE-/var/lock/subsys/httpd}

  RETVAL=0

 

  start() {

   echo -n $"Starting $prog: "

   LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS

   RETVAL=$?

   echo

   [ $RETVAL = 0 ] && touch ${lockfile}

   return $RETVAL

  }

 

  stop() {

   echo -n $"Stopping $prog: "

   killproc -p ${pidfile} -d 10 $httpd

   RETVAL=$?

   echo

   [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}

  }

 

  reload() {

   echo -n $"Reloading $prog: "

   if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then

   RETVAL=$?

   echo $"not reloading due to configuration syntax error"

   failure $"not reloading $httpd due to configuration syntax error"

   else

   killproc -p ${pidfile} $httpd -HUP

   RETVAL=$?

   fi

   echo

  }

 

  case "$1" in

   start)

   start

   ;;

   stop)

   stop

   ;;

   status)

   status -p ${pidfile} $httpd

   RETVAL=$?

   ;;

   restart)

   stop

   start

   ;;

   condrestart)

   if [ -f ${pidfile} ] ; then

   stop

   start

   fi

   ;;

   reload)

   reload

   ;;

   graceful|help|configtest|fullstatus)

   $apachectl $@

   RETVAL=$?

   ;;

  *)

   echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"

   exit 1

  esac

 

  exit $RETVAL

  vim /etc/httpd/httpd.conf

  PidFile "/var/run/httpd.pid"

  #添加这一行

  chkconfig --add httpd

  service httpd start

  #启动httpd服务

  netstat -tnl

  #查看80端口处于监听状态,说明已经配置成功。

  PHP的编译安装

  1. 解压php-5.3.6.tar.bz2软件包

  tar xvf php-5.3.6.tar.bz2

  2. 设置安装选项、编译、安装

  ./configure --prefix=/usr/local/php5 --sysconfdir=/etc/php --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libmcrypt --with-gd --with-mysqli

 

  make

  makeinstall

  3. 加入命令路径

  vim /etc/profile

  PATH=$PATH:/usr/loca/php5/bin

  #添加这一行

  4. 加入php库文件路径

  vim /etc/ld.so.conf.d/php.conf

  /usr/local/php5/lib

  5. 创建php配置文件

  cp php.ini-production /usr/local/php5/lib/php.ini

  #注意php.ini-production文件位于php-5.3.6.tar.bz2的解压目录

  6. 修改httpd服务配置文件使其支持php

  vim /etc/httpd/httpd.conf

  AddType Application/x-httpd-php .php

  AddType Application/x-httpd-php-source .phps

  #添加这两行在AddType xxxxxx行附近位置

  DirectoryIndex index.php index.html

  #添加index.php

 

  service httpd restart

  #重启httpd服务

  到此简单的LAMP就配置成功了

  LAMP的测试

  为了测试LAMP,作者在这里选用了

  wordpress-3.0.4-zh_CN.zip

  phpMyAdmin-3.4.3.2-all-languages.tar.bz2

  要使这两个网站都能在新搭建的LAMP运行,就得虚拟主机来实现。

  这里作者选用基于主机名的虚拟主机(基于ip的虚拟主机过于消耗ipv4资源;基于端口的虚拟主机只有一个主页能使用默认80端口)

  使用于主机名的虚拟主机配置网站:

  1. 配置虚拟主机

  vim /etc/httpd/httpd.conf

  #DocumentRoot "/usr/local/apache/htdocs"

  #把此行注释

  Include /etc/httpd/extra/httpd-vhosts.conf

  #把此行启用

 

  vim /etc/httpd/extra/httpd-vhosts.conf

  #添加内容

  

  DocumentRoot "/web/phpmyadmin" #网站所在目录

  ServerName "phpmyadmin.redhat_hu.com" #虚拟主机名

  ErrorLog "logs/phpmyadmin.error" #错误日志

  CustomLog "logs/phpmyadmin.access" combined #访问日志

  

 

  

  Order allow,deny

  Allow from all

  

  #设置访问控制为允许所有

  

  DocumentRoot "/web/wordpress"

  ServerName "wordpress.redhat_hu.com"

  ErrorLog "logs/wordpress.error"

  CustomLog "logs/wordpress.access" combined

  

 

  

  Order allow,deny

  Allow from all

  

  2.配置网站链接数据库

  mkdir /web/{phpmyadmin,wordpress}

  #创建网页所在目录 (此目录最好挂载逻辑卷,具体步骤见上文)

 

  tar xvf phpMyAdmin-3.4.3.2-all-languages.tar.bz2

  cp -R phpMyAdmin-3.4.3.2/* /web/phpmyadmin

  unzip wordpress-3.0.4-zh_CN.zip

  cp -R wordpress/* /web/ wordpress

  #将两个网站文件放入对应文件夹

 

  mv /web/wordpress/wp-config-simple.php /web/wordpress/wp-config.php

  vim /web/wordpress/wp-config.php

  define('DB_NAME', 'wordpress');

  define('DB_USER', 'root');

  define('DB_PASSWORD', 'redhat');

  #设置对应数据库名登录用户以及密码

 

 

  在mysql中创建数据库

  mysql

  #未设置密码可以直接登录

  mysql>CREATE DATABASE wordpress;

  mysql>SET PASSWORD FOR root@localhost=PASSWORD('redhat');

  mysql>FLUSH PRIVILEGES;

  #设置密码redhat

  mysql>quit

  全部配置完成

  打开浏览器输入网址进行测试。

  Ps:由于作者使用的是VMware虚拟机,C:\WINDOWS\system32\drivers\etc\hosts

  中加入如下两行实现域名解析。

  192.168.0.20 phpmyadmin.redhat_hu.com

  192.168.0.20 wordpress.redhat_hu.com

刚表态过的朋友 (0 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册
验证问答 换一个 验证码 换一个

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部