1、LAMP源码环境搭建与配置LAMP搭建实践过程搭建环境:所谓LAMP:Linux+Apache+Mysql+PHP Linux系统:rhel 6.4 Apache 的可移植运行库apr-util-1.5.1.tar.gz apr-1.4.6.tar.gzApache 服务器:采用源代码版本是httpd-2.4.6.tar.bz2Mysql 服务器:采用二进制版本是mysql-5.6.14-linux-glibc2.5-i686.tar.gzPhp :采用源码版本是php-5.5.4.tar.gz一、LAMP的准备工作,安装GCC和移植运行库 apr、apr-uitl1、配置防火墙,开启80端口
2、、3306端口vi /etc/sysconfig/iptables-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state -state NEW -m tcp -p tcp -dport 3306 -j ACCEPT #允许3306端口通过防火墙备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面如下所示:# 添加好之后防火墙规则如下所示 # Firewall configuration writte
3、n by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT 0:0:FORWARD ACCEPT 0:0:OUTPUT ACCEPT 0:0-A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 22
4、-j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT-A INPUT -m state -state NEW -m tcp -p tcp -dport 3306 -j ACCEPT-A INPUT -j REJECT -reject-with icmp-host-prohibited-A FORWARD -j REJECT -reject-with icmp-host-prohibitedCOMMIT#/etc/init.d/iptables restart #最后重启防火墙使配置生效关闭SELINUXv
5、i /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq #保存,关闭shutdown -r now #重启系统首先我们先配置yum源,要先卸载系统自带的YUM源配置。命令:rpm -qa | grep yum | xargs rpm -e -nodeps下来我们下载最新yum的源:命令:wget wget wget wget 下载完, 下面来安装,命令:(顺序不能乱,乱了安装不了)rpm -ivh python-iniparse-0.3.1-2.1.el6.noa
6、rch.rpmrpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm(这个两个要依赖性安装,要不装不了)命令看下,安装成功了没有:成功了.接下来我来下载YUM 源配置,命令:wget http:/docs.linuxtone.org/soft/lemp/CentOS-Base.repo这是比较久版本的,我来修改一下:编辑:vim CentOS-Base.repo
7、看到是5,我们修改成6.就是最新的了(按i进入编辑状态)然后按ESC返回键 再按 :wq 保存和退出把配置文件移动到 /etc/yum.repos.d/ 目录里命令:mv ./CentOS-Base.repo /etc/yum.repos.d/ 移动目录yum clean all 清除原有缓存yum makecache 获取yum 列表因为装apache 需要gcc环境,那我们yum装一下gcc命令:yum list gcc-c+会出现个安装包:那我开始安装:yum install gcc-c+ 4.4.7-3.el6.rpm开始安装.安装移植库apr、apr-util下载源码包:apr-1.
8、4.8.tar.gz apr-util-1.5.2.tar.gz我放在 /usr/local/src/ 目录下,下面解压编译安装:先安装apr:解压: tar -zxvf apr-1.4.8.tar.gzcd apr-1.4.81. 编译安装:./configure prefix=/usr/local/apr编译完成,那继续安装:make make install正在安装,时间比较漫长安装完成,下面还有一些要做的:库文件调用:创建文件 vim /etc/ld.so.conf.d/apr.conf 指定目录 /usr/local/apr/lib :wq 保存并退出编辑显示缓存 ll /etc/l
9、d.so.cache刷新缓存 ldconfig 我们再一次显示缓存看看再显示缓存 ll /etc/ld.so.cache 缓存变了做头文件链接 ln -s /usr/local/apr/include /usr/include/apr2.安装 apr工具apr-util先解压源码包 tar -zxvf apr-util-1.5.2.tar.gz切换到解压目录 cd apr-util-1.5.2解压源码包,切换到解压文件 cd apr-util查看apr-util 安装帮助: ./configure -help |grep apr看到跟apr 依赖关系安装: ./configure -prefi
10、x=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config开始编译 ,编译完成后,接下来make 和 make insrall 安装比较漫长的过程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/
11、include /usr/include/apr-utilApache 的安装需要 apr apr-util pcre 这三个的支持才能安装所以我们可以yum install pcre-devel 安装共享库 3.安装apache 下载源码包:httpd-2.4.6.tar.bz2 解压: tar -xvf httpd-2.4.6.tar.bz2 跟gz 后缀的不一样切换到解压目录: cd httpd-2.4.6查看编译安装帮助 ./configure -help |grep apr自定义编译安装:编译完成,就 make 和 make install做头文件链接 ln -s /usr/loca
12、l/www/apache/include /usr/include/apacheMan 手册识别,编辑 vim /etc/man.config:wq 保存并退出接下来编辑控制脚本,用于控制httpd的停止启动等等切换到: cd /etc/init.d/ ll把脚本的名称加入到 chkconfig 脚本接受chkconfig 的管理新建空文件 touch httpd改变文件权限 chmod a+x httpd编辑httpd 文件: vim httpd添加如下:#!/bin/sh#chkconfig: 2345 88 98 #description: OpenSSH server daemonHT
13、TPD=/usr/local/www/apache/bin/httpdCONFFILE=/etc/httpd/httpd.confstart() -f /var/lock/subsys/httpd & echo apache is started & exit echo -n starting apache. sleep 1 $HTTPD -f $CONFFILE & RETVAL=0 |RETVAL=1 $RETVAL -eq 0 & touch /var/lock/subsys/httpd & echo ok | echo fail -rf/var/lock/subsys/httpd $H
14、TTPD -k stop & RETVAL=0 |RETVAL=1 $RETVAL -eq 0 & rm -rf /var/lock/subsys/httpd & echo ok | echo failcase $1 instart) start ;stop) stop ;restart) stop start ;*) echo start|stop|restart ;esac启动httpd: service httpd start 停止命令: service httpd stop停止命令: service httpd stop正在启动,启动成功后。在浏览器输入http:/127.0.0.1A
15、pache 安装成功.下面来安装mysql 数据库了安装包:mysql-5.6.14-linux-glibc2.5-i686.tar.gz解压: tar -zxvf mysql-5.6.14-linux-glibc2.5-i686.tar.gz把解压的文件拷贝到安装目录下 /usr/local/www/mysql 然后该文件名为 mysql然后切换到 cd /usr/local/www/mysql 目录创建组: groupadd -r mysql创建用户: useradd -r -g mysql mysql改变当前文件的所属组用 chown -R mysql . chgrp -R mysql
16、.执行/scripts/目录下的mysql_install_db 这个脚本来安装mysql服务器自带的数据库和表.自动执行mysql下的bin目录下的myadmin 命令创建password和主机名。命令:scripts/mysql_install_db -user=mysql改回权限所属 data 的拥有者还是mysql命令: chown -R root . chown -R mysql data安装 bin 目录下面的 mysql_safe 程序来保护 data 目录下的数据命令: bin/mysqld_safe -user=mysql &拷贝mysql 服务脚本到/etc/init.d
17、目录下,并命名为 mysqld命令:cp support-files/mysql.server /etc/init.d/mysqld创建配置文件: cp support-files/my-f /etc/f启动mysql: service mysqld start 停止mysql: service mysqld stop发现启动问题了路径错误了,那就编辑 mysqld了 命令: vim /etc/init.d/mysqld:wq 保存并退出还是失败了.经过我不谢努力,终于解决了,如下:原因是:系统自带的mysql占用了端口。是新版本无法启动那就 rpm -qa |grep mysql 看看有哪些
18、mysql软件包然后 rpm -e xxxx -nodeps 卸载卸载完成,那启动mysql 服务看看成功了.库文件调用:vim /etc/ld.so.conf.d/mysql.conf 编辑:/usr/local/www/mysql刷新缓存:ldconfig显示缓存:ldconfig -pv |grep mysql做头文件链接:ln -s /usr/local/www/mysql/include /usr/include/mysql在/etc/man.config 文件里添加mysql 的手册 ,手册路径是/usr/local/www/mysql/man:wq 保存并退出又有错误了这里说明在
19、 /tmp 这个文件夹里没有这个mysql.sock 文件那么我们就创建个链接ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock或者是mysql服务没启动,启动就可以了再一次错误,解决方法关闭mysql服务:service mysqld stop 然后:mysqld_safe -skip-grant-tables & 在以: mysql -u root 登录mysql登录成功,那就修改密码吧命令: use mysql; 使用mysql表 update user set password=password(xiyi520)where user=root
20、; flush privileges; quit (退出)然后我们启动mysql服务,用新修改的密码登录看看登录成功.安装php下载源码包:php-5.5.4.tar.gz解压源码包.切换到解压目录命令: cd php -5.5.4开始编译安装.碰到一个错误.那我们yum来安装:yum install libxml2 yum install libxml2-devel -y我们继续编译.有碰到错误了.继续yum来安装: yum install libjpeg-devel 和 yum install libpng-devel继续编译,时间比较漫长.编译完成.那继续命令:make 时间很漫长,去休
21、息下make 完成看到这句话,得先make test慢慢等.make test 完成之后,继续make install 继续等待.make install完成.然后编辑 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-
22、development /usr/local/www/php/lib/php.ini重新启动httpd 服务:service httpd restart然后切换到 /usr/local/www/apache/htdcos目录下创建index.php文件并编辑命令: cd /usr/local/www/apache/htdocs vim index.php连接mysql数据库:wq 保存并退出说明安装PHP成功,连接mysql成功.但是出现错误。解决办法,在index.php文件中加入date_default_timezone_set(PRC); 这一句就可以了命令:vim /usr/local
23、/www/apache/htdocs/index.php:wq 保存并退出刷新一下,看到没错误了最后是安装mysql管理工具了,我用的是phpmyadmin 其实这个不用安装。下载源码包解压到apache 的htdocs 没课下就可以了下载源码包:phpMyAdmin-4.0.8-all-languages.tar.gz解压命令:tar -xvf phpMyAdmin-4.0.8-all-languages.tar.gz -C /usr/local/www/apache/htdocs解压完成,切换到/usr/local/www/apache/htdocs 目录,查看是否有解压的文件夹有了,太长
24、了。我们可以改成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 vim config.default.php 进入编辑找到$cfgbl
25、owfish_secret = ; 改成 $cfgblowfish_secret = 123456; (注:其中的123456为随意的字符)然后:切换到phpMyAdmin目录下,编辑config.sample.inc.php,18行。把 $cfgblowfish_secret = ; 改成 $cfgblowfish_secret = 123456; (注:其中的123456为随意的字符)搞定一个:2 缺少 mcrypt 扩展。请检查 PHP 配置。切换到/usr/local/src/php-5.5.4/ext/mcrypt目录下命令:cd /usr/local/src/php-5.5.4/e
26、xt/mcrypt Phpize(出现错误)解决方法,有繁琐的,有便捷的。我选便捷的直接yum安装依赖命令:yum install m4 yum install autoconf然后继续. aclocal那yum安装libtoolyum -y install libtool没出现错误了,那编译安装:./configure最后一点,最重要的一点。系统加载:配置环境变量先: echo $PATH 出系统环境变量/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin然后在加上
27、apr , apr-util , apache , mysql , php的环境变量,如下:命令: vim /etc/profilePATH=$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之旅吧.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1