Linux 下源码搭建LAMP环境

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

 

Step0:准备工作

①将需要的所有软件包分类传到/root/目录下.

 

110202493.png

 

 

110202670.png

 

 

110202446.png

 

 

110203993.png

 

②将所有的源码包进行解压缩到指定的路径(/usr/local/src)除了phpmyadmin

tar zxvf apr-1.4.5.tar.gz -C /usr/local/src/

tar zxvf apr-util-1.3.12.tar.gz  -C /usr/local/src/

tar jxvf httpd-2.4.4.tar.bz2  -C /usr/local/src/

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz  -C /usr/local/src/

tar zxvf mysql-5.6.10.tar.gz  -C /usr/local/src/

tar jxvf php-5.4.14.tar.bz2  -C /usr/local/src/

unzip phpMyAdmin-3.5.8-all-languages.zip 

mv  phpMyAdmin-3.5.8-all-languages  phpmyadmin

cd  /usr/local/src/ 

见下图

 

110203202.png

 

 

Step1:源码编译Apache

 

Apache编译需要apr和apr-util的支持,所以需要预先编译这两个源码.

说明:APR(Apache portable Run-time libraries)Apache可移植运行库,主要为上层的应用程序提供可以跨越多操作系统平台使用的底层支持接口库。APR开发项目实际上包含了三个开发包:apr、apr-util、apr-iconv,给一个开发包分别独立开发,并分别由自己的版本。

①cd /apr-1.4.5

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

  (指定apr安装目录,更多参数参见./configure --help)

   make && make install 

②cd /apr-util-1.3.12

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

--with-apr=/usr/apr/bin/apr-1-config

(指定apr-util的安装目录以及apr的配置文件的路径)

  更多参数详见  ./configure --help 

  make && make install 

③cd /httpd-2.4.4

./configure  

   --prefix=/usr/local/apache (指定Apache的安装目录)

   --sysconfdir=/etc/httpd  (指定Apache服务的配置脚本目录)  

   --enable-so  (启用Apache的DSO动态共享对象功能)

   --enable-ssl (启用Apache的SSL/TLS功能)

   --enable-rewrite (启用地址重写功能)

   --with-apr=/usr/local/apr/bin/apr-1-config (apr配置脚本目录)     

   --with-apr-util=/usr/local/apr/bin/apu-1-config (apu配置目录)

   --with-pcre (扩展的PCRE库) 

   注:需要安装pcre包 (yum install pcre*)

   --with-z (启用压缩库)

   --enable-mpms-shared=all(自动选择MPM类型)

   make  && make install  

④编辑/etc/man.config文件,将Apache源码的man路径加入到配置中。 

 

110203458.png

 

 

⑤软连接将Apache源码的include/目录下的头文件加入到系统路径中。

 ln -s /usr/local/apache/include/   /usr/include/apache 

⑥自编写bash脚本,来完成Apache服务的start、stop、restart等操作,并且能接受chkconfig的管理。

  vim  httpd  

 

110204744.png

 

 

110205681.png

 

mv  httpd  /etc/init.d/ 

  chmod  a+x  /etc/init.d/httpd 

⑦启动Apache服务,并观察端口状态。

  service httpd  start 

  chkconfig httpd on 

  chkconfig --list | grep httpd 

 

110205289.png

 

netstat -tupln | grep 80 

 

110205899.png

 

 

Step2:源码编译MySQL

 

①源码安装编译MySQL需要的cmake工具。

  mv /usr/local/src/cmake-2.8.10.2-Linux-i386  /usr/local/cmake

  编辑/etc/profile文件,把cmake的bin路径加入到系统路径中。

 

110205635.png

 

110205841.png

 

②编译MySQL.

  cd  /usr/local/src/mysql-5.6.10/

  cmake . 

  make  && make install (估计20分钟左右)

③创建mysql组和mysql账号(系统服务账号),修改mysql目录的权限。

  useradd  -r  -g  mysql  mysql 

  cd /usr/local/mysql 

  chown  -R  mysql  .

  chgrp  -R  mysql  .

 

110206552.png

 

 以mysql的身份初始化MySQL数据库。

  scripts/mysql_install_db --user=mysql

  把mysql目录的所有者权限改回root,除了data/目录。

  chown -R root .

  chgrp -R mysql data/

 

110206536.png

 

④拷贝样例配置文件,形成MySQL的主配置文件。

  cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf

  cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

⑤ 启动MySQL服务,并观察端口状态.

  service mysqld start

  netstat  -tupln | grep 3306

 

110206194.png

 

⑥编辑/etc/profile文件,将MySQL源码的bin路径加入到环境变量中。

 

110207127.png

 

110207757.png

 

⑦编辑/etc/ld.so.conf.d/mysql.conf文件,将MySQL源码的lib路径加入系统库中。

 

110207855.png

 

ldconfig刷新库lib动态链接库。

查看有没有加载成功。

 

110207994.png

 

⑧软连接将MySQL源码的include/目录下的头文件加入到系统路径中。

  ln -s /usr/local/mysql/include/   /usr/include/mysql

 

 

Step3:源码编译PHP

 

①cd /usr/local/src/php-5.4.14/

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

   --with-apxs2=/usr/local/apache/bin/apxs

(将php编译成apache的模块,允许apache的apxx调用该模块)

  --with-mysql=/usr/local/mysql (指明mysql的安装位置) 

  --with-mysqli=/usr/local/mysql/bin/mysql_config(调用myql接口)

  -enable-mbstring=all(指定字符集)

  --with-xml

  --with-png  --with-jpeg  --with-gd  --with-zlib --with-freetype

  xml|png|zlib|jpeg|freetype是apache的一些绘图功能

  make && make install  

②编辑/etc/profile文件,将PHP源码的bin路径加入到环境变量中。

 

110207245.png

 

 

110208189.png

 

③编辑/etc/ld.so.conf.d/php.conf文件,将PHP源码的lib路径加入到系统库中。

 

110208258.png

 

ldconfig刷新库lib动态链接库。

④软连接将PHP源码的include/目录下的头文件加入到系统路径中。

  ln -s /usr/local/php/include/   /usr/include/php

⑤编辑Apache的配置文件,添加支持PHP的一些模块处理功能。

 

110208368.png

 

110208544.png

 

 

⑥service httpd restart

 

 

Step4:添加PhpMyAdmin接口,Web管理MySQL数据库.

 

①cp -r /root/PHP/phpmyadmin/   /usr/local/apache/htdocs/

②cd  /usr/local/apache/htdocs/phpmyadmin

③cp -p config.sample.inc.php  config.inc.php

④修改MySQL数据库的root管理员密码

  mysqladmin  -u  root  -p  password ‘123456’

  Enter password:(原密码为空----回车)

【环境测试】

浏览器输入基于物理目录的地址来Web管理MySQL数据库.

http://ApacheServerIP/phpmyadmin

 (账号:root;密码:123456)

 

110209500.png

 

 

110210622.png

 

 

END ! ! ! 

 

 






     本文转自Tar0 51CTO博客,原文链接:http://blog.51cto.com/tar0cissp/1282655,如需转载请自行联系原作者



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
21天前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
23 0
|
1月前
|
存储 缓存 Linux
如何在Linux环境下对pip的缓存地址进行修改
如何在Linux环境下对pip的缓存地址进行修改
|
1月前
|
NoSQL Linux 开发工具
【Linux】环境基础开发工具的使用之gdb详解(三)
【Linux】环境基础开发工具的使用之gdb详解(三)
|
1月前
|
Linux 编译器 开发工具
【Linux】环境基础开发工具的使用之gcc详解(二)
【Linux】环境基础开发工具的使用之gcc详解(二)
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
24 6
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
21天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0
|
23天前
|
Java Linux
linux安装jdk环境
linux安装jdk环境
28 0
|
1月前
|
NoSQL 编译器 Linux
linux交叉编译环境的配置
linux交叉编译环境的配置
21 0
|
1月前
|
缓存 Linux 开发工具
【Linux】环境基础开发工具的使用(一)
【Linux】环境基础开发工具的使用(一)