博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wdOS系统下源码编译安装LAMP环境(linux+apache+php+mysql)
阅读量:5749 次
发布时间:2019-06-18

本文共 5353 字,大约阅读时间需要 17 分钟。

hot3.png

一.关wdOS系统以及LAMP环境的介绍:

  是一个基于CentOS的精简版Linux系统,是针对web服务器应用的优化和精简,主要是去除了大部分不常用软件包,筛选了系统基本包和web应用基础包,并进行了更新和优化.同时增加一些较常用的工具包,iptraf,nmap,sysstat,strace,tcpdump,curl,便于日常维护中使用和排错,同时,还可以集成功能强大的服务器及虚拟主机管理系统wdcp等。

 LAMP 指的 ()、 HTTP 服务器,  () 和 (有时也是指Perl 或 Python) 的第一个字母,一般用来建立的web 服务器。使用LAMP软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

本文这里介绍的是在wdOS的纯系统中源码编译安装LAMP环境,最后提一下译安装顺序问题:应该先安装apache,然后安装mysql,最后安装php,因为php的编译会用到apache的apxs模块以及mysql的部分否则就需要多次编译安装php,这样会很麻烦。

二.安装过程:

  第一步:安装前准备工作

创建存放源代码的目录: mkdir    /usr/local/src 

创建apache的安装目录: mkdir   /usr/local/apache

创建php的安装目录:    mkdir   /usr/local/php

创建mysql的安装目录:   mkdir  /usr/local/mysql

第二步:准备安装apache (与前面文档中apache的安装过程一样)

1.先下载apache源代码到目录/usr/local/src下:(我这里下载的apache版本为2.2.22

 wget -c     

网速不稳定的情况下建议你在wget后面加个参数c

下载完成之后开始解压缩:(这里给出部分截图)

tar -zxvf  httpd-2.2.22.tar.gz

进入解压缩后的httpd-2.2.22这个目录下,设定编译时的参数:

./configure --prefix=/usr/local/apache    ----apache安装在这个目录下

--enable-vhost-alias                  ----支持虚拟主机的功能

--enable-rewrite                     -----允许重写

--enable-info 

开始进行编译:make

编译完进行安装 :make install

在当前目录下,复制apache初始化文件到/etc/init.d目录下,并命名为httpd,修改其权限:

cp  build/rpm/httpd.init /etc/init.d/httpd 

设置Apache开机自启动:(我这里使用的是方法一)

方法一:输入下列命令:

chconfig --add httpd

chkconfig -- level 345 httpd on 

方法二:

 编辑 vi  /etc/init.d/httpd

找到 chkconfig:这句,添加3 4 5

找到description: 这句,添加Apache  httpd

设置完之后你可以输入 chkconfig --list | grep httpd   检查一下3,4,5是否为on

修改apache服务器的配置文件

  vi /usr/local/apache/conf/httpd.conf找到ServerName那一行,去掉前面的注释 

为了适应启动脚本,我们创建一些符号链接:

重启一下apache服务器:

/etc/init.d/httpd start 

第三步: 源码安装mysql5.5.25a

mysql数据库添加用户和用户组:(我这里假设为mysql用户以及mysql用户组

 安装mysql之前先检查系统是否安装了编译mysql所需要的工具包gcc gcc-c++ ncurses-develcamkemysql5.5版本后不使用configure安装,而是使用cmake来安装)

我们使用rpm -qa | grep  gcc  和rpm -qa | grep  ncurses-devel进行检查:

也就是说,wdOS系统中还没有安装 ncurses-devel ,所以我们可以使用yum命令进行安装

下载cmake源代码到/usr/local/src下:

wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz 

解压缩:tar zxvf cmake-2.8.4.tar.gz

进入/usr/local/src/cmake-2.8.4这个目录下设置,

./bootstrap

gamke

gmake install

下载mysql源代码:

wget  -c  

tar xvf mysql-5.5.25a.tar.gz  进行解压缩:

 设置编译时的环境参数:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  -----指定mysql的安装目录

编译  make

安装: make install

在当前目录下,建立配置文件:

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

说明:在展开的源码包目录中的“support-files”文件夹下,提供了多个MySQL服务器的配置文件,分别适用于不同负载的数据库服务器,一般选择my-medium.cnf文件即可,该配置文件适用于中等负载的数据库,可以满足大多数企业的应有需求。

设置软连接使mysqlmysqladminbin命令能在shell中直接运行:

创建用于存放mysql数据和日志的目录,并修改目录所有者和属组为mysql:

现在到/etc/my.cnf配置文件下,做下面的修改:

进入mysql安装目录下的脚本目录下的脚本目录:/tmp/mysql-5.5.25a/scripts 

 先修改mysql_install_db这个文件的权限:

然后,利用mysql_install_db脚本生成新的mysql授权表

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data &

添加启动脚本:

 cp /usr/local/src/mysql-5.5.25a/support-files/mysql.server  /etc/rc.d/init.d/mysqld

修改启动脚本:添加basedir以及datadir的路径:

修改启动脚本的权限:

启动数据库:

检查数据库的默认侦听端口 3306是否开启:

步: 源码安装php5.3.10

 yum -y install libevent libevent-devel libxml2 libxml2-devel libmcrypt libmcrypt-devel libmcrypt libmcrypt-devel curl-devel libpng-devel libtool-ltdl-devel  (这是php编译所需的包)

  同样的,先把源代码下载到/usr/local/src这个目录下:(我这里下载的是php版本为5.3.10

wget 

下载完成进行解压缩:tar zxvf php-5.3.10.tar.gz

压缩完成后,进入到php-5.3.10 这个目录下配置编译时的参数:(注意:with enable前面是两个,另外你可以根据需要来添加所需的编译参数

./configure --prefix=/usr/local/php           --指定php安装目录

--with-apxs2=/usr/local/apache/bin/apxs    --指定Apache服务器提供的apxs模块支持程序的文件位置 

 --with-config-file-path=/usr/local/php/etc    ---指定php配置文件的目录

 --with-mysql=/usr/local/mysql             ----:设置MySQL服务器程序的安装目录

--with-apxs2=/usr/local/apache/bin/apxs     --指定Apache服务器提供的apxs模块支持程序的文件位置 

--enable-mbstring     ----设置php支持多字节字符串

--with-iconv-dir=/usr/local/libiconv 

--enable-xml 

--with-curl 

--with-curlwrappers  

--with-mhash  

--with-mcrypt 

 --with-gd    

 --enable-gd-native-ttf 

 --with-xmlrpc 

 –with-zlib 

 如果没有意外,你会看到 Thank you for using php 这样的字样

下面就可以进行编译了:make 成功的话你会看到build complete这样的字样

编译完成后就可以进行安装了:make  install

安装完成后把/usr/local/src/php-5.3.10这个目录下的php.ini-development复制到/usr/local/lib/这个目录下,并重命名为php.iniphp.ini文件为php的初始化文件,我这里不作设置

(备注:php5.0版本之后文件的名字发生了改变,其中php.ini-production对应于php.ini-recommended;而php.ini-development对应于php.ini-dist php.ini-dist 适合开发程式使用(也就是测试使用), php.ini-recommended 拥有较高的安全性设定,适合上线当产品使用

第四步: 整合apachephp

为了让Apache能够直接解析php,我们还要进行一些配置 :

首先进入apache的配置文件目录vi /usr/local/apache/conf/httpd.conf 在之后添加:AddType application/x-httpd-php .php (在apache服务器中添加对php类型的网页文件的识别 )

然后,在LoadMoudule下面手动添加这句:

LoadModule php5_module modules/libphp5.so  

LoadModule配置项可以加载PHP程序对应的模块,让apache服务器支持PHP页面解析功能。少了这句在测试的时候可能会提示下载这个php页面

最后就是在/usr/local/apache/htdocs这个目录下,新建一个文件(我这里命令为test.php),在这个文件内写入测试php的代码 

<?php                  

phpinfo(); 

?>

完成后,重启apache服务器: service httpd  restart 

三.测试结果:

1.还没安装php5.3.10之前,针对apache服务器的测试:

  在本地浏览器输入http://(虚拟机的ip地址),我这里就输入http// 192.168.1.102,回车就会看到这个测试页面:

2.apache整合php之后,重新在浏览器输入  你就可以看到经典的php测试页面:

3.安装好mysql之后,刷新原来的php测试页面:会看到增加了mysql功能模块:

 另外,为了验证php是否能和mysql协同工作,我们在/usr/local/apache/hotdocs这个目录下的php的测试文件(test.php)中加入简单的mysql数据库连接测试语句:

保存该文件退出,重启apache服务器,刷新之前的测试页面你会看到成功连接数据库的提示:

四.可能会遇到的问题的解决方案:

1.在编译php时,出现 undefined reference to `php_ob_gzhandler_check'这样的错误提示:

解决的方法为: cd /usr/local/进入这个目录下添加一个新目录  mkdir  libiconv

下载源代码:

wget -c  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

解压缩该libiconv压缩包 tar -zvxf libiconv-1.13.1.tar.gz

由当前目录cd 进入libiconv-1.13.1目录 ,配置编译时的参数:

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

之后就是make make install编译安装,完成后回到原来php编译前在configure参数后面添加–with-zlib 重新编译即可

转载于:https://my.oschina.net/shendingding/blog/71112

你可能感兴趣的文章
GCD Tips
查看>>
【本人秃顶程序员】求求你别用SimpleDateFormat了!
查看>>
鲜为人知的JavaScript功能
查看>>
python机器学习实战(三)
查看>>
C# 查看ICollection的count属性的代码
查看>>
vue + any-touch实现一个iscroll ? - (1) 实现拖拽和滑动动画
查看>>
(node gyp rebuild 2 builderror log) 卡住
查看>>
一个测试的随笔
查看>>
使用树莓派进行24小时视频直播
查看>>
初识React:仿网易公开课(react+antd)
查看>>
职业发展之创业的基本条件(更新ing)
查看>>
面试思考总结
查看>>
Python学习教程(Python学习视频_Python学习教程_Python学习路线):学完Python基础语法后如何进一步提高?...
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis (八)消息总线(Spring Cloud Bus)
查看>>
Java B2B2C o2o多用户商城 springcloud架构-docker-feign(四)
查看>>
企业分布式微服务云架构技术分享 Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务...
查看>>
rhel6.8安装elasticsearch-6.1.3.tar.gz遇到的问题以及集群配置
查看>>
文本文件命令(wc,cut,sort,uniq)及常用参数
查看>>
IIS默认网站密码解决办法
查看>>
23. PowerShell -- 定义文本,密码和用户交互处理
查看>>