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

[经验分享] Linux+Apache2+PHP5+Mysql环境搭建

[复制链接]

尚未签到

发表于 2016-2-18 08:36:41 | 显示全部楼层 |阅读模式
  部门想搭建一个WIKI平台用于内部产品和项目文档编写,维护更新。同时也可以作为内部技术交流的基础平台。同事推荐使用HDWiki,我也懒得去选和折腾。就简单搭建了这个环境。因为不会PHP,搭建过程中也出了些小问题,通过GOOGLE大神的帮助,最后是解决了,为防止以后再来一次麻烦,这里做个记录。
  
  1.环境准备
  操作系统环境:CentOS6.3 64位 详情如下:
  Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
  组件需求:GCC
  Apache:httpd-2.2.23.tar.gz    http://mirrors.cnnic.cn/apache//httpd/httpd-2.2.23.tar.gz
  MySql5.1.61:mysql  Ver 14.14 Distrib 5.1.61, for redhat-linux-gnu (x86_64) using readline 5.1
  
  PHP: php-5.3.22.tar.gz  http://cn1.php.net/distributions/php-5.3.22.tar.gz
  
  本案例中很多组件都需要使用yum安装组件,如果你网络太慢或不能上公网,可能需要设置本地安装包镜像。如下:
  在/etc/yum.repos.d目录下,加入本地仓库的配置:
  local.repo (注意,文件名需要以.repo结尾)
  
  [centos6.3]
  name=centos6.3
  baseurl= ftp://192.168.30.33/pub/centos/6.3/x86_64/
  gpgcheck=0
  enabled=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  
  
  2.安装Mysql
  因为会用的是CentOS,所以直接使用yum安装MySql。CentOS6.3对应的版本是5.1.61。
  [iyunv@localhost ~]# yum install mysql
  ......
  安装完成后,我们试试先
  # mysql
  ……
  
  mysql> 
  如果能正常进入,则安装成功了。
  设置mysql的账户密码先:
  
  mysqladmin -u root password
  ******
  
  
  3.安装apache
  Apache的安装使用源代码方式安装,并打开动态对象共享(DSO)
  # unzip httpd-2.2.23.tar.gz
  # cd httpd-2.2.23
  # ./configure --enable-so
  ......
  # make
  # make install
  安装完成后,默认安装路径在:/usr/local/apache2
  
  4.安装PHP
  热,这就是出错问题最多的地方,呵呵。的确不会PHP,所以基本没有搭建过该环境的原因。
  
  
  # unzip php-5.3.22.tar.gz
  # cd php-5.3.22
  # ./configure --prefix=/usr/local/php --with-mysql=/usr/bin/ --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --enable-sockets
  这个配置是最重要的,反复试了多次,终于排除问题,正确了。

  • --prefix=/usr/local/php : 安装目录指定
  • --with-mysql=/usr/bin/ --with-mysqli=/usr/bin/mysql_config: 指定Mysql环境(出错最多的地方)
  • --with-apxs2=/usr/local/apache2/bin/apxs: apache关联,主要是PHP支持模块直接编译到apache的modules目录,同时修改httpd.conf配置文件,loadModule.....
  这里也可以使用下面的组合:
  # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-sockets --with-config-file-path=/usr
  
  配置这部如果中间有错误,请参加后面的错误处理。
  
  # make
  # make install
  安装完成。
  
  5.配置Apache和PHP
  
  PHP配置文件
  拷贝php的默认配置文件,本来是安装PHP之前做的,我结果放到后面做了,也关系不大。
  cp php.ini-development /usr/local/lib/php.ini
  需要修改配置文件,配置PHP可以修改该文件,我反正不会。
  
  APACHE配置文件
  
  进入httpd.conf配置文件进行配置。
  
  检查是否有:LoadModule php5_module modules/libphp5.so 。一般是有的,因为PHP编译的时候关联了apache。
  
  告知 Apache 将特定的扩展名解析成 PHP
  php结尾的文件
  
  <FilesMatch \.php$>
  SetHandler application/x-httpd-php
  </FilesMatch>
  
  php+数字结尾的文件
  <FilesMatch "\.ph(p[2-6]?|tml)$">
  SetHandler application/x-httpd-php
  </FilesMatch>
  
  phps结尾的文件已源代码方式处理
  <FilesMatch "\.phps$">
  SetHandler application/x-httpd-php-source
  </FilesMatch>
  
  
  添加目录默认文件index.php
  
  <IfModule dir_module>
  DirectoryIndex index.html index.php
  </IfModule>
  
  如果你已经上传了PHP程序,可以设置WEB服务器根目录或者使用虚拟主机方式配置,这里假设程序目录为/www , 简单设置apache的根指向该目录
  DocumentRoot "/www"
  
  
  6.测试
  打开浏览器,方式服务器IP即可。
  
  我遇到的乱七八糟的问题些:
  1、Apache的常规问题,启动和关闭的时候提示找不到ServerName什么的。
  
  问题信息:httpd: Could not reliably determine the server's fully qualified domain name
  解决方案:DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可
  
  
  2、PHP安装过程中
  问题信息:configure error xml2-config not found. please check your libxml2 installation
  
  解决方案:重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。
  [iyunv@rh-linux /]# yum install libxml2
  [iyunv@rh-linux /]# yum install libxml2-devel -y
  
  问题信息:configure: error: Cannot find MySQL header files under /usr.
  
  解决方案:在./configure 时加入参数:--with-mysql=/usr/bin/ --with-mysqli=/usr/bin/mysql_config
  
  问题信息:configure: error: Cannot find libmysqlclient under /usr.
  解决方案:问题是64位系统中 libmysqlclient 默认安装到了 /usr/lib64/mysql/ 目录下而/usr/lib 目录下没有相应文件,但是php编译时,要去 /usr/lib目录下查找。所以建个软连接即可
  ln -s /usr/lib64/mysql/libmysqlclient.so.xx.0.0 /usr/lib/libmysqlclient.so
  
  参考资料:http://www.php.net/manual/zh/install.unix.apache2.php
  over!~

运维网声明 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-179361-1-1.html 上篇帖子: ntp服务器被反射放大攻击的处理方法 下篇帖子: Linux下使用mail命令发送邮件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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