简单LAMP的实现
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
#添加内容
<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
©著作权归作者所有:来自51CTO博客作者redhat_hu的原创作品,如需转载,请注明出处,否则将追究法律责任
职场测试休闲Linux 服务
共同学习,写下你的评论
评论加载中...
作者其他优质文章