LAMP源码环境搭建与配置.docx
《LAMP源码环境搭建与配置.docx》由会员分享,可在线阅读,更多相关《LAMP源码环境搭建与配置.docx(24页珍藏版)》请在冰豆网上搜索。
![LAMP源码环境搭建与配置.docx](https://file1.bdocx.com/fileroot1/2023-2/2/6934dae2-0032-44f9-9520-f3dfdb8065f2/6934dae2-0032-44f9-9520-f3dfdb8065f21.gif)
LAMP源码环境搭建与配置
LAMP搭建实践过程
搭建环境:
所谓LAMP:
Linux+Apache+Mysql+PHP
Linux系统:
rhel6.4
Apache的可移植运行库apr-util-1.5.1.tar.gzapr-1.4.6.tar.gz
Apache服务器:
采用源代码版本是httpd-2.4.6.tar.bz2
Mysql服务器:
采用二进制版本是mysql-5.6.14-linux-glibc2.5-i686.tar.gz
Php:
采用源码版本是php-5.5.4.tar.gz
一、LAMP的准备工作,安装GCC和移植运行库apr、apr-uitl
1、配置防火墙,开启80端口、3306端口
vi/etc/sysconfig/iptables
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT#允许80端口通过防火墙
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT#允许3306端口通过防火墙
备注:
很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,
正确的应该是添加到默认的22端口这条规则的下面
如下所示:
##############################添加好之后防火墙规则如下所示##############################
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:
INPUTACCEPT[0:
0]
:
FORWARDACCEPT[0:
0]
:
OUTPUTACCEPT[0:
0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
##################################################################################################
/etc/init.d/iptablesrestart#最后重启防火墙使配置生效
关闭SELINUX
vi/etc/selinux/config
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
:
wq#保存,关闭
shutdown-rnow#重启系统
首先我们先配置yum源,要先卸载系统自带的YUM源配置。
命令:
rpm-qa|grepyum|xargsrpm-e--nodeps
下来我们下载最新yum的源:
命令:
wget
wget
wget
wget
下载完,下面来安装,命令:
(顺序不能乱,乱了安装不了)
rpm-ivhpython-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm-ivhyum-metadata-parser-1.1.2-16.el6.i686.rpm
rpm-ivhyum-3.2.29-40.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
(这个两个要依赖性安装,要不装不了)
命令看下,安装成功了没有:
成功了...
接下来我来下载YUM源配置,命令:
wgethttp:
//docs.linuxtone.org/soft/lemp/CentOS-Base.repo
这是比较久版本的,我来修改一下:
编辑:
vimCentOS-Base.repo
看到是5,我们修改成6.就是最新的了(按i进入编辑状态)
然后按ESC返回键再按:
wq保存和退出
把配置文件移动到/etc/yum.repos.d/目录里
命令:
mv./CentOS-Base.repo/etc/yum.repos.d/移动目录
yumcleanall清除原有缓存
yummakecache获取yum列表
因为装apache需要gcc环境,那我们yum装一下gcc
命令:
yumlistgcc-c++
会出现个安装包:
那我开始安装:
yuminstallgcc-c++4.4.7-3.el6.rpm
开始安装...
安装移植库apr、apr-util
下载源码包:
apr-1.4.8.tar.gzapr-util-1.5.2.tar.gz
我放在/usr/local/src/目录下,
下面解压编译安装:
先安装apr:
解压:
tar-zxvfapr-1.4.8.tar.gz
cdapr-1.4.8
1.编译安装:
./configureprefix=/usr/local/apr
编译完成,那继续安装:
make
makeinstall
正在安装,时间比较漫长~
安装完成,下面还有一些要做的:
库文件调用:
创建文件vim/etc/ld.so.conf.d/apr.conf指定目录/usr/local/apr/lib:
wq保存并退出编辑
显示缓存ll/etc/ld.so.cache
刷新缓存ldconfig我们再一次显示缓存看看
再显示缓存ll/etc/ld.so.cache缓存变了
做头文件链接ln-s/usr/local/apr/include/usr/include/apr
2.安装apr工具apr-util
先解压源码包tar-zxvfapr-util-1.5.2.tar.gz
切换到解压目录cdapr-util-1.5.2
解压源码包,切换到解压文件cdapr-util\
查看apr-util安装帮助:
./configure--help|grepapr
看到跟apr依赖关系安装:
./configure
--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/bin/apr-1-config
开始编译,
编译完成后,接下来make和makeinsrall安装
比较漫长的过程~
make成功后,库文件调用:
创建文件vim/etc/ld.so.conf.d/apr-util.conf指定目录/usr/local/apr-util/lib
:
wq保存并退出
显示缓存ll/etc/ld.so.cache
刷新缓存ldconfig
再次显示缓存ll/etc/ld.so.cache
缓存明显变了
头文件链接ln-s/usr/local/apr-util/include/usr/include/apr-util
Apache的安装需要aprapr-utilpcre这三个的支持才能安装
所以我们可以yuminstallpcre-devel安装共享库
3.安装apache
下载源码包:
httpd-2.4.6.tar.bz2
解压:
tar-xvfhttpd-2.4.6.tar.bz2跟gz后缀的不一样
切换到解压目录:
cdhttpd-2.4.6
查看编译安装帮助./configure--help|grepapr
自定义编译安装:
编译完成,就make和makeinstall
做头文件链接ln-s/usr/local/www/apache/include/usr/include/apache
Man手册识别,编辑vim/etc/man.config
:
wq保存并退出
接下来编辑控制脚本,用于控制httpd的停止启动等等
切换到:
cd/etc/init.d/ll
把脚本的名称加入到chkconfig脚本接受chkconfig的管理
新建空文件touchhttpd
改变文件权限chmoda+xhttpd
编辑httpd文件:
vimhttpd
添加如下:
#!
/bin/sh
#chkconfig:
23458898
#description:
OpenSSHserverdaemon
HTTPD='/usr/local/www/apache/bin/httpd'
CONFFILE='/etc/httpd/httpd.conf'
start(){
[-f/var/lock/subsys/httpd]&&echo"apacheisstarted"&&exit
echo-n"startingapache......"
sleep1
$HTTPD-f$CONFFILE&&RETVAL=0||RETVAL=1
[$RETVAL-eq0]&&touch/var/lock/subsys/httpd&&echo"ok"||echo"fail"
}
-rf/var/lock/subsys/httpd
$HTTPD-kstop&&RETVAL=0||RETVAL=1
[$RETVAL-eq0]&&rm-rf/var/lock/subsys/httpd&&echo"ok"||echo"fail"
}
case$1in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo"start|stop|restart"
;;
esac
启动httpd:
servicehttpdstart停止命令:
servicehttpdstop
停止命令:
servicehttpdstop
正在启动,启动成功后。
在浏览器输入http:
//127.0.0.1
Apache安装成功....
下面来安装mysql数据库了
安装包:
mysql-5.6.14-linux-glibc2.5-i686.tar.gz
解压:
tar-zxvfmysql-5.6.14-linux-glibc2.5-i686.tar.gz
把解压的文件拷贝到安装目录下/usr/local/www/mysql然后该文件名为mysql
然后切换到cd/usr/local/www/mysql目录
创建组:
groupadd-rmysql
创建用户:
useradd-r-gmysqlmysql
改变当前文件的所属组用chown-Rmysql.
chgrp-Rmysql.
执行/scripts/目录下的mysql_install_db这个脚本来安装mysql服务器自带的数据库和表.自动执行mysql下的bin目录下的myadmin命令创建password和主机名。
命令:
scripts/mysql_install_db--user=mysql
改回权限所属data的拥有者还是mysql
命令:
chown-Rroot.
chown-Rmysqldata
安装bin目录下面的mysql_safe程序来保护data目录下的数据
命令:
bin/mysqld_safe--user=mysql&
拷贝mysql服务脚本到/etc/init.d目录下,并命名为mysqld
命令:
cpsupport-files/mysql.server/etc/init.d/mysqld
创建配置文件:
cpsupport-files/my-f/etc/f
启动mysql:
servicemysqldstart停止mysql:
servicemysqldstop
发现启动问题了
路径错误了,那就编辑mysqld了命令:
vim/etc/init.d/mysqld
:
wq保存并退出
还是失败了...
经过我不谢努力,终于解决了,如下:
原因是:
系统自带的mysql占用了端口。
是新版本无法启动
那就rpm-qa|grepmysql看看有哪些mysql软件包
然后rpm-exxxx--nodeps卸载
卸载完成,那启动mysql服务看看
成功了....
库文件调用:
vim/etc/ld.so.conf.d/mysql.conf编辑:
/usr/local/www/mysql
刷新缓存:
ldconfig
显示缓存:
ldconfig-pv|grepmysql
做头文件链接:
ln-s/usr/local/www/mysql/include/usr/include/mysql
在/etc/man.config文件里添加mysql的手册,手册路径是/usr/local/www/mysql/man
:
wq保存并退出
又有错误了
这里说明在/tmp这个文件夹里没有这个mysql.sock文件
那么我们就创建个链接ln-s/var/lib/mysql/mysql.sock/tmp/mysql.sock
或者是mysql服务没启动,启动就可以了
再一次错误,解决方法
关闭mysql服务:
servicemysqldstop
然后:
mysqld_safe--skip-grant-tables&
在以:
mysql-uroot登录mysql
登录成功,那就修改密码吧
命令:
>usemysql;使用mysql表
>updateusersetpassword=password("xiyi520")whereuser="root";
>flushprivileges;
>quit(退出)
然后我们启动mysql服务,用新修改的密码登录看看
登录成功...
安装php
下载源码包:
php-5.5.4.tar.gz
解压源码包....切换到解压目录
命令:
cdphp-5.5.4
开始编译安装...
碰到一个错误...
那我们yum来安装:
yuminstalllibxml2yuminstalllibxml2-devel-y
我们继续编译...
有碰到错误了...
继续yum来安装:
yuminstalllibjpeg-devel和yuminstalllibpng-devel
继续编译,时间比较漫长...
编译完成...那继续命令:
make时间很漫长,去休息下
make完成
看到这句话,得先maketest
慢慢等....
maketest完成之后,继续makeinstall继续等待...
makeinstall完成.
然后编辑vim/etc/httpd/httpd.conf添加AddTypeapplication/x-httpd-php.php.phtml和index.php
:
wq保存并退出
把/usr/local/php-5.5.4目录下的php.ini-development文件拷贝到/usr/local/www/php/lib目录下,并改名为php.ini
命令:
cp/usr/local/php-5.5.4/php.ini-development/usr/local/www/php/lib/php.ini
重新启动httpd服务:
servicehttpdrestart
然后切换到/usr/local/www/apache/htdcos目录下创建index.php文件并编辑
命令:
cd/usr/local/www/apache/htdocs
vimindex.php
连接mysql数据库
php
phpinfo();
$link=mysql_connect('127.0.0.1','root','xiyi520');
if($link)
echo"is'tok!
";
else"isn't";
?
>
:
wq保存并退出
说明安装PHP成功,连接mysql成功....
但是出现错误。
。
。
解决办法,在index.php文件中加入date_default_timezone_set("PRC");这一句就可以了
命令:
vim/usr/local/www/apache/htdocs/index.php
:
wq保存并退出
刷新一下,看到没错误了
最后是安装mysql管理工具了,我用的是phpmyadmin其实这个不用安装。
下载源码包解压到apache的htdocs没课下就可以了
下载源码包:
phpMyAdmin-4.0.8-all-languages.tar.gz解压命令:
tar-xvfphpMyAdmin-4.0.8-all-languages.tar.gz-C/usr/local/www/apache/htdocs
解压完成,切换到/usr/local/www/apache/htdocs目录,查看是否有解压的文件夹
有了,太长了。
我们可以改成phpMyAdmin后面那部分不要了
我们访问:
http:
//127.0.0.1/phpMyAdmin看看
使用帐号密码登录看看~
登录成功~
不过还是出现两个错误错误,我们得去解决它
先解决第一个:
缺少mcrypt扩展。
请检查PHP配置。
1切换到/usr/local/www/apache/htdocs/phpMyAdmin/libraries目录下的编辑config.default.php这个文件
命令:
cd/usr/local/www/apache/htdocs/phpMyAdmin/libraries
vimconfig.default.php进入编辑
找到$cfg['blowfish_secret']='';改成$cfg['blowfish_secret']='123456';(注:
其中的’123456′为随意的字符)
然后:
切换到phpMyAdmin目录下,编辑config.sample.inc.php,18行。
把$cfg['blowfish_secret']='';改成$cfg['blowfish_secret']='123456';(注:
其中的’123456′为随意的字符)
搞定一个:
2缺少mcrypt扩展。
请检查PHP配置。
切换到/usr/local/src/php-5.5.4/ext/mcrypt目录下
命令:
cd/usr/local/src/php-5.5.4/ext/mcrypt
Phpize(出现错误)
解决方法,有繁琐的,有便捷的。
我选便捷的直接yum安装依赖
命令:
yuminstallm4
yuminstallautoconf
然后继续...
aclocal
那yum安装libtool
yum-yinstalllibtool
没出现错误了,那编译安装:
./configure
最后一点,最重要的一点。
系统加载:
配置环境变量
先:
echo$PATH出系统环境变量
/usr/lib/qt-3.3/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/bin:
/bin:
/root/bin
然后在加上apr,apr-util,apache,mysql,php的环境变量,如下:
命令:
vim/etc/profile
PATH=$PAEH:
/usr/lib/qt-3.3/bin:
/usr/local/sbin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/bin:
/bin:
/root/bin:
/usr/local/apr/bin:
/usr/local/apr-util/bin:
/usr/local/www/apache/bin:
/usr/local/www/mysql/bin:
/usr/local/www/php/bin
:
wq保存并退出
如果不配置环境变量的话,即使你安装LAMP成功了,也启动不了系统,本人亲身经历。
还以为是哪里搞错了呢,搞了好久才知道没配置完全环境变量,没把系统的环境变量加进去。
导致系统启动不了....
至此LAMP搭建完成,开始PHP之旅吧....