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

[经验分享] lamp(linux+apache+mysql+php)之源码环境搭建

[复制链接]

尚未签到

发表于 2018-11-23 13:24:25 | 显示全部楼层 |阅读模式
lamp之源码环境搭建

简介:

目前网络上流行的网站架构方式 是LAMPlinux + apache+mysql+php/perl/phthon,

即用linux作为操作系统,apache作为服务器,mysql作为数据库,php /perl/phthon作为脚本语言,这四个软件都是免费的或开放源码软件,因此使用这种方式不用花一分钱(出人公开法外)就可以建设稳定的、免费的网站系统,所以深受欢迎。

源码安装的好处

服务器可以使用更新的的版本

服务器性能更稳定

可以自定义参数


搭建环境:


Linux系统:rhel 5.4


Apache 的可移植运行库apr-util-1.5.1.tar.gz

apr-1.4.6.tar.gz

Apache 服务器:采用源代码版本是httpd-2.4.4.tar.bz2

Mysql 服务器:采用二进制版本是mysql-5.5.15-linux2.6-i686.tar.gz

Php :采用源码版本是php-5.3.7.tar.bz2


安装过程:


1先安装

Apache 的可移植运行库

apr-1.4.6.tar.gz

apr-util-1.5.1.tar.gz

先解压到/usr/local/src/目录下

切换到/usr/local/src/目录下的apr-1.4.6.tar.gz目录下面

执行configure文件  指明安装目录--prefix

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

Make

Make install

apr目录下形成一些可执行文件头文件库文件存放的目录

DSC0000.png


进入到bin目录有形成一个工具

apr-1-config

切换到lib目录下面,有apr的库文件,要想让系统调用库文件,需要库文件加载到缓存文件里面缓存文件是ld.so.cache,在/etc/ld.so.conf.d目录下面创建一个任意以.conf格式结尾的文件比如说apr.conf内容指明库文件所在的目录

DSC0001.png

Ldconfig  刷新缓存文件查看缓存文件有关apr的库文件是否加载到缓存文件中


DSC0002.png


头文件所在的目录是 /usr/local/apr/include/ 下,但是系统找不到,系统可以找到/usr/include/目录下的文件    /usr/local/include/目录下的文件,所以要对include 目录创建符号链接 链接文件是/usr/include/apr


DSC0003.png


安装apache的另一个可移植性库软件apr-util,安装过程与第一个完全相同

执行configure文件  指明安装目录--prefix  指明apr工具所在的目录--with-apr

./configure  --prefix=/usr/local/apr-util     --with-apr=/usr/local/apr/bin/apr-1-config


DSC0004.png

Make

Make install


进入到bin目录有形成一个工具

apu-1-config


切换到lib目录下面,有apr的库文件,要想让系统调用库文件,需要库文件加载到缓存文件里面缓存文件是ld.so.cache,在/etc/ld.so.conf.d目录下面创建一个任意以.conf格式结尾的文件比如说apr-util.conf内容指明库文件所在的目录


DSC0005.png



Ldconfig  刷新缓存文件查看缓存文件有关apr-util的库文件是否加载到缓存文件中

DSC0006.png


头文件所在的目录是 /usr/local/apr/include/ 下,但是系统找不到,系统可以找到/usr/include/目录下的文件    /usr/local/include/目录下的文件,所以要对include 目录创建符号链接 链接文件是/usr/include/apr-util

DSC0007.png

2:安装apache服务器的httpd 2.4.4


先解压 然后把解压的目录移动到/usr/local/src/目录下

切换到/usr/local/src/目录下

进入到httpd-2.4.4目录查看文件和目录

DSC0008.png

打开INSTALL 文件查看安装的过程


DSC0009.png


执行configure文件--prefix =prefix 指明安装的路径,

DSC00010.png


Make

Make  install


切换到/usr/local/apache 目录下

形成很多目录bin/目录存放普通用户可执行的二进制文件或程序,

Include存放头文件

Logs 存放日志文件

Man 存放手册

Modules 存放额外安装的模块


给头文件做符号链接

Ln -s /usr/local/apache/include     /usr/include /apache


添加一条环境变量使bin/目录下的程序在任何路径下都可以执行

/etc/init.d/目录下编辑apache的开机启动控制脚本

定义三个变量lockfile指明锁文件的位置prog指明服务程序的位置configfile指明配置文件的位置

DSC00011.png

DSC00012.png


添加httpd服务到chkconfig,httpd服务在某种登录级别下,开机默认为onoff

需要在控制脚本httpd添加描述语句才可以接受chkconfig管理



DSC00013.png

DSC00014.png

测试一下apache服务器是否成功,能够访问到站点主目录下的apache自带的一个网页,说明apache安装成功


3:安装mysql服务器二进制版本

mysql-5.5.15-linux2.6-i686

mysql源码5.2版本安装好之后,需要安装c-make 工具,c-makephp连接数据库的应用程序,mysql源码安装过程./configure --with-prefix   需要指明安装路径等参数make  make install比较浪费时间大概需要一个小时,而二进制安装方法,只需要解压压缩文件,就会形成相应的目录,不需要编译只需要一些相应的基础命令,节约时间大概需要十分钟。

二进制安装的一些基本命令

DSC00015.png


创建符号链接 连接名为mysql 修改mysql 目录下的文件或目录的拥有者和所属组

DSC00016.png




执行/scripts/目录下的mysql_install_db 这个脚本来安装mysql服务器自带的数据库和表

自动执行mysql下的bin目录下的myadmin 命令创建password和主机名。

DSC00017.png


mysql目录下的文件或目录的拥有者修改过来,拥有者改为管理员,mysql这个用户要对data目录的拥有操作的权限,所以date的拥有者还是mysql

DSC00018.png

可选项  安装bin目录下的mysql_safe程序用于保护data目录下的数据


DSC00019.png

拷贝mysql的服务脚本到init.d目录下 名称是mysqld

DSC00020.png

设置环境变量使../mysql/bin 目录下的普通用户可执行的二进制的文件或程序,/sbin目录下的只有管理员才可以执行的二进制的文件或程序,在任何路径下都可以执行。

在环境变量$PATH后面添加路径

DSC00021.png

执行/etc/profile 文件,刷新系统环境变量文件,查看$path



/etc/man.conf 文件里添加mysql 的手册 ,手册路径是/usr/local/src/mysql/man

DSC00022.png


给头文件include 做符号链接,连接到/usr/include/mysql

DSC00023.png

切换到lib目录下面,有库文件,要想让系统调用库文件,需要库文件加载到缓存文件里面缓存文件是ld.so.cache,在/etc/ld.so.conf.d目录下面创建一个任意以.conf格式结尾的文件比如说mysql.conf,内容指明库文件所在的目录。

DSC00024.png



拷贝mysql的服务脚本,拷贝到init.d目录下,系统启动时可以运行此脚本。


chkconfig命令管理mysql

chkconfig主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

DSC00025.png




DSC00026.png


查看databasemysql服务器在安装时会自动生成四个数据库,你可以使用数据库也可以新建数据库,创建表格,查询数据库等操作。

DSC00027.png

进入mysql数据库,查看表格show tables;


DSC00028.png


安装好之后下面是php-5.3.7.tar.bz2源码的安装

步骤跟apache服务器差不多,先解压到/usr/local/src目录下 ,进入到目录里

执行./configure

Apache2.4之前的版本是通过调用php模块来实现php动态页面的apxs是在安装php时生成动态连接模块的工具,所以在安装php时要指明apxs的位置


apache2.4以后的版本 ,apache服务器与php的连接是通过fastCGI,Fast CGI  HTTP服务器与你的或其它机器上的程序进行交谈的一种工具,其程序须运行在网络服务器,比如apache服务器。它的运行服务程序是php-fpmPHP-fpm 是 一个 PHP FastCGI 进程管理器Php-fpm可以和任何支持远端fastCGIweb server工作。


DSC00029.png

  make  

  make install

切换到/usr/local/php目录下生成相应的目录

DSC00030.png

进入到lib目录和include目录里面没有动态库文件和头文件,所以不需要刷新缓存文件加载库文件,也不需要创建符号链接。

DSC00031.png


为了在任何路径下面都可以执行bin目录下的工具,打开/etc/profile 文件

在环境变量$PATH后面添加路径/usr/local/php/bin

然后执行. /etc/profile  文件

DSC00032.png


打开httpd的配置文件,在目录索引中把php网页放在最前面,apache服务器优先解析php页面,然后打开/usr/local/src/php-5.3.7/INSTALL php的安装引导文件复制AddType application/x-httpd-php .php .phtml语句到httpd.conf中,表明apache服务器可以解析以.Php  .phtml 结尾的页面。


DSC00033.png

到这里我们的lamp环境已经搭建好了,测试环境是否搭建成功呢?测试apachephp之间的连接,phpmysql数据库的连接

Apache服务器的默认站点主目录是/usr/local/apache/htdocs

测试apachephp之间的连接

在这个目录下面创建index.php页面



DSC00034.png

DSC00035.png



测试phpmysql数据库的连接,只需要在index.php页面中加入连接数据库的连接函数,查看函数的返回信息,就可以确定是否连接成功。

重启mysql服务

DSC00036.png

关闭mysql服务,出现警告信息,并输出failed

DSC00037.png

到这里说明我们的lamp 环境应经彻底的搭建完成。
























运维网声明 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-638717-1-1.html 上篇帖子: apache启动提示Document root must be a directory 下篇帖子: 使用AWStats分析Nginx和Apache日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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