Linux安装Apache+MySQL+PHP

安装部分依赖

安装apr(可选)

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

安装apr-util

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

安装pcre(可选)

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

编译安装apache

  1. # tar -xf httpd2.4.9.tar.gz
  2. # cd <span style="font-family: Arial, Helvetica, sans-serif;">httpd2.4.9</span>
  3. # ./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
  4. # make && make install

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

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

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

将apache增加service服务。

  1. 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?

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

解压并安装:

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

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

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

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

  1. cp support-files/mysql.server /etc/init.d/mysql
  2. #如今能够使用以下的命令启动mysql
  3. service mysql start
  4. #停止mysql服务
  5. service mysql stop
  6. #重新启动mysql服务
  7. 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

  1. # tar -xf php-5.5.12.tar.gz
  2. # cd php-5.5.12
  3. # ./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
  4. # 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字段,加入一下内容
  1. [root@Spg-RedHat htdocs]# vi /usr/local/apache/conf/httpd.conf
  2. AddType application/x-httpd-php .php
  3. AddType application/x-httpd-php-source .phps
  4.  
  5. 找到DirectoryIndex,加入index.php
  6. DirectoryIndex index.php index.html
  7.  
  8. <Directory /data/bbs/admin>
  9. Options FollowSymLinks
  10. AllowOverride None
  11. Order deny,allow
  12. Allow from all
  13. </Directory>

加入測试页面:

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

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

測试结果:



至此。PHP成功安装。

集成xcache(可选)


安装:

  1. # tar xf xcache-3.0.3.tar.gz
  2. # cd xcache-3.0.3
  3. # /usr/local/php5/bin/phpize
  4. //phpize是用来安装php扩展模块的。通过phpize能够建立php的外挂模块,若你想在原来编译好的php中增加memcached或者ImageMagick等扩展模块。就须要使用phpize
  5. # ./configure --enable=xcache --with-php-config=/usr/local/php5/bin/php-config
  6. [root@Spg-RedHat xcache-3.1.0]#make && make install
  7. 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
  1. [xcache-common]
  2. 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>
  3. [xcache.admin]
  4. xcache.admin.enable_auth = On
  5. xcache.admin.user = "admin"
  6. xcache.admin.pass = "6a0194f9707fa832ece6f5b66a25567e"
  7. #echo -n "youp-assword" |md5sum |awk '{print $1}'
  8. [xcache]
  9. xcache.shm_scheme = "mmap"
  10. xcache.size = 128M
  11. xcache.count = 1
  12. xcache.slots = 8K
  13. xcache.ttl = 0
  14. xcache.gc_interval = 0
  15. xcache.var_size = 0M
  16. xcache.var_count = 1
  17. xcache.var_slots = 8K
  18. xcache.var_ttl = 0
  19. xcache.var_maxttl = 0
  20. xcache.var_gc_interval = 300
  21. xcache.test = Off
  22. xcache.readonly_protection = Off
  23. xcache.mmap_path = "/dev/zero"
  24. xcache.coredump_directory = ""
  25. xcache.cacher = On
  26. xcache.stat = On
  27. xcache.optimizer = Off
  28. [xcache.coverager]
  29. xcache.coverager = Off
  30. 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. Codeforces Round #239 (Div. 2) C. Triangle

    time limit per test:1 secondmemory limit per test:256 megabytesinput:standard inputoutput:standard o ...

  2. easyui源码翻译1.32--Tree(树)

    前言 使用$.fn.tree.defaults重写默认值对象.下载该插件翻译源码 树控件在web页面中一个将分层数据以树形结构进行显示.它提供用户展开.折叠.拖拽.编辑和异步加载等功能. 源码 /** ...

  3. android viewpager change adapter ---在使用viewpager设置新的adapter的时候发现页面还是显示旧的adapter中的值

    有一个需求是当用户选择navigationview中的某一项时,右边的viewpager需要动态切换不同的adapter 发现直接setAdapter没有任何反应,加载的数据还是旧的数据 折腾了半天只 ...

  4. Tomcat部署(转)

    首先说说tomcat的几种部署方法: 1.将应用文件夹或war文件塞到tomcat安装目录下的webapps子目录下,这样tomcat启动的时候会将webapps目录下的文件夹或war内容当成应用部署 ...

  5. Django Aggregation聚合

    在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序.Djngo聚合就能满足这些要求. 以下面的Mode ...

  6. 转:为什么Eclipse中 按 F3 无效

    通常是由于自己的 工程 建得不对, 没有声明为 JAVA 或 PHP 类型工程. 例如, PHP 工程的 .project 文件中的内容如果如下, F3 应该就可以起作用了. <?xml ver ...

  7. linux编译安装git

    我的博客:www.while0.com 用的centos6.4中自带的git,版本为1.7.1,配置好github的sshkey后,clone下来的项目无法提交,提示: fatal: Unable t ...

  8. 添加service到SystemService硬件服务

    添加service到SystemService: 添加硬件服务. 创建时间:2015年3月9日(星期一) 晚上11:07 | 分类:硬件驱动Android | 天气: 修改时间:2015年3月10日( ...

  9. IPv6 tutorial – Part 7: Zone ID and unique local IPv6 unicast addresses

    The zone ID is used to distinguish ambiguous link-local and site-local addresses. Unique local IPv6 ...

  10. 开源的文件比较工具:WinMerge,KDiff3,diffuse

    为了寻找免费的BeyondCompare的替代品,最后经过实用,找到如下一些: 1.diffuse 感受:如果仅仅是比较两个文本类的文件,这个软件也就够用了. 安装好后,对着文件点击右键,会出现&qu ...