LAMP环境CentOS6.4 PHP5.4随笔未整理

首先安装一些辅助的软件或者说是依赖的关系包。

1.安装libxml2:

libxml是一个用来解析XML文档的函数库。它用C语言写成, 并且能为多种语言所调用,例如C语言C++XSHC#PythonKylix/DelphiRuby,和PHP等。Perl中也可以使用XML::LibXML模块。它最初是为GNOME开发的项目,但现在可以用在各种各样的方面。libXML 代码可移植性非常好,因为它基于标准的ANSI C库, 并采用MIT许可证。

yum install -y libxml2-devel    如果报错,安装此包后再尝试安装

yum -y install python-devel          必须有

tar -zxvf libxml2-2.9.1.tar.gz;cd /libxml2-2.9.1;./configure --prefix=/usr/local/libxml2/;make && make install

2.安装libmcrypt:

libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。

yum -y  install  gcc-c++

 cd /lamp/libmcrypt-2.5.8

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

 make

 make install

 * 需调用gcc-c++编译器,未安装会报错

 

# 安装libltdl,也在libmcrypt源码目录中,非新软件

 cd /lamp/libmcrypt-2.5.8/libltdl

 ./configure --enable-ltdl-install

 make

 make install

 

 

# 安装mhash

    Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。

cd /lamp/mhash-0.9.9.9

./configure

make

make install

 

 

 

# 安装mcrypt   

    mcrypt 是 php 里面重要的加密支持扩展库。Mcrypt库支持20多种加密算法和8种加密模式

cd /lamp/mcrypt-2.6.8

LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib  \

./configure --with-libmcrypt-prefix=/usr/local/libmcrypt

#以上为一条命令。LD_LIBRARY_PATH用于指定libmcrypt和mhash的库的位置。

--with-libmcrypt-prefix用于指定libmcrypt软件位置

make

make install

#mcrypt没有安装完成,这是php的模块,需要等php安装完成之后,再继续安装

 

 # 安装zlib        

    zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权

 cd /lamp/zlib-1.2.3           

./configure

 make

 make install  >>  /root/zlib.log

 * zlib指定安装目录可能造成libpng安装失败,故不指定,为卸载方便,建议make install执行结果输出到安装日志文件,便于日后卸载

 

# 安装libpng  

   libpng 软件包包含 libpng 库.这些库被其他程式用于解码png图片

 cd /lamp/libpng-1.2.31

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

 make

 make install

 

 # 安装jpeg6          

    用于解码.jpg和.jpeg图片

mkdir /usr/local/jpeg6

 mkdir /usr/local/jpeg6/bin

 mkdir /usr/local/jpeg6/lib

 mkdir /usr/local/jpeg6/include

 mkdir -p /usr/local/jpeg6/man/man1

#目录必须手工建立

注意如果在运行make时报错可以尝试下路步骤:

查看下是否安装了:

[root@LAMP jpeg-6b]# rpm -qa | grep libtool

libtool-2.2.6-15.5.el6.x86_64

libtool-ltdl-2.2.6-15.5.el6.x86_64

如果没有安装使用yum安装

安装完成后将: cp /usr/share/libtool/config/config.guess 覆盖掉 jpeg-6b的源码目录下的文件还有:

cp /usr/share/libtool/config/config.sub

在执行make不会报错

 cd /lamp/jpeg-6b

 ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

 make          

 make install

 * --enable-shared与--enable-static参数分别为建立共享库和静态库使用的libtool

 

 # 安装freetype           

    FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。

 cd /lamp/freetype-2.3.5

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

 make

 make install

 

 

# 安装GD库    

   GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。

cd /lamp/gd-2.0.35

* png错误,修改方法:

vi gd_png.c

把10行的”png.h” 替换成 “gd.h”

把 16行的 #include “png.h” 替换为 #include "/usr/local/libpng/include/png.h"

  

 make

 make install

 * 若前面配置zlib时没有指定安装目录,gd配置时不要添加--with-zlib=/usr/local/zlib/参数

 

在安装apache时报错:

Make[4]:***[mod_deflate.la] 错误1

解决方法:将zlib重新编译

cd ./zlib源码包目录下

./configure

Vim Makefile

找到CFLAGS=-03-DUSE_MMAP 在后面加上-fPIC

CFLAGS=-03-DUSE_MMAP –fPIC

Make

Make install

并且在./configure apache时在后面加上 –with-zlib-1.2.3=/usr/local/zlib-1.2.3

 

我们给apache添加运行组和用户

打开vim /usr/local/apache2/conf/httpd.conf

修改 User 和Group用户为apache

修改ServerName 为 localhost:80 去掉前面#

Groupadd apache

Useradd –s /sbin/nologin –b /web –g apache apache

不要设置密码 不允许他登录系统

将apache设置开机启动

Echo “/usr/local/apache2/bin/apachectl start” >> /etc/rc.local

 

 

 


 


 

 

安装LAMP环境

在安装apache2.4版本需要安装的两个依赖包apr apr-util

 

 

 

 

1.4 LAMP架构搭建

伪用户

#安装Apache

configure: error: Bundled APR requested but not found at ./srclib/. Download and

unpack the corresponding apr and apr-util packages to ./srclib/.

#如果报错,则:

tar  zxvf  apr-1.4.6.tar.gz

tar  zxvf  apr-util-1.4.1.tar.gz

cp  -r  /lamp/apr-1.4.6  /lamp/httpd-2.4.7/srclib/apr

cp  -r  /lamp/apr-util-1.4.1  /lamp/httpd-2.4.7/srclib/apr-util

#解压apr和apr-util,复制并取消版本号

configure:error:pcre-configforlibpcrenotfound.PCREisrequiredandavailable

from

#如果报错,则:

tar zxvf pcre-8.34.tar.gz

cd pcre-8.34

./configure && make && make install

checking whether to enable mod_ssl... configure: error: mod_ssl has been requested

but can not be built due to prerequisite failures

#如果报错,则:

yum install openssl-devel

/usr/local/apache2/conf/

动态

静态()

安装apache

cd /lamp/httpd-2.4.7

./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/

--with-included-apr --enable-so --enable-deflate=shared

--enable-expires=shared --enable-rewrite=shared

make

make install

*若前面配置      zlib时没有指定安装目录,          Apache配置时不要添加

--with-z=/usr/local/zlib/参数

启动Apache测试:

/usr/local/apache2/bin/apachectl start

ps –aux | grep httpd

netstat –tlun | grep :80

*若启动时提示/usr/local/apache2/modules/mod_deflate.so无权限,可关闭SELinux

或者执行命令chcon-ttexrel_shlib_t/usr/local/apache2/modules/mod_deflate.so,

 

 

 

类似此类.so文件不能载入或没有权限的问题,都是SELinux问题,使用命令:“chcon-t

texrel_shlib_t文件名”即可解决,MySQL和Apache也可能有类似问题。

通过浏览器输入地址访问:http://Apache服务器地址,若显示“Itworks”即表明Apache

正常工作

设置Apache系统引导时启动:

echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local

#安装ncurses

Ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标,建立

窗口,改变前景背景颜色以及处理鼠标操作的函数。使用户在字符终端下编写应

用程序时绕过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接

控制终端屏幕显示的函数库。

1、

yum -y install ncurses-devel

注:如果报错,包找不到,是*通配符没有识别,给文件名加双引号“ncurses*”

2、源代码编译:

cd /lamp/ncurses-5.9

./configure --with-shared --without-debug --without-ada --enable-overwrite

make

make install

*若不安装ncurses编译MySQL时会报错

* --without-ada参数为设定不编译为ada绑定,因进入chroot环境不能使用ada;

--enable-overwrite参数为定义把头文件安装到/tools/include下而不是

/tools/include/ncurses目录

*  --with-shared

生成共享库

#安装cmake和bison

mysql在5.5以后,不再使用./configure工具,进行编译安装。而使用cmake工具替代

了./configure工具。cmake的具体用法参考文档cmake说明。

bison是一个自由软件,用于自动生成语法分析器程序,可用于所有常见的操作系

yum -y install cmake

yum -y install bison

伪用户

#安装MySQL

groupadd mysql

useradd -g mysql mysql

*添加用户组mysql,将mysql用户默认组设置为mysql用户组

cd /lamp/mysql-5.5.23

 


 

 

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

 

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  -DEXTRA_CHARSETS=all

 

-DDEFAULT_CHARSET=utf8

 

-DDEFAULT_COLLATION=utf8_general_ci

 

-DWITH_MYISAM_STORAGE_ENGINE=1   -DWITH_INNOBASE_STORAGE_ENGINE=1

 

-DWITH_MEMORY_STORAGE_ENGINE=1  -DWITH_READLINE=1

-DMYSQL_USER=mysql  -DMYSQL_TCP_PORT=3306

 

-DENABLED_LOCAL_INFILE=1

 

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DEXTRA_CHARSETS=all

 

安装位置

 

指定socket(套接字)文件位置

扩展字符支持

 

-DDEFAULT_CHARSET=utf8

 

默认字符集

 

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_MEMORY_STORAGE_ENGINE=1

-DWITH_READLINE=1

 

默认字符校对

 

安装myisam存储引擎

安装innodb存储引擎

安装memory存储引擎

支持readline库

 

-DENABLED_LOCAL_INFILE=1

 

启用加载本地数据

指定mysql运行用户

指定mysql端口

 

-DMYSQL_USER=mysql

 

-DMYSQL_TCP_PORT=3306

 

make

 

make install

 

make clean

 

rm -rf CMakeCache.txt

#如果报错,清除缓存,请使用以上命令

 

cd /usr/local/mysql/

chown -R mysql .

chgrp -R mysql .

 

#修改mysql目录权限

 

/usr/local/mysql/scripts/mysql_install_db --user=mysql

 

#创建数据库授权表,初始化数据库

 

root

root

 

/etc/passwd

 

user表

 

mysql库

 

/usr/local/mysql/data

 

chown -R root .

 

chown -R mysql data

#修改mysql目录权限

 

cp support-files/my-medium.cnf /etc/my.cnf

#复制mysql配置文件

 

/usr/local/mysql/scripts/mysql_install_db --user=mysql

 接着上次的写下去:在安装PHP中遇到一些问题还是值的记录一下的:

s首先:在编译安装PHP之前我们要确认下一下几个安装包:

yum -y install "libtool*"

yum -y install "libtool-ltdl*"

yum -y install zlib-devel

yum -y install "libevent*"(如果你使用的是网络yum源你可以轻松的安装如果你用的是本地DVDyum源那么你需要切换到第二章DVD光盘上有这个包)

安装完成后还需要修改 vim /usr/local/gd2/include/gd_io.h

在typedef struct gdIOCtx

{

....

#当中加入 void (*data)

void (*data);  

}

 

 

 

服务名称

功能简介

建议

acpid

电源管理接口。如果是笔记本用户建议开启,可以监听内核层的相关电源事件。

开启

anacron

系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行。

关闭

alsasound

Alsa声卡驱动。如果使用alsa声卡,开启

关闭

apmd

电源管理模块。如果支持acpid,就不需要apmd,可以关闭

关闭

atd

指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用crond来进行循环定时任务。

关闭

auditd

审核子系统。如果开启了此服务,SELinux的审核信息会写入/var/log/audit/audit.log文件,如果不开启,审核信息会记录在syslog中

开启

autofs

让服务器可以自动挂载网络中的其他服务器的共享数据,一般用来自动挂载NFS服务。如果没有NFS服务建议关闭

关闭

avahi-daemon

Avahi 是 zeroconf 协议的实现。它可以在没有 DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务。除非有兼容设备或使用zeroconf协议,否则关闭。

关闭

bluetooth

蓝牙设备支持。一般不会在服务器上启用蓝牙设备,关闭它

关闭

capi

仅对使用ISND设备的用户有用。

关闭

chargen-dgram

使用UDP协议的chargen server。主要功能是提供类似远程打字的功能。

关闭

chargen-stream

同上。

关闭

cpuspeed

可以用来调整CPU的频率。当闲置时可以自动降低CPU频率来节省电量。

开启

crond

系统的定时任务,一般的Linux服务器都需要定时任务帮助系统维护。建议开启

开启

cvs

一个版本控制系统

关闭

daytime-dgram

daytime使用TCP 协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期 和时间的功能。

关闭

daytime-stream

同上。

关闭

dovecot

邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务则开启,否则关闭

关闭

echo-dgram

服务器回显客户服务的进程。

关闭

echo-stream

同上。

关闭

firstboot

系统安装完成之后,有个欢迎界面,需要对系统进程初始设定。就是这个进程的作用。既然不是第一次启动了,关闭吧

关闭

gpm

在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。就是这个服务的功能。

开启

haldaemon

检测盒支持USB设备。如果是服务器可以关闭,个人机建议开启。

关闭

hidd

蓝牙鼠标、键盘等蓝牙设备检测。必须启动bluetooth服务。

关闭

hplip

HP打印机支持,如果没有HP打印机关闭吧

关闭

httpd

apache服务的守护进程。如果需要启动apache,就开启。

开启

ip6tables

IPv6的防火墙,目前IPv6协议并没有使用,可以关闭

关闭

iptables

防火墙功能,Linux中防火墙是内核支持功能。这是服务器的主要防护手段,必须开启。

开启

irda

IrDA 提供红外线设备(笔记本,PDA’s,手机,计算器等等)间的通讯支持。关闭吧

关闭

irqbalance

支持多核处理器,让CPU可以自动分配系统中断(IRQ),提高系统性能。目前服务器多是多核CPU,请开启。

开启

isdn

使用ISDN设备连接网络。目前主流的联网方式是光纤接入和ADSL,ISDN已经非常少见,请关闭

关闭

kudzu

该服务可以在开机时进行硬件检测,并会调用相关的设置软件。建议关闭,仅在需要时开启

关闭

lvm2-monitor

该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应该开启。建议开启

开启

mcstrans

SELinux的支持服务。建议启动

开启

mdmonitor

该服务用来监测 Software RAID 或 LVM 的信息。不是必须服务,建议关闭

关闭

mdmpd

该服务用来监测 Multi-Path 设备。不是必须服务

关闭

messagebus

这是 Linux 的 IPC(Interprocess Communication,进程间通讯)服务,用来在各个软件中交换信息。个人建议关闭

关闭

microcode_ctl

Intel系列的CPU可以通过这个服务支持额外的微指令集。

关闭

mysqld

mysql数据库服务器。如果需要就开启,否则关闭

开启

named

DNS服务的守护进程,用来进行域名解析。如果是DNS服务器则开启,否则关闭

关闭

netfs

该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba 等等。需要就开启,否则关闭

关闭

network

提供网络设置功能。通过这个服务来管理网络,所以开启

开启

nfs

NFS(Network File System)服务,Linux与Linux之间的文件共享服务。需要就开启,否则关闭

关闭

nfslock

在Linux中如果使用了NFS服务,为了避免同一个文件被不同的用户同时编辑,所有有这个锁服务。有NFS是开启,否则关闭

关闭

ntpd

该服务可以通过互联网自动更新系统时间,使系统时间永远都准确。需要则开启,但不是必须服务

关闭

pcscd

智能卡检测服务,可以关闭

关闭

portmap

用在远程过程调用(RPC)的服务,如果没有任何RPC服务时,可以关闭。主要是NFS和NIS服务需要。

关闭

psacct

该守护进程支持几个监控进程活动的工具。

关闭

rdisc

客户端ICMP路由协议

关闭

readahead_early

在系统开机的时候,先将某些进程加载如内存整理,可以加快一点启动速度。

关闭

readahead_later

同上

关闭

restorecond

用于给 SELinux 监测和重新加载正确的文件上下文。如果开启SELinux则需要开启。

关闭

rpcgssd

与NFS有关的客户端功能。如果没有NFS就关闭吧。

关闭

rpcidmapd

同上

关闭

rsync

远程数据备份守护进程。

关闭

sendmail

sendmail邮件服务的守护进程。如果有邮件服务就开启,否则关闭

关闭

setroubleshoot

该服务用于将SELinux相关信息记录在日志/var/log/messages中。建议开启

开启

smartd

该服务用于自动检测硬盘状态。建议开启

开启

smb

网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启

关闭

squid

代理服务的守护进程。如果需要则开启,否则关闭

关闭

sshd

ssh加密远程登陆管理的服务。服务器的远程管理必须使用此服务,不要关闭

开启

syslog

日志的守护进程。

开启

vsftpd

vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭

关闭

xfs

这个是X Window的字体守护进程。为图形界面提供字体服务,如果不启动图形界面,就不用开启。

关闭

xinetd

超级守护进程。如果有依赖xinetd的服务就必须开启。

开启

ypbind

为NIS(网络信息系统)客户机激活ypbind服务进程。

关闭

yum-updatesd

yum的在线升级服务。

关闭

 

 

 

转载于:https://www.cnblogs.com/patf/p/4644419.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值