lamp环境centos6.4
http://www.centos.bz/2011/09/centos-compile-lamp-apache-mysql-php/comment-page-1/#comments
编译安装:
首先卸载掉php mysql httpd yum -y remove httpd yum -y remove php yum -y remove mysql-server mysql yum -y remove php-mysql rpm -e httpd rpm -e mysql rpm -e php
先用yum 安装所需要的环境包:
yum -y install gcc gcc-c++ make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel
下载lamp环境的源码包:
wget http://212.199.163.181/services/all/phpMyAdmin/phpMyAdmin-3.4.10.2-all-languages.tar.gz
wget http://mirrors.sohu.com/php/php-5.2.17.tar.gz
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.62.tar.gz
wget http://archive.apache.org/dist/httpd/httpd-2.2.22.tar.gz
解压:
tar zxvf php-5.2..tar.gz
tar zxvf httpd-2.2..tar.gz
tar zxvf mysql-5.1..tar.gz
安装httpd:
cd httpd-2.2.22/
./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support
make
make install
编译参数介绍:
--prefix=/usr/local/apache:指定安装目录
--with-included-apr:在编译时强制使用当前源代码中绑定的APR版本
--enable-so:允许运行时加载DSO模块
--enable-deflate=shared:将deflate模块编译为DSO
--enable-expires=shared:将expires模块编译为DSO
--enable-headers=shared:将headers模块编译为DSO
--enable-rewrite=shared:将rewrite模块编译为DSO
--enable-static-support:使用静态连接(默认为动态连接)编译所有二进制支持程序
更详细的编译参数解释:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/configure.html
复制启动脚本:开机自启动
cp build/rpm/httpd.init /etc/init.d/httpd //使用init脚本管理httpd
chmod /etc/init.d/httpd //增加执行权限
chkconfig --add httpd //添加httpd到服务项
chkconfig httpd on //设置开机启动
ln -fs /usr/local/apache/ /etc/httpd
ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
ln -fs /usr/local/apache/logs /var/log/httpd //设置软链接以适应init脚本
安装mysql:
groupadd mysql
useradd -g mysql mysql
cd /usr/local/src/mysql-5.1. ##进入解压后的源码目录
./configure --prefix=/usr/local/mysql/ --localstatedir=/usr/local/mysql/data --without-debug --with-unix-socket-path=/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --with-pthread
make
make install
PS:与到一个错误
gcc: all-static: No such file or directory
make[]: *** [replace] 错误
make[]: Leaving directory `/tmp/LAMP/mysql-5.0./extra'
make[]: *** [all-recursive] 错误
make[]: Leaving directory `/tmp/LAMP/mysql-5.0./extra'
make[]: *** [all] 错误
make[]: Leaving directory `/tmp/LAMP/mysql-5.0./extra'
make[]: *** [all-recursive] 错误
make[]: Leaving directory `/tmp/LAMP/mysql-5.0.'
make: *** [all] 错误
问题解决:http://www.wumingx.cn/post/324.html
http://hi.baidu.com/lzdpntspocegjtr/item/c8560de9f9fd0bf82a09a4b1
编译参数解释:
--prefix=/usr/local/mysql/:指定安装位置
--localstatedir=/usr/local/mysql/data:指定数据库文件位置
--without-debug:禁用调用模式
--with-unix-socket-path=/tmp/mysql.sock:指定sock文件位置
--with-client-ldflags=-all-static:
--with-mysqld-ldflags=-all-static:以纯静态方式编译服务端和客户端
--enable-assembler:使用一些字符函数的汇编版本
--with-extra-charsets=gbk,gb2312,utf8 :gbk,gb2312,utf8字符支持
--with-pthread:强制使用pthread库(posix线程库)
更多编译参数请执行./configure --help命令查看
mysql的后续配置:
cp support-files/my-medium.cnf /etc/my.cnf //复制配置文件夹my.cnf
/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化数据库
chown -R root.mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data
cp /tmp/mysql-5.1./support-files/mysql.server /etc/rc.d/init.d/mysqld //init启动脚本
chown root.root /etc/rc.d/init.d/mysqld
chmod /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
service mysqld start PS:给root用户设置远程访问和密码
grant all on *.* to root@'%' identified by 'morohstk22';
grant all on *.* to root@localhost identified by 'morohstk22' *.* 前面的*为你要访问的数据库名 例如要访问1db将*修改为1db *为所有
root@'%'为root用户可以以任何ip访问 'morohstk22' 为root用户的mysql数据库密码 不是系统密码
安装php:
首先安装几个PHP的依赖包:如果你用的是centos5可以跳过此步骤 如果是centOS6 或者是RHEL6(其实一样的CentOS就是RHEL的克隆版)
libmcrypt-2.5..tar.gz
mhash-0.9.9.9.tar.gz
mcrypt-2.6..tar.gz
libiconv-1.14.tar.gz 当然这些都可以在Google上找到下载的ftp服务器。这里贴几个但不一定能下载到。下载不到的Google下包的名字就可以找到。
wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
然后解压:
可以编辑一个脚本
vim /usr/local/src/lamp/tar.sh #!/bin/sh
cd /usr/local/src/lamp/
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
tar -zxvf $TAR
done
解压 完成后:进入安装:
cd libmcrypt-2.5.
./configure --prefix=/usr
make && make install cd ../mhash-0.9.9.9
./configure --prefix=/usr
make && make install cd ../mcrypt-2.6.
./configure
make && make install cd ../libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
OK安装完成后进入php的配置。相关加载模块参考PHP手册 或者 --help 查看./confugure --help查看相关参数和支持。当然编译安装后也可动态加载模块
cd ../php-5.2.
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --enable-gd-native-ttf --with-gettext --with-mhash --enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv --with-mysql=/usr/local/mysql --without-pear
make
make test ##这一步如果有时间可以运行 没时间可以忽略
make install
编译参数解释:
--prefix=/usr/local/php:设置安装路径
--with-apxs2=/usr/local/apache/bin/apxs:编译共享的 Apache 2.0 模块
--with-config-file-path=/etc:指定配置文件php.ini地址
--with-config-file-scan-dir=/etc/php.d:指定额外的ini文件目录
--with-openssl:编译OpenSSL支持
--with-zlib:编译zlib支持
--enable-bcmath:启用BC风格精度数学函数
--with-bz2:BZip2支持
--with-curl:CRUL支持
--enable-ftp:FTP支持
--with-gd:GD支持
--enable-gd-native-ttf:启用TrueType字符串函数
--with-gettext:启用GNU gettext支持
--with-mhash:mhash支持
--enable-mbstring:启用支持多字节字符串
--with-mcrypt:编译mcrypt加密支持
--enable-soap:SOAP支持
--enable-zip:启用zip 读/写支持
--with-iconv=/usr/local/libiconv:iconv支持
--with-mysql=/usr/local/mysql:启用mysql支持
--without-pear:不安装PEAR
更多编译参数解释参考http://www.php.net/manual/zh/configure.about.php或者./configure --help查看
http://www.cnblogs.com/foundwant/p/3179295.html
make报错:"usr/bin/ld: cannot find -l***
在Linux编译程序时,有的程序会报错如下: #gmake -f dc_debug.mak
.......
/usr/bin/ld: cannot find -ldscompress_x32
collect2: ld returned exit status
gmake: *** [dc_shl2_v2..0_130423_b1_x32.exe] Error 问题原因:
该问题的原因一般是由于ld 在进行库连接时找不到库文件所致; 解决方案:
出现该问题时,去lib目录下查找相关的库文件,基本如下:
#cd /usr/lib
#ll | grep libltdl
lrwxrwxrwx root root Dec libltdl.so. -> libltdl.so.3.1.
-rwxr-xr-x root root Nov libltdl.so.3.1.
上述库文件中没有库的入口:libltdl.so
可以手动建立一个连接来解决
#ln -s ./libltdl.so. ./libltdl.so 但是深究问题,应该是该库的头文件库没有安装所致:
#yum list all | grep ltdl
libtool-ltdl.i386 1.5.-.el5_4 installed
libtool-ltdl-devel.i386 1.5.-.el5_4 server
下面就安装头文件:
#yum -y install libtool-ltdl-devel.i386
。。。 查看后发现确实是由于devel头文件没有安装所致 # rpm -ql libtool-ltdl-devel.i386
/usr/include/ltdl.h
/usr/lib/libltdl.a
/usr/lib/libltdl.la
/usr/lib/libltdl.so
PHP安装后配置:
cp php.ini-dist /usr/local/php/etc/php.ini //复制配置文件php.ini
在/etc/httpd/conf/httpd.conf文件中加入php文件类型解析:
Addtype application/x-httpd-php .php 重启Apache 和mysql
/usr/local/apache/bin/apachectl restart
service mysqld restart
OK下面网站基本配置完成 (以下为可选安装)
PHP加载动态模块:
例如我在编译安装PHP时没有开启FTP可以如下操作:
[root@vbok ~]# cd /usr/local/src/php-5.2.
[root@vbok php-5.2.]# find . -name ftp
./ext/ftp
[root@vbok php-5.2.]# cd ext/ftp
[root@vbok ftp]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
[root@vbok ftp]# ./configure --with-php=config=/usr/local/php/bin/php-config --enable-ftp
##或者:去掉 --enable-ftp
[root@vbok ftp]# ./configure --with-php=config=/usr/local/php/bin/php-config
[root@vbok ftp]#make
[root@vbok ftp]#make install
##生成一个路径内有一个ftp.so的文件
/usr/local/php/lib/php/extensions/no-debug-non-zts-
/ftp.so
然后编辑php.ini文件
[root@vbok ftp]#vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006
/"
extension = ftp.so
保存退出 然后重启apache
验证ftp是否开启:
方法1.站点下创建 phpinfo()函数调用php配置文件查看不过度介绍
方法2.
[root@ ~]# /usr/local/php/bin/php
php php-config phpize
[root@ ~]# /usr/local/php/bin/php -m
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-/openssl.so: cannot open shared object file: No such file or directory in Unknown on line
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/php_gd2.dll' - /usr/local/php/lib/php/extensions/no-debug-non-zts-/php_gd2.dll: cannot open shared object file: No such file or directory in Unknown on line
[PHP Modules]
bcmath
bz2
ctype
curl
date
dom
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
soap
sockets
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
Zend Optimizer
zip
zlib [Zend Modules]
Zend Extension Manager
Zend Optimizer [root@ ~]#
OK ftp 加载成功
再次验证 cat /www/phpinfo.php
<?php
phpinfo();
?>
安装ZendOptimizer-3.3.9(可选)
wget http://files6.directadmin.com/services/custombuild/ZendOptimizer-3.2.6-linux-glibc23-x86_64.tar.gz
wget http://files6.directadmin.com/services/custombuild/ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
解压安装:
cd /usr/local/src/ZendOptimizer-3.2.-linux-glibc23-x86_64/
sh install.sh
一下安装来至网络:(因为写文档时我已经搭建完成这个是整理档案)
lamp环境centos6.4的更多相关文章
- LAMP环境CentOS6.4 PHP5.4随笔未整理
首先安装一些辅助的软件或者说是依赖的关系包. 1.安装libxml2: libxml是一个用来解析XML文档的函数库.它用C语言写成, 并且能为多种语言所调用,例如C语言,C++,XSH.C#, Py ...
- 通过yum命令搭建lamp环境(centos6.5)
centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源 ...
- Centos6.4版本下搭建LAMP环境
Centos6.4版本下搭建LAMP环境 配置yum mkdir/mnt/cdrom mount/dev/cdrom /mnt/cdrom 装载光盘 vi /etc/yum.repos.d/Cent ...
- lamp环境搭建(centos6.9+apache2.4+mysql5.7+php7.1)
lamp环境搭建(centos6.9+apache2.4+mysql5.7+php7.1) 安装前准备:CentOS 6.9 64位 最小化安装 yum install -y make gcc gcc ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- CentOS6.5下编译安装LAMP环境
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架.该框架能够满足大流量.大并发量的网站需求:当然.也可以直接使用高性能的服务器.高性能的负载均衡硬件以及CDN ...
- Centos6.5添加Epel和Remi源安装Lamp环境
想搭建一个Lamp环境,因为编译安装太麻烦,对于我这样的新手来说,太过于复杂.而CentOS自带的Apache.MySql和PHP的版本都太低,不想用.上百度搜了一轮,原来可以通过添加Epel和Rem ...
- lamp环境搭配(centos6.4)
(一)如果你的服务器没有链接网络可以先挂载本地光盘.设置yum源. 挂载光盘: [root@delphi ~]# mkdir /mnt/cdrom #新建挂载点 [root@delphi ~]# mo ...
- Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
经典web开发组合Lamp环境搭建之mysql安装详解 安装前准备 通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本 [root@localhost src]# ...
随机推荐
- Linux第三次学习笔记
#信息的表示和处理 三种重要的数字表示 1. 无符号数编码: 基于传统的二进制表示法,表示大于或者等于零的数字. 2. 补码编码: 表示有符号数整数的最常见的方式,有符号数就是只可 以为正或者为负的数 ...
- pythonchallenge(三)
PythonChallenge_3 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux ...
- python实现简易数据库之二——单表查询和top N实现
上一篇中,介绍了我们的存储和索引建立过程,这篇将介绍SQL查询.单表查询和TOPN实现. 一.SQL解析 正规的sql解析是用语法分析器,但是我找了好久,只知道可以用YACC.BISON等,sqlit ...
- 【MPI学习1】简单MPI程序示例
有了apue的基础,再看mpi程序多进程通信就稍微容易了一些,以下几个简单程序来自都志辉老师的那本MPI的书的第七章. 现在ubuntu上配置了一下mpich的环境: http://www.cnblo ...
- 魅蓝Note2 在Android Studio 与 Eclipse中无法被检测到
昨天到手的Note2 结果发现测试不了,一看魅蓝的版本是android 5.1,然后更新的自己的SDK. 最后…… 仍然不能识别到手机. ———————————— 今天在stackoverflow上搜 ...
- sql server 2008 操作数据表
SQL Server表 表的类型: ①临时表 临时表可用来处理中间数据或者用临时表 与其它连接共享进行中的工作.临时表只 能放在tempdb中. 私有临时表(#) 全局临时表(##) ②系 ...
- VS类自定义版权注释
对IDE快捷方式右键-属性-打开文件位置,找到..\Microsoft Visual Studio 10.0\Common7\IDE文件夹下的..\ItemTemplates\CSharp\Code\ ...
- jquery hasClass、removeClass、addClass方法
hasClass(class) 检查当前的元素是否含有某个特定的类,如果有,则返回true. 参数: class:用于匹配的类名. ---------------------------------- ...
- Javascript基础系列之(三)数据类型 (字符串 String)
javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...
- Grovvy初识
1.Groovy和Java对比 Groovy的松散的语法允许省略分号和修饰符 除非另行指定,Grovvy的所有内容都为public Grovvy允许定义简单脚本,同时无需定义正规的class对象 Gr ...