关于LAMP
LAMP就是Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
使用源码包方式安装,最大的好处就是可以定制环境及使用最新版本的软件但是在生产环境不推荐使用最新版本,以此来保证平台运行的稳定很安全。本实验使用httpd-2.2.19.tar、mysql-5.5.15-linux2.6-i686.tar.gz、php-5.3.7.tar.bz2在REDHAT5.x平台下搭建LAMP环境。
实验步骤:
Mysql的安装
解压mysql-5.5.15-linux2.6-i686.tar.gz源代码
tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
建立软连接
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql
查看软连接
[root@localhost local]# ll
lrwxrwxrwx 1 root root 27 07-31 04:58 mysql -> mysql-5.5.15-linux2.6-i686/
groupadd mysql #创建组
useradd -r -g mysql mysql #创建账号 加入组mysql
cd /usr/local
chown -R mysql . #修改所有者为mysql
chgrp -R mysql . #修改所属组为masql组
cd mysql
scripts/mysql_install_db --user=mysql #执行初始化脚本,以mysql的身份执行
chown -R root .
chown -R mysql data
可选项的
cp support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe --user=mysql & #启动mysql
cp support-files/mysql.server /etc/init.d/mysqld
启动mysql服务
Service mysqld start
netstat -tupln |grep mysql #查看mysql的端口3306是不是开启
chkconfig --add mysqld #设置开机启动
查看开机启动设置
[root@localhost mysql]# ll /etc/rc.d/rc3.d/|grep mysql
lrwxrwxrwx 1 root root 16 07-24 22:03 S64mysqld -> ../init.d/mysqld
由于mysql的库文件和头文件是非标准路径,系统默认不会调用,需要我们指定路径,这样系统才可以调用,比如系统的可以调用的库文件只有 /usr/lib、/usr/local/lib、 /lib/ 而mysql的库文件在/usr/local/mysql
创建一个文件使系统可以调用mysql库文件
[root@localhost mysql]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim mysql.conf #在文件中指明库文件的位置
/usr/local/mysql/lib
[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib: #可以看到已经调用到库文件
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
同样头文件include也需要类似做法
[root@localhost mysql]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/mysql/include/ mysql #创建一个链接
[root@localhost include]# ll mysql/ #查看mysql的头文件
Apache架设
解压httpd-2.2.19.tar.bz2
tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/local/src/
cd /usr/local/src/httpd-2.2.19/
configure 常用指令如下:
--bindir=DIR #源代码安装之后形成的二进制指令位置
--sbindir=DIR #表示安装完成,管理员执行的二进制指令位置
--prefix=PREFIX #表示源代码进行编译之后所安装的路径
--sysconfdir=DIR #apache配置脚本的位置
--libdir=DIR #库文件目录
--includedir=DIR #头文件目录
可选指令:
--enable-cgi #支持cgi的动态页面
--enable-rewrite #支持URL的重定向
--enable-so #动态的共享对象,动态链接库
--enable-ssl #支持加密加密访问的https
包的可选项:
--with-mpm=【MPM】 #多进程处理机制
--with-z=DIR #支持在线压缩,提高网站访问速度
检测预编译环境
[root@localhost httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --with-z
一切正常的话,就可以进行编译了
[root@localhost httpd-2.2.19]# make
把相应的文件放到各自的目录
[root@localhost httpd-2.2.19]# make install
cd /usr/local/apache/
cd bin/
./apachertl start #启动apache服务
写到开机脚本
vim /etc/rc.local
/usr/local/apache/bin/apachectl start
类似mysql,apache的头文件和库文件也是非标准路径,需要指出头文件和库文件的位置来让系统调用
cd /etc/ld.so.conf.d/
vim httpd.conf
/usr/local/apache/lib #在httpd.conf中指出apache的库文件的位置
库文件已经加载
[root@localhost ld.so.conf.d]# ldconfig -pv | grep apr
libgstdataprotocol-0.10.so.0 (libc6) => /usr/lib/libgstdataprotocol-0.10.so.0
libaprutil-1.so.0 (libc6) => /usr/local/apache/lib/libaprutil-1.so.0
libaprutil-1.so.0 (libc6) => /usr/lib/libaprutil-1.so.0
libaprutil-1.so (libc6) => /usr/local/apache/lib/libaprutil-1.so
libapr-1.so.0 (libc6) => /usr/local/apache/lib/libapr-1.so.0
libapr-1.so.0 (libc6) => /usr/lib/libapr-1.so.0
libapr-1.so (libc6) => /usr/local/apache/lib/libapr-1.so
调用apache头文件
[root@localhost ld.so.conf.d]# ln -s /usr/local/apache/include/ apache
PHP的架设
tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src
cd /usr/local/src/php-5.3.7/
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all
编译
[root@localhost php-5.3.7]# make
把编译文件放在各自的目录下
make install
测试LAMP环境是否正常工作
重启apache服务
/usr/local/apache/bin/apachectl restart
http方式访问192.168.10.10
测试PHP是否正常
cd /usr/local/apache/htdocs/
vim index.php
<html><body><h1>It works!</h1></body></html>
<?php
phpinfo(); #调用PHP的模块
?>
vim /etc/httpd #编辑apache配置脚本
166 AddType application/x-httpd-php.php#添加此内容
167 <IfModule dir_module>
168 DirectoryIndex index.html index.php #index.php也加入主目录
169 </IfModule>
重启apache服务
/usr/local/apache/bin/apachectl start
http方式访问192.168.10.10,可以调用PHP版本5.3.7
测试PHP是否可以连接到mysql
[root@localhost htdocs]# vim index.php
<html><body><h1>It works!</h1></body></html>
<?php
$link=mysql_connect('127.0.0.1','root','');
if ($link)
echo "It is connected!";
else
echo "It is wrong";
?>
至此,linux环境下的LAMP已经搭建完毕,至于怎么创建论坛,可以看看我写的上一篇博客http://myheart.blog.51cto.com/5635718/976057 深表感谢!
如果对数据库进行操作
[root@localhost bin]# /usr/local/mysql/bin/mysql
mysql>