设为首页 收藏本站
查看: 735|回复: 0

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

[复制链接]

尚未签到

发表于 2015-8-19 11:18:58 | 显示全部楼层 |阅读模式
  首先安装一些辅助的软件或者说是依赖的关系包。
  1.安装libxml2:
  libxml是一个用来解析XML文档的函数库。它用C语言写成, 并且能为多种语言所调用,例如C语言,C++,XSH。C#, Python,Kylix/Delphi,Ruby,和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时报错可以尝试下路步骤:
  查看下是否安装了:
  [iyunv@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的在线升级服务。
  关闭
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-101075-1-1.html 上篇帖子: [转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境 下篇帖子: LAMP学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表