LAMP环境搭建(编译安装CentOS+httpd2.2+mysql5.5+php5.4)
首先准备以下压缩包

<ignore_js_op>

(1)编译安装apache

1、配置防火墙,开启80端口、3306端口
执行以下命令:
#vi /etc/sysconfig/iptables
添加以下两条规则到22端口这条规则的下面
-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端口通过防火墙

2、确定IP
[root@www ~]# ifconfig eth0
3、确定主机名
[root@www ~]#hostname
www.htu.com
4  卸载httpd,并且将源码包解压
rpm -e httpd httpd-manual webalizersubversion mod_python mod_ssl mod_perl php php-common mysql dovecot –nodeps
tar xzf httpd-2.2.17.tar.gz-C /usr/src/            //将源码包解压到了/usr/src
5、编译安装apache
[root@wwwhttpd-2.2.17]# ./configure --prefix=/usr/local/httpd--enable-so --enable-rewrite --enable-charset-lite && make &&make install
 
6、查看安装的结果
 
[root@www ~]# ls /usr/local/httpd/
bin  build cgi-bin  conf  error htdocs  icons  include lib  logs  man manual  modules
 
那么httpd的执行目录就在/usr/local/httpd/bin/这个目录下,但是这样我会觉得很冗余,所以用以前讲过的ln来连接
[root@www httpd]#ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@www ~]#httpd -v
 
 
7、添加服务,添加服务识别配置
[root@www ~]# cp/usr/local/httpd/bin/apachectl /etc/init.d/httpd
Vi  /et       c/init.d/httpd
#chkconfig: 35 8515
#description:httpd start server
 
[root@www ~]#chkconfig--add httpd
[root@www ~]# chkconfig --list httpd
httpd                0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
[root@www ~]# chkconfig--level 35 httpd on
8 编辑httpd的主配置文件添加域名
 
Vi /usr/local/httpd/conf/httpd.conf
ServerName www.htu.com:80
 
检查httpd的语法错误
[root@www ~]# /usr/local/httpd/bin/apachectl -t
Syntax OK
 
9       启动httpd服务
/etc/init.d/httpdstart
验证是否开启服务
[root@www ~]# netstat -natp | grep httpd
tcp        0     0 :::80                      :::*                        LISTEN      29040/httpd         
 
10    测试时候成功
<ignore_js_op> 
(2)编译安装mysql1  准备工作: 卸载rpm的mysql-server
[root@www/]# rpm-e mysql-server –nodeps
[root@www /]#useradd -M -u 49 -s /sbin/nologin mysql    //创建mysql运行用户MySQL 
从5.5开始改用cmake来编译源码代替./configure,
在编译安装 MySQL5.5.x 之前,需要最少安装的包有:
gcc4.4.6、gcc-c++、cmake、ncurses-devel、bison
这时只需你的Linux系统安装cmake、ncurses-devel、bison,
[root@www ~]# yum install gcc gcc-c++  
[root@www ~]#yum install ncurses-devel
  首先要先去网上下载一个cmake软件
一、安装 cmake --前提软件。
[root@www~]# tar zxvf cmake-2.8.5.tar.gz  -C /usr/src   (解压)
[root@www ~]# cd cmake-2.8.5                 (进入目录)
[root@www cmake-2.8.5  ]#./configure –prefix=/usr/local/cmaked(编译前配置—prefix=制定路径为/usr/local/cmaked/)
[root@www cmake-2.8.5 ]# gmake && gmake install          (编译安装)
cmake安装完成cmake -D<变量>=<值>
2.安装mysql5.5.20

[root@www ~]# tar zxvf mysql-5.5.20.tar.gz  -C /usr/src     (解压)
[root@www ~]# cd mysql-5.5.20       (进入目录)
[root@www mysql-5.5.20]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysqld-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_SSL=yes  -DENABLED_LOCAL_INFILE=1      (编译前配置) 
[root@www mysql-5.5.20]#make  && make install(编译安装)

注意:如果提示编译时错误cmake:command not found输入一下命令export PATH=/usr/local/cmake/binPATH   #PATH=你的camke编译指定路径
#这里编译cmake的时候没有指定路径  如果有路径就执行上面的命令
3 安装后调试 建立配置文件,这里我们复制已有模板
[root@www mysql-5.5.20]#cp support-files/my-medium.cnf /etc/my.cnf
用mysql用户初始化数据库(/usr/local/mysqld/scripts)

4.初始化数据库
[root@www ~]# /usr/local/mysqld/scripts mysql_install_db --user=mysql 
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to 
copy the software into the correct location ready for operation. 
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option 
pointing to that location. 
#初始化碰到这个错误是因为没有指定安装目录以及存放数据的目录,
[root@www ~]#./mysql_install_db --user=mysql --basedir=/usr/local/mysqld/--datadir=/usr/local/mysqld/data/
5.修改数据库文件的属主 
[root@www /]# chown -R root:mysql/usr/local/mysqld/
[root@www/]# chown -R mysql /usr/local/mysqld/data/
6.优化mysql程序目录的路径
[root@wwwbin]# ln -s /usr/local/mysqld/bin/* /usr/local/bin/
[root@www bin]# ln -s /usr/local/mysql/lib/* /usr/lib
[root@www bin]# ln-s /usr/local/mysql/include/mysql/* /usr/include/
然后要做的是添加系统服务,这样就很方便我们开启和关闭了
[root@www bin]# cp/usr/src/mysql-5.5.20/support-files/mysql.server /etc/rc.d/init.d/    //将源码包中的服务启动脚本复制到自动启动的路径下
[root@www bin]#chmod a+x/etc/rc.d/init.d/mysql.server  (给执行服务运行权限)
[root@www bin]#chkconfig –add mysql.server            (加服务)
现在可以很方便的开启和关闭,也能看到mysqld的端口号3306 那么在默认情况下我们可以用root登录,没有密码
[root@www/]#  PATH=$PATH:/usr/bin/   指定命令搜索的路径,这样就能找到mysqladmin的命令了
[root@www/]#mysqladmin –u –p “htuidc”  

<ignore_js_op> 

(3)编译安装php准备工作和安装1 首先要卸载php相关的rpm包以免后期冲突     (没有的话就不用卸载了-)
rpm -e php php-cliphp-ldap php-common php-mysql –nodeps
安装 libmcrypt
[root@s2 /usr/src]# cd /usr/src/libmcrypt-2.5.8/
[root@s2 libmcrypt-2.5.8]#./configure
[root@s2 libmcrypt-2.5.8]#make && make install
[root@s2 libmcrypt-2.5.8]#ln -s /usr/local/lib/libmcrypt.* /usr/lib  
安装mhash
[root@www  /usr/src]# tar xzf mhash-0.9.9.9.tar.gz-C /usr/src/
[root@www /usr/src]# cd /usr/src/mhash-0.9.9.9/
[root@www mhash-0.9.9.9]#./configure
[root@www mhash-0.9.9.9]#make && make install
[root@www mhash-0.9.9.9]ln-s /usr/local/lib/libmhash* /usr/lib 
安装mcrypt   
(通过rpm或者是yum来装一个libxml2-devel)
Yum –y install libxml2-delvel
rpm –ivh libxml2-delvel
[root@www /usr/src]# tar xzf mcrypt-2.6.8.tar.gz-C /usr/src/
[root@www /usr/src]# cd /usr/src/mcrypt-2.6.8/
[root@www mcrypt-2.6.8]#./configure
[root@www mcrypt-2.6.8]#make && make install 
安装php
[root@www /usr/src]# tar xzf php-5.3.6.tar.gz-C /usr/src/
[root@www /usr/src # cd /usr/src/php-5.3.6/
[root@wwwphp-5.3.6]#./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs 
--with-mysql=/usr/local/mysqld/ --with-config-file-path=/usr/local/php5 --enable-mbstring --prefix:设置php程序的安装路径-
-enable-mbstring:设置php支持多字节字符串--with-apxs2:设置apache服务器提供的apxs模块支持程序的文件路径位置
--with-configure-file-path:设置php程序的配置文件所在位置 
[root@www php-5.3.6]#make && make install
2、复制php.ini配置文件
[root@www /]# cp/usr/src/php-5.3.6/php.ini-development  /usr/local/php5/php.ini 
3 优化zendguardloader
[root@www 1234]#tar xzf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/ 
[root@www /]# cd/usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[root@wwwphp-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php
拷贝优化模块到php模块文件夹然后修改php.ini
Vi/usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
[root@wwwphp-5.3.x]# vi /usr/local/httpd/conf/httpd.conf
AddTypeapplication/x-httpd-php .php       //这个是要手动添加的php功能
<IfModuledir_module>    
DirectoryIndex index.html index.php    //添加网页支持php
</IfModule>
修改之后注意重启使之生效
setenforce0  关闭Selinux
[root@wwwphp-5.3.x]# /etc/init.d/httpd restart

3 、测试php运行环境编译php网页测试文件
[root@www htdocs]#vi test1.php 
<?php
phpinfo();
?>
<ignore_js_op> 
(2个测试页最好手动输入 )

[root@www htdocs]#vi test2.php 
<?php
$link=mysql_connect('localhost','root','htuidc');
if($link)
  echo "success";
?>
<ignore_js_op> 

<ignore_js_op>

CentOS编译安装lamp的更多相关文章

  1. Centos编译安装 LAMP (apache-2.4.7 + mysql-5.5.35 + php 5.5.8)+ Redis

    转载地址:http://www.cnblogs.com/whoamme/p/3530056.html 软件源代码包存放位置:/usr/local/src 源码包编译安装位置:/usr/local/软件 ...

  2. CentOS 6编译安装lamp,并分别安装event模块方式和FPM方式的PHP

    任务目标: 编译安装LAMP 要求(1) 安装一个模块化的PHP 要求(2) 安装一个FPM的PHP 注意PHP需要最后一个安装,因为需要前两者的支持. 所以这里的安装次序为 1.httpd 2.Ma ...

  3. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

    所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...

  4. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.4.6

    Apache官方说: 与Apache 2.2.x相比,Apache 2.4.x提供了很多性能方面的提升,包括支持更大流量.更好地支持云计算.利用更少的内存处理更多的并发等.除此之外,还包括性能提升.内 ...

  5. Linux下指定版本编译安装LAMP

    说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

  6. CentOS yum 安装LAMP PHP5.4版本

    CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区  作者:rogerzhanglijie [字体:大 中 小]     Linux系统版本:C ...

  7. CentOS6.5下编译安装LAMP环境

    LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架.该框架能够满足大流量.大并发量的网站需求:当然.也可以直接使用高性能的服务器.高性能的负载均衡硬件以及CDN ...

  8. 2-21-源码编译安装LAMP

      编译安装LAMP所需要及其所使用的源码版本: httpd version:httpd-2.4.16 apr version:apr-1.5.2 pcre version:pcre-8.37 apr ...

  9. ubuntu10.04编译安装LAMP

    ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关 ...

随机推荐

  1. winform窗体的关闭与资源的释放

    单纯的this.Dispose(); this.Close();有时候并不能释放出所用资源.因为Dispose()方法,虽然能释放当前窗体的资源,却不能强制结束循环,  要想强制突出当前程序要用:Sy ...

  2. POJ - 2533 Longest Ordered Subsequence(最长上升子序列)

    d.最长上升子序列 s.注意是严格递增 c.O(nlogn) #include<iostream> #include<stdio.h> using namespace std; ...

  3. 用JSON方式回调服务器

    <script language="javascript"> $(function(){ $.getJSON('http://xxx/system/ecmall_ins ...

  4. 新浪SAE使用Thinkphp框架,禁用memcache节省豆子的方法

    请在入口文件定义常量,SAE_RUNTIME为true请在本地打开命令行, cd 到项目所在文件夹,执行命令: php index.php 此时会在./App/Sae_Runtime目录下批量生成缓存 ...

  5. HDU 5808[数位dp]

    /* 题意: 给你l和r,范围9e18,求l到r闭区间有多少个数字满足,连续的奇数的个数都为偶数,连续的偶数的个数都为奇数. 例如33433符合要求,44不符合要求.不能含有前导零. 思路: 队友说是 ...

  6. jdk1.6官方下载地址

    jdk1.6: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javas ...

  7. ResultSet的Type

    st = conn.prepareStatement(sql.toString(), ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ ...

  8. excel中 lookup的使用

    问题来源: 有一批数据要处理,excel格式,第一个表是 名字,第二个是“姓名”和“顾问”, 每一列执行以下操作,从名字列找到名字,然后在第二个表中找到该姓名对应的“顾问”,粘贴到 第一个表名字的后面 ...

  9. 用FireBreath制作浏览器插件

    参考: http://blog.csdn.net/z6482/article/details/7486921 1.下载firebreath, 安装cmake, python. 2.在FireBreat ...

  10. Centos7 install Openstack - (第三节)添加镜像服务(Glance)

    Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...