Linux安装Apache+MySQL+PHP

安装部分依赖

安装apr(可选)

# tar -xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
#./configure --prefix=/usr/local/apr //指定其安装位置
# make && make install

安装apr-util

# tar -xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

安装pcre(可选)

# tar -xf pcre-8.35.tar.gz
# cd pcre-8.35
# ./configure --prefix=/usr/local/pcre
# make && make install

编译安装apache

# tar -xf httpd2.4.9.tar.gz
# cd <span style="font-family: Arial, Helvetica, sans-serif;">httpd2.4.9</span>
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most
# make && make install

编译过程中假设缺少其它依赖,可单独安装就可以,安装过程如上面apr安装。

假设提示apr相关错误,将编译语句中--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 參数去掉就可以。由于Apache默认包括了自己的apr相关东西。
启动http
/usr/local/apache/bin/apachectl start

浏览器输入http://IP/就可以看到 It Works!

将apache增加service服务。

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
此时可通过service httpd start/stop启动关闭http服务

编译安装MySQL

MySQL编译安装过程见此处http://blog.csdn.net/zqtsx/article/details/9378703,这里不再描写叙述。
下载mysql源代码:http://dev.mysql.com/downloads/mysql/,或者可到此处下载5.6.19版本号:http://www.kuaipan.cn/file/id_671818784440506.htm?

准备開始安装
groupadd mysql
useradd -r -g mysql mysql

解压并安装:

tar zxvf mysql-5.6.12.tar.gz
cd mysql-5.6.12 (下面是一行 这里为了方便大家理解和凝视写成换行凝视,实际编译中请在换行前 加 " \ "链接)cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #port
-DENABLED_LOCAL_INFILE=1 \ #同意从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装全部的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci make
make install

编译安装完毕后,继续运行例如以下操作:

cd /usr/local/mysql
chown -R mysql:mysql . (为了安全安装完毕后请改动权限给root用户)
scripts/mysql_install_db --user=mysql (先进行这一步再做例如以下权限的改动)
chown -R root:mysql . (将权限设置给root用户,并设置给mysql组。 取消其它用户的读写运行权限,仅留给mysql "rx"读运行权限。其它用户无不论什么权限)
chown -R mysql:mysql ./data (给数据库存放文件夹设置成mysql用户mysql组。并赋予chmod -R ug+rwx 读写运行权限,其它用户权限一律删除仅给mysql用户权限)

将mysql的启动服务加入到系统服务中  

cp support-files/mysql.server /etc/init.d/mysql
#如今能够使用以下的命令启动mysql
service mysql start
#停止mysql服务
service mysql stop
#重新启动mysql服务
service mysql restart

改动默认root账户password。默认password为空

改动password cd 切换到mysql所在文件夹 

cd /usr/local/mysql 

#./bin/mysqladmin -u root password 

回车在接下来的提示中设置新password就可以。


#測试MySQL是否启动

# 1)查看是否有进程mysql

ps -ef | grep mysql

# 2)查看port是否执行

netstat -tnl | grep 3306

 # 3)读取mysql版本号信息

mysqladmin version
附:安装mysql过程中可能出现类似例如以下错误:
The server quit without updating PID f[失败]var/lib/mysql/
非常可能是本机之前已经安装过mysql导致,用rpm查看本机是否安装mysql。假设有的话须要卸载掉,然后又一次依照上面的步骤编译安装mysql就可以。


编译安装PHP

# tar -xf php-5.5.12.tar.gz
# cd php-5.5.12
# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs  --enable-fastcgi --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --disable-debug --disable-ipv6 --with-iconv-dir --with-freetype-dir --with-jpeg-dir=/usr/local/jpeg --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml=/usr/local/libxml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-fpm --enable-mbstring  --with-gd --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap
# make && make install

编译过程中假设缺少其它依赖。可单独安装就可以。安装过程如上面apr安装。

拷贝配置文件到php文件夹:
# cp php.ini-production /usr/local/php5/etc/php.ini

PHP与Apache整合

编辑apache配置文件httpd.conf,以apache支持php:

首先要在apache配置文件里定义,使apache可以处理php结尾的文件 ,全文查找AddType字段,加入一下内容
[root@Spg-RedHat htdocs]# vi /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps 找到DirectoryIndex,加入index.php:
DirectoryIndex index.php index.html <Directory /data/bbs/admin>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>

加入測试页面:

[root@Spg-RedHat htdocs]# vim /usr/local/apache/htdocs/index.php
编辑增加:
<?
phpinfo();
? >

重新启动http:
service httpd stop
service httpd start

測试结果:



至此。PHP成功安装。

集成xcache(可选)


安装:

# tar xf xcache-3.0.3.tar.gz
# cd xcache-3.0.3
# /usr/local/php5/bin/phpize
//phpize是用来安装php扩展模块的。通过phpize能够建立php的外挂模块,若你想在原来编译好的php中增加memcached或者ImageMagick等扩展模块。就须要使用phpize
# ./configure --enable=xcache --with-php-config=/usr/local/php5/bin/php-config
[root@Spg-RedHat xcache-3.1.0]#make && make install
Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20121212/

集成:改动php.ini文件,增加例如以下内容:


[root@Spg-RedHat xcache-3.1.0]# vim /usr/local/php5/etc/php.ini
[xcache-common]
extension = <span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/usr/local/php5/lib/php/extensions/no-debug-zts-20121212</span><span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/xcache.so</span>
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "6a0194f9707fa832ece6f5b66a25567e"
#echo -n "youp-assword" |md5sum |awk '{print $1}'
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 128M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = ""

注意:当中的extension值“/usr/local/php5/lib/php/extensions/no-debug-zts-20121212/”为前面make install的结果。

pass自行生成,为明文MD5加密结果。

网上也有通过将xcache.ini文件复制到/etc/php.d/文件夹下进行集成的方法,可是我尝试未成功。有兴趣可自行尝试。
再重新启动Apache。在phpinfo页面就可以看到xcache相关配置。例如以下图所看到的:



结束:没接触过php,首次安装php,痛苦的过程。

linux编译安装LAMP的更多相关文章

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

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

  2. CentOS6.3 编译安装LAMP(1):准备工作

    卸载yum或rpm安装的amp软件 #在编译安装lamp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove htt ...

  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. CentOS6.5下编译安装LAMP环境

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

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

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

  7. 二、编译安装LAMP之httpd-2.4.4

    回顾 PHP:脚本编程语言,php解释器 Webapp:面向对象的特性 Zend: 第一段:词法分析.句法分析.编译为Opcode: opcode放置于内存中 第二段:执行opcode: opcode ...

  8. ubuntu10.04编译安装LAMP

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

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

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

随机推荐

  1. apache的 .htaccess文件的常用配置

    使用.htaccess文件需要注意的地方: 1.找到配置文件httpd.conf,将override的值改成all.如下图:(如果不设置成all,apache将忽略.htaccess文件)

  2. RichEdit 各个版本介绍

    RichEdit是开发中经常使用到的控件,其版本自1.0起,历经好几年,好几次的更新,在此引用一篇介绍RichEdit版本的博文(http://blogs.msdn.com/b/murrays/arc ...

  3. XBMC 最新版本错误

    1. Syntax error: "(" unexpected 修改 tools/depends下的makefile.include 将NDK_VER=0x9d

  4. [Hadoop源码解读](三)MapReduce篇之Job类

    下面,我们只涉及MapReduce 1,而不涉及YARN. 当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做.建立一个Job对象,设置它的JobName,然后配置输入 ...

  5. C#面向对象编程实例-猜拳游戏

    1.需求 现在要制作一个游戏,玩家与计算机进行猜拳游戏,玩家出拳,计算机出拳,计算机自动判断输赢. 2.需求分析 根据需求,来分析一下对象,可分析出:玩家对象(Player).计算机对象(Comput ...

  6. 在SQL2005实现维护计划-备份数据库

    一.備份數據庫維護計劃方案 [注]: 1.先啟動SQL Server Agent服務 2..交易記錄備份 (只限於完整和大量記錄復原模式). 3.下面中”清除備份trn文件” & “清除備份日 ...

  7. App集成支付宝

    转自:http://www.cnblogs.com/qianxudetianxia/archive/2012/04/04/2432406.html 手机的在线支付,被认为是2012年最看好的功能,我个 ...

  8. [liu yanling]黑盒测试用例设计方法

    1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1.          概念 等价类划分法是把 ...

  9. selenium 处理日期控件

    今天遇到日期控件无法处理的问题,在北京-air的帮助下,看了下这篇blog http://www.cnblogs.com/Fskjb/archive/2011/10/27/2227111.html 根 ...

  10. lua部分 tips

    lua文件刷新 function require_ex( _mname ) if _mname == "" then return end if package.loaded[_m ...