评论

收藏

[MySQL] 简单LAMP的实现及测试

数据库 数据库 发布于:2021-07-04 12:53 | 阅读数:467 | 评论:0

  简单LAMP的实现
  

  LAMPLinux 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
#添加内容
<VirtualHost *:80>
DocumentRoot "/web/phpmyadmin"    #网站所在目录
ServerName "phpmyadmin.redhat_hu.com" #虚拟主机名
ErrorLog "logs/phpmyadmin.error"    #错误日志
CustomLog "logs/phpmyadmin.access" combined #访问日志
</VirtualHost>

<Directory "/web/phpmyadmin">
Order allow,deny
Allow from all
</Directory>
#设置访问控制为允许所有
<VirtualHost *:80>
DocumentRoot "/web/wordpress"
ServerName "wordpress.redhat_hu.com"
ErrorLog "logs/wordpress.error"
CustomLog "logs/wordpress.access" combined
</VirtualHost>

<Directory "/web/wordpress">
Order allow,deny
Allow from all
</Directory>

  

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









  
关注下面的标签,发现更多相似文章