准备环境

1.设置网卡:IP地址,网关,dns。
2.看情况设置自己的yum本地源或者网络源
3.关闭所有防护,防火墙与selinux
4.安装gcc* 和make工具
5.下载lamp环境源码包与依赖关系包
下载地址:
Apache:http://httpd.apache.org/download.cgi
APR、APR-util: http://apr.apache.org/download.cgi
PCRE:https://sourceforge.net/projects/pcre/files/pcre/
Mysql:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
PHP:http://php.net/downloads.php
6.lamp相关依赖包包括软件包:
链接:https://pan.baidu.com/s/1YbZ5EKq2brnAIT0JB8tAKQ
提取码:1111
7.将lamp环境源码包通过远程工具上传到/lmp/目录下(自己创建lmp文件夹)

安装配置:

以下操作都在lmp目录下
1.编写解压缩shell脚本:

vim tar.shcd /lmp/bin/ls *.tar.gz > ls.list for TAR in `cat ls.list`do      /bin/tar -xf $TARdone    /bin/rm ls.list

2.执行脚本解压缩bash tar.sh

3.包装软件能够正常安装,空间不足会导致软件安装失败:df -h

编译安装

1.安装libxm12,这是一个xml c语言版的解析器

libxm12依赖软件包:`yum -y install libxml2-devel python-devel`
检查依赖关系并指定安装目录:`./configure --prefix=/usr/local/libxm12`
检查上条命令是否运行成功:echo $? 返回0为成功其他为失败
编译为二进制文件:make
安装libxm12:make install

2.安装libmcrypt,这是一个加密算法扩展库
指定目录并编译安装:

./configure --prefix=/usr/local/libmcrypt/ && make && make install

安装libltdl:也在libmcrypt源码目录里,非新软件:

cd libltdl/./configure --enable-ltdl-install && make && make install

3.安装mhash,这是一个基于离散数学原理的不可逆向的加密支持库

cd mhash-0.9.9.9./configure && make && make install

4.安装mcrypt,mcrypt时php里面重要的加密支持扩展库。

cd mcrypt-2.6.8声明LD_LIBRARY_PATH用于指定libmcrypt和mhash的库的位置
export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib./configure --with-libmcrypt-prefix=/usr/local/libmcrypt && make && make install

5.安装zlib,zlib是提供数据压缩用的函数库

cd zlib-1.2.3./configure后会生成一个Makefile文件64位系统需要修改配置vim Makefile
CFLAGS=-O3 -DUSE_MMAP后加入-fPICmake && make install

6.安装libpng,libpng软件包含libpng库,这些库被其他程式用于解码png图片

./configure  --prefix=/usr/local/libpng && make && make install

7.安装jpeg6,jpeg6提供用于解码.jpg和jpeg的文件

mkdir -p /usr/local/jpeg6
mkdir -p /usr/local/jpeg6/bin
mkdir -p /usr/local/jpeg6/lib
mkdir -p /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
此软件默认不会自动创建所需目录,所以必须手动创建
yum -y install libtool
64版本问题需要安装libtool并从里面拷贝文件给jpeg6cp -a /usr/share/libtool/config/config.sub .
cp -a /usr/share/libtool/config/config.guess .
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static && make && make install

8.安装freetype,这是一个完全免费且高质量可移植的字体引擎

./configure --prefix=/usr/local/freetype && make && make install

9.安装Apache
1.源码包2.4版本中默认没有继承apr的依赖包,所以需要提前解决依赖问题

 cp -a /lmp/LAMP/apr-1.4.6 /lmp/LAMP/httpd-2.4.7/srclib/aprcp -a /lmp/LAMP/apr-util-1.4.1  /lmp/LAMP/httpd-2.4.7/srclib/apr-util

2.Apache默认需要依赖pcre软件,但由于Apach版本比较高,则系统预先安装的pcre无法使用,所以需要认为手动安装合适版本

cd pcre-8.34./configure && make && make install

3.Apache的加密传输模块mod_ssl,则需要安装此软件

yum install openssl-devel

4.httpd软件安装

cd 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 --enable-sslmake make install

10.测试Apache服务

启动服务:/usr/local/apache2/bin/apachectl start如果出现httpd: Could not reliably determine the server’s fully qualified domain name错误则需要找到httpd的配置文件将下列配置修改
`ServerName www.example.com:80修改成ServerName localhost:80`

使用服务器的IP测试连通就算成功

11.安装ncurses,提供字符终端处理库,包括面板和菜单。

yum -y install ncurses-devel./configure --with-shared --without-debug --without-ada --enable-overwrite && make && make install若不安装ncurses编译MySQL时就会报错

12.安装cmake和bison,MySQL在5.5以后就使用cmake工具进行编译安装,bison是一个自由软件,用于自动生成语法分析器程序

yum -y install cmake bison

13.安装MySQL

cd mysql-5.5.48useradd -r -s /sbin/nologin mysql
为mysql软件创建运行用户,创建为系统用户,并限制此用户登录操作系统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 -DEABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306makemake install

MySQL安装后需要调整相应的配置文件和参数才能正常运行
1.修改MySQL目录的用户专属

cd /usr/local/mysql/
chown -R root .
chown -R mysql data

2.生成配置文件,并初始化授权表

cp -a /lmp/LAMP/mysql-5.5.48/support-files/my-medium.cnf /etc/my.cnf
复制MySQL配置文件到指定位置,覆盖掉系统自带文件cd /usr/local/mysql./scripts/mysql_install_db --user=mysql创建数据库授权表,初始化数据库,相当于安装完操作系统后的引导设置

3.启动mysql服务
用原本源代码的方式去使用和启动mysql

  /usr/local/mysql/bin/mysqld_safe --user=mysql &

4.设定MySQL的密码

/usr/local/mysql/bin/mysqladmin -uroot password 123456

5.登录MySQL

/usr/local/mysql/bin/mysql -u root -p
show databases;
exit;

14.安装php
解决依赖关系:

 yum install libjpeg-develyum install libpng-devel

安装php
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxm12/ --with-jpeg-dir=/usr/local/freetype/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-png-dir=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql/ --with-gd --without-pear

make

make install

php优化
1.生成配置文件

mkdir /usr/local/php/etccp /lmp/LAMP/php-7.0.7/php.ini-production /usr/local/php/etc/php.ini

2.修改apache配置软件,使其识别*.php文件,并且能通过php模块调用php进行页面解析

 vim /usr/local/apache2/etc/httpd.conf
/AddT 寻找AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

`重启apache服务``

/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start

测试php服务是否能正常解析

vim /usr/local/apache2/htdocs/test.php
<?phpphpinfo();
?>通过浏览器输入地址访问:http://Apache服务器地址/test.php

15.为PHP安装openssl模块

cd php-7.0.7/ext/openssl/
mv config0.m4 config.m4
/usr/local/php/phpize./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config && make && make install

16.为php安装memcahe模块

cd /lmp/LAMP/pecl-memcache-php7/usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install

17.修改php配置文件,使其识别并调用openssl和memecache两个模块

vi /usr/local/php/etc/php.ini extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
模块安装命令的结果
extension="openssl.so";
extension="memcache.sp";
添加以上两个库文件的调用
重启apache,刷新phpinfo页面,并查看是否有两个新增的模块

18.安装memcached服务

yum -y install libevent-develcd memcached-1.4.17./configure --prefix=/usr/local/memcache && make && make install

创建memcache用户,不能登录主机不设置密码
useradd -r -s /sbin/nologin memcache
启动memcache用户,并在后台运行
/usr/local/memcache/bin/memcached -umemcache &
监听11211端口
netstat -an |grep 11211

19.安装phpMyadmin

cp -a /lmp/LAMP/phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmincd /usr/local/apache2/htdocs/phpmyadmin/cp -a config.sample.inc.php config.inc.phpvim config.inc.php
增加:$cfg['Servers'][$i]['auth_type'] = 'http';
设置auth_type为http,即设置为HTTP身份认证模式
通过浏览器输入地址访问:http://IP地址/phpmyadmin/index.php

20.设置Apache、MySQL、Memcache开机自启
借助系统自带脚本/etc/rc.local,此脚本开机后会自动加载,我们可以将源码安装的服务启动命令写入该脚本,间接实现开机自启动

/usr/local/apache2/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &
/usr/local/memcache/bin/memcached -umemcache &

21.项目迁移
1.把php项目拷贝到网站默认目录下:/usr/local/apache2/htdocs/**

wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gzcp -r build/ /usr/local/apache2/htdocs/blogsetfacl -R -m u:daemon:rwx /usr/local/apache2/htdocs/blog/
赋予用户对apache可读写改的权限

2.使用phpmyadmin创建网站所需数据库

LAMP环境源码搭建相关推荐

  1. Centos6.5 LAMP环境源码包安装与配置,附安装包百度网盘地址

    Centos6.5 LAMP环境源码包安装与配置 http://pan.baidu.com/s/1nvNruzv 安装包百度网盘地址 LAMP是一种web网络应用和开发环境,是linux,Apache ...

  2. Centos7 LAMP服务源码搭建

    前言: 记录一下源码安装LAMP服务的过程 准备工作 安装编译环境 yum -y install gcc* 关闭防火墙\SELinux iptables -F setenforce 0 加载软件包镜像 ...

  3. LAMP/LNMP源码搭建(rockylinux8.6+php7.4.32+mysql8.0.30)

     序号 主机 系统 作用 备注 1 stu:192.168.3.81 rockylinux8.6最小化安装 LAMP 2 stu:192.168.3.82 rockylinux8.6最小化安装 LNM ...

  4. PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)

    原文首发于微信公众号「3D视觉工坊」:PCL-1.8.1从源码搭建开发环境三(QHULL库的编译) 首先,介绍一下QHull库. QHull是一个开源的程序软件,用来研究解决凸包问题,生成凸包形体.官 ...

  5. PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)

    原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...

  6. CentOS 6.7 源码搭建LNMP架构部署动态网站环境

    源码搭建LNMP架构部署动态网站环境 Nginx 简介 Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性.丰富的功能以及占用较少的系统资源等独特特性. Nginx (& ...

  7. 源码搭建Lump环境

    CentOS6.3+Apache2.2+php5.3.8+Mysql5.5.4源码搭建Lump环境 CentOS6.3 Apache2.2 php5.3.8 Mysql5.5.4 一.系统环境 虚拟机 ...

  8. LAMP环境部署及搭建网校系统

    LAMP环境部署-本地搭建edusoho网校系统: 一.LAMP介绍 二.项目环境 三.环境清理及准备 四.LAMP环境部署 五.服务配置 六.导入edusoho网站源码 七.网站安装向导 一.LAM ...

  9. 神兽大厅源码搭建SLB最佳实践

    一.SLB概念 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务. ...

最新文章

  1. 暴雪游戏遭遇AI“实力”坑队友:四处游走,还不参与战斗
  2. 科技互联网公司越来越重视数学了,贾扬清等大牛如是说!
  3. python只能运行一次怎么改_是否可以修改和运行部分Python程序而无需一次又一次地运行所有这些程序?...
  4. 减少资源消耗方法之一:减少状态图片
  5. java 铺地板问题_铺木地板的5大注意事项,我家接连踩坑接近“崩溃”,大家别再犯...
  6. AUTOSAR从入门到精通100讲(118)-深度解析自动驾驶主流芯片及平台架构
  7. python描述符详解_Python描述符 (descriptor) 详解
  8. Python:__all__变量用法
  9. [转载] Python语言程序设计基础(第二版)嵩天等课后习题答案
  10. android获取某应用的帧数据
  11. Oracle标准建表语句
  12. 10款在线检查英语语法的网站
  13. Scrum板与Kanban如何抉择?nzhfnupjr板与按照rrwpjf
  14. Maya模型制作与场景建模
  15. java swing choice_Java-GUI基础(三)java.swing
  16. 人工智能的落地及未来的发展
  17. TCP协议全面实验分析详解
  18. 伸缩式起重机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. ip-guard如果服务器 IP 地址或机器名变更之后对客户端或控制台会有影响吗?
  20. shell脚本编程for循环求阶乘_shell脚本循环及函数

热门文章

  1. Quartus II开发软件中的宏模块 (转摘)
  2. Android 为底部Tab BottomNavigationView 添加未读数目
  3. 摄像头编码模式定码率CBR和变码率VBR有什么区别
  4. 《Real-Time Rendering 4th Edition》读书笔记--简单粗糙翻译 第七章 阴影 Shadows
  5. sql的不包含与包含
  6. 千人千面 ,得到标签 ,优化标签,定位精准客户
  7. 赚流量不赚钱、高退出低留存,水滴的资本故事还能怎样讲?
  8. 【K210】Maixpy 人脸识别
  9. 自己怎么做引流推广?利用QQ群截流日引流量100
  10. python+mysql+基于python的学生成绩管理系统 毕业设计-附源码071143