运维必会LAMP平台源码安装

web服务作为互联网的支柱及应用,在各种场合应用广泛.官方提供的rpm包由于要面对的是所有用户,把有些我们不需要的功能编译进去了,某些需要的功能又没编译进去.且官方提供的rpm版本通常都比较老旧,在实际应用中大多数情况都要使用源码来安装lamp平台.

环境:

操作系统:CentOs6.4

软件安装包:

APR:apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz

Apache:httpd-2.4.12.tar.gz

Mysql:mysql-5.6.24.tar.gz

PHP:php-5.6.8.tar.gz

一.安装Apache

1.安装开发工具包,使用

yum groupinstall "Development tools"

yum -y install openssl-devel.i686

yum -y install pcre-devel.i686

2.安装apr

./configure  --prefix=/usr/local/apr

make && make install

3.安装apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

4.安装httpd

./configure --prefix=/usr/local/httpd  --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

make && make install

5.给Apache提供服务脚本

编辑配置文件/etc/httpd/httpd.conf

增加一行指定pid文件路径:PidFile "/var/run/httpd.pid"

增加一行指定ServerName:ServerName localhost:80

找台安装了默认httpd版本的服务器找到/etc/init.d/httpd这个文件,复制过来改下

改完保存,然后把脚本复制到当前服务器的/etc/init.d目录下.就可以使用service httpd start等命令来控制httpd服务器了

6.把httpd脚本加到服务列表中去

chkconfig --add httpd

chkconfig --level 35 httpd on

7.增加环境变量路径

vi /etc/profile.d/httpd.sh

在里面输入:export PATH=$PATH:/usr/local/httpd/bin

至此Apache服务器安装完成,可以在浏览器中输入地址测试下.

二.安装mysql

1.下载安装cmake

yum -y insatll cmake  ncurses-devel libtool-ltdl-devel.i686

2.添加mysql用户mysql组

groupadd -r mysql

useradd -g mysql mysql

3. 在/下面创建data目录用来放置mysql的数据文件

mkdir data

chown mysql /data

chgrp mysql /data

4.编译安装

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

漫长的等待.....

5.初始化mysql

chgrp mysql /usr/local/mysql

在mysql目录里找到scripts目录执行里面的脚本

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data --basedir=/usr/local/mysql
    (ps:如果直接到scripts里面用相对路径执行的话会报错 FATAL ERROR: Could not find ./bin/my_print_defaults,找不到当前目录下./bin/目录里面的my_print_defaults文件_论使用绝对路径的重要性)

6.编辑配置文件/usr/local/mysql/

指定pid文件目录:pid-file=/data

指定data目录:datadir=/data

6.给mysql提供服务脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d

7.把httpd脚本加到服务列表中去

chkconfig --add mysqld

chkconfig --level 35 mysqld on

8.增加环境变量路径

vi /etc/profile.d/mysqld.sh

三.安装PHP

1.解决各种坑人的依赖关系,记不住等预编译报错然后一个个的解决

yum -y install libxml2-devel.i686 libxml2.i686

2.编译

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbsting --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bzip2 --enable-maintainer-zts

make && make install

3.给php提供配置文件

cp php.ini-production /etc/php.ini

4.编辑Apache的配置文件让其支持php

在AddType后面增加两行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

在DirectoryIndex index.html后面添上index.php

在LoadModule 后面增家一行开启php模块

LoadModule php5_module  modules/libphp5.so

至此LAMP平台安装完成.

四.测试

1.测试是否能解析php文件,在apache的网站目录下放个index.php文件

结果如下:

2.测试php能否连接mysql

测试结果就不上图了...

附:

1:Apache编译参数

--prefix=/usr/local/apache :指定安装目标路径
--sysconfdir=/etc/httpd :指定配置文件安装位置
--enable-so :支持动态共享模块,如果没有这个模块PHP将无法与apache结合工作
--enable-rewirte :支持URL重写
--enable-ssl :启用支持ssl
--enable-cgi :启用支持cgi
--enable-cgid :启用支持带线状图形的CGI脚本 MPMs
--enable-modules=most :安装大多数模块
--enable-modules-shared=most :安装大多数共享模块
--enable-mpms-shared=all :支持全部多道处理方式
--with-apr=/usr/local/apr :指定apr路径
--with-apr-util=/usr/local/apr-util :指定apr-util路径

2:mysql编译参数

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html

3:PHP编译参数

--prefix=/usr/local/php
       指定 php 安装目录
--with-apxs2=/usr/local/apache/bin/apxs
       整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-config-file-path=/usr/local/php/etc               
指定php.ini位置
--with-MySQL=/usr/local/mysql
       mysql安装目录,对mysql的支持
--with-mysqli=/usr/local/mysql/bin/mysql_config            
       mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--enable-safe-mode        打开安全模式
--enable-ftp              打开ftp的支持
--enable-zip              打开对zip的支持
--with-bz2                打开对bz2文件的支持        
--with-jpeg-dir           打开对jpeg图片的支持
--with-png-dir            打开对png图片的支持
--with-freetype-dir       打开对freetype字体库的支持
--without-iconv           关闭iconv函数,种字符集间的转换
--with-libXML-dir         打开libxml2库的支持
--with-XMLrpc             打开xml-rpc的c语言
--with-zlib-dir           打开zlib库的支持
--with-gd                 打开gd库的支持
--enable-gd-native-ttf    支持TrueType字符串函数库
--with-curl               打开curl浏览工具的支持
--with-curlwrappers       运用curl工具打开url流
--with-ttf                打开freetype1.*的支持,可以不加了
--with-xsl                打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext            打开gnu 的gettext 支持,编码库用到
--with-pear               打开pear命令的支持,PHP扩展用的
--enable-calendar         打开日历扩展功能
--enable-mbstring         多字节,字符串的支持
--enable-bcmath           打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-sockets          打开 sockets 支持
--enable-exif             图片的元数据支持
--enable-magic-quotes     魔术引用的支持
--disable-rpath           关闭额外的运行库文件
--disable-debug           关闭调试模式
--with-mime-magic=/usr/share/file/magic.mime      魔术头文件位置
     CGI方式安装才用的参数
--enable-fpm                      
     打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-fastCGI                  
     支持fastcgi方式启动PHP
--enable-force-CGI-redirect        
     重定向方式启动PHP
--with-ncurses                    
      支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--enable-pcntl                     freeTDS需要用到的,可能是链接mssql 才用
       mhash和mcrypt算法的扩展
--with-mcrypt                     算法
--with-mhash                      算法
以上函数库需要安装
--enable-inline-optimization       优化线程
--with-openssl                     openssl的支持,加密传输时用到的
--enable-dbase                     建立DBA 作为共享模块
--with-pcre-dir=/usr/local/bin/pcre-config      perl的正则库案安装位置
--disable-dmalloc
--with-gdbm                         dba的gdbm支持
--enable-sigchild
--enable-sysvsem
--enable-sysvshm
--enable-zend-multibyte              支持zend的多字节
--enable-mbregex
--enable-wddx
--enable-shmop
--enable-soap

时间: 2024-10-08 10:45:06

运维必会LAMP平台源码安装的相关文章

LAMP平台源码编译的实现

编译环境: Linux:CentOS 6.5 Aapache: httpd-2.4.9 Mysql: MaraiDB-5.5.32 PHP: php-5.5.26 模式一:web服务器 .数据库服务器.php在同一台服务器 实验拓扑图: 在这种模式下,处理客户端的请求过程大致如下: web介接收到客户端的请求后,如果是静态资源,则直接返回:如果请求的是动态资源,httpd负责处理的这个请求的进程(线程)会通过模块来处理请求,如果请求中会访问数据库会去数据库中取得数据,然后经运行结果返回这个进程,

CentOS 7运维管理笔记(10)----MySQL源码安装

MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: 在CentOS 7 中输入如下命令: [[email protected]:~/Downloads] # wget http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz 2.解压mysql源码压缩文件,并更新软件

linux服务之Lamp的源码安装(centos)

Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz Php: php-5.6.0.tar.gz Apr: apr-1.5.1.tar.gz Apr-util: apr-util-1.5.3.tar.gz Libxml2: libxml2-2.9.1.tar.gz 默认安装路径我们统一安装到/us

运维:CentOS 6.5 源码编译 gcc 5.1.0

环境:阿里云最低配机器,512M内存,1核,CentOS6.5 32位 准备工作:由于阿里云的CentOS默认是不开启swap的,所以需要先开启swap才行,因为gcc 5.1.0编译时非常吃内存,512M内存是万万打不住的,我在这个环节上折腾了两天,最后才找到了原因 首先,创建用于交换分区的文件(2GB):dd if=/dev/zero of=/mnt/swap bs=1M count=2048 其次,设置交换分区文件:mkswap /mnt/swap 接着,立即启用交换分区文件:swapon

LAMP平台源码搭建

实验环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [[email protected] ~]# uname -rn LAMP 2.6.32-504.el6.x86_64 使用软件 apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.10.tar.bz2 mariadb-5.5.43-linux-x86_64.tar.gz php-5.4.4

LAMP一键源码安装脚本最新版(实测有效)

此脚本根据网上的进行了大量的修改,在RHEL5上做了实际测试,本人亲测有效. 运行次脚本有2个注意点: 1.在根目录下新建work目录,将光盘没有的rpm包放入其中,如果没有联网,将需要的rpm包也放入其中 2.将apache的服务启动脚本httpd,放入work目录 具体的httpd内容参见之前的博客,一步一步搭建LAMP. #!/bin/sh #Copyright(c) 2010-2015 jwh5566 ([email protected]) #install LAMP  #Version

lamp全源码安装

1. zlib-1.2.8./configure --prefix=/usr/local/lamp/zlib & make && make install 2. libxml2-2.6.30./configure --prefix=/usr/local/lamp/libxml2 --with-zlib=/usr/local/lamp/zlib && make && make install 3. libmcrypt-2.5.8./configure

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装Apache (一)

Apache 简介: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 安装环境: 系统: centos 7.0 最小化安装 软件:httpd-2.4.26 依赖包:apr .apr-util .pcre .gcc .gcc-c++ .perl-dvel.perl.openssl .openssl-

Linux服务器--CentOS6上源码安装LAMP(实现WordPress,PhpMyAdmin)

Linux服务--CentOS6实现LAMP(源码安装) 实验要求: 安装php时实现php模块嵌入到httpd中和实现fpm两种方式.在fpm下,提供两个虚拟主机: 分别用于实现PHPMyadmin和WordPress,其中PhpMyAdmin提供ssl. 实验环境: CentOS系统一台(IP:172.16.99.4),所需的httpd,mariadb,php,PhpAdmin,WordPress的源码包. 实验步骤: 安装顺序:httpd-->mariadb-->php. 安装前的准备工