LAMP源码编译
---恢复内容开始---
1、LAMP源码编译的基础环境
安装组建包:yum groupinstall "Development Tools" "Development Libraries" -y
安装编译包:yum install gcc gcc-c++ openssl-devel -y
下载源码包:
apr-1.6.3.tar.gz
mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
apr-util-1.6.1.tar.bz2
pcre-8.41.tar.bz2
httpd-2.4.29.tar.bz2
php-7.1.11.tar.bz2
2、编译安装(按顺序安装)
- tar xf apr-1.6.3.tar.gz -C /usr/local/src/
tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/
- tar xf pcre-8.41.tar.bz2 -C /usr/local/src/
cd /usr/local/src/
- 安装apr
cd apr-1.6.3/
./configure --prefix=/usr/local/apr //检查环境并指定安装目录
make -j 2 //让几个cpu同时运行,这里是2,加快速度
make install //安装
echo $? //检查是否正常,返回结果为0则正常
//安装apr-util
cd ../apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make -j 2 && make install
//检测时指定apr的目录,一天命令完成安装
- 安装pcre
cd ../pcre-8.41/
./configure --prefix=/usr/local/pcre && make && make install
- 安装httpd
tar xf httpd-2.4.29.tar.bz2 -C /usr/local/src/ //解压安装包
cd /usr/local/src/httpd-2.4.29
在安装包目录下 vim include/ap_release.h . (优化)
搜索:BASEVENDOR 修改其八项隐藏curl -I http://地址 中的Server内容
./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
//--enable是启用一些模块,可选。--with为必须参数
make -j 2
make install
cp /usr/local/apache2.4/bin/apachectl /etc/init.d/apache2.4
//将启动文件脚本复制到系统启动目录里面命名为aqache2.4
vim /etc/init.d/apache2.4 //修改配置文件
#chkconfig:2345 64 36 //添加,启动级别
# description: Apache2.4.29 start script //描述性信息
:wq
/etc/init.d/apache2.4 start //启动 显示的不是报错信息,是域名没有改的提醒
vim /usr/local/apache2.4/conf/httpd.conf //修改域名
//搜索ServerName
#ServerName www.example.com:80 改为 ServerName 127.0.0.1:80
:wq
ps aux|grep apache //查看进程
useradd -M -s /sbin/nologin apache //为apache创建一个用户
vim /usr/local/apache2.4/conf/httpd.conf //修改配置文件
User daemon 改为 User apache
Group daemon 改为 Group apache
chown -R apache.apache /usr/local/apache2.4/ //修改目录组权限,有root改为apache
/etc/init.d/apache2.4 restart //重启apache
- 安装mysql
tar xf mysql-5.6.26.tar.gz -C /usr/local/src/ //解压
cd /usr/local/src/
id mysql //查看有没有mysql用户
useradd -M -s /sbin/nologin mysql //创建mysql用户
yum install cmake ncurses-devel -y //安装必备依赖包
yum remove mysql* -y
yum remove mysql -y //删除所有与mysql相关的东西,确保系统干净
//编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/home/alex/Downloads/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
cmake 编译选项含意:
| -DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
| -DMYSQL_UNIX_ADDR=file_name | 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
| -DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。 缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
| -DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
| -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
| -DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
| -DMYSQL_TCP_PORT=port_num | 设置mysql服务器监听端口,默认为3306 |
| -DENABLE_DOWNLOADS=bool | 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
//安装
make -j 2 && make install
chown -R mysql.mysql /usr/local/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 //复制启动脚本并重命名为mysqld
vim /etc/init.d/mysqld //修改启动脚本配置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
:wq
chkconfig mysqld on //加入开机自启动
//mysql初始化
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
ln -sv /usr/local/mysql/bin/* /bin/ //创建软连接,将mysql的命令放到/bin/目录下
/etc/init.d/mysqld start //启动mysql
ps aux|grep mysql //查看进程
mysql_secure_installation //安全初始化
mysql -u root -p //登录
- 安装PHP
yum install libxml2-devel -y //安装依赖组建包
tar xf php-7.1.11.tar.bz2 -C /usr/local/src/ //解压
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php //编译
make -j 2 && make install //安装
cp php.ini-production /usr/local/php/php.ini //复制配置文件重命名为php.ini
ll /usr/local/apache2.4/modules/libphp7.so
ll /usr/local/apache2.4/modules/httpd.exp //查看apanhe是否支持php,若有这个文件则支持
vim /usr/local/apache2.4/conf/httpd.conf //修改apache配置文件支持php
<IfModule dir_module>
DirectoryIndex index.html index.php index.htm
</IfMod>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-source .phps
:wq
vim /usr/local/apache2.4/htdocs/index.php //建立一个php文件
/etc/init.d/apache2.4 restart //重启apache
访问ip/index.php失败,查看端口是否启动
netstat -tlunp |grep 80
关闭防火墙
firewall-cmd --stat
systemctl stop firewall
安装elinks
yum install elinks
elinks 192.168.31.60/index.php
---恢复内容结束---
LAMP源码编译的更多相关文章
- Httpd服务进阶知识-LAMP源码编译安装
Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理 ...
- LAMP源码编译安装
php加速器 XCache 快速而且稳定的PHP opcode缓存,经过严格测试且被大量用于生产环境. 项目地址:http://xcache.lighttpd.net/,收录EPEL源 实现XCach ...
- Web应用之LAMP源码环境部署
一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...
- 1-web应用之LAMP源码环境搭建
目录 一.LAMP环境的介绍 1.LAMP环境的重要性 2.LAMP组件介绍 二.Apache源码安装 1.下载Apache以及相关依赖包 2.安装Apache以及相关 ...
- 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本: Mysql-5.6.23 php版本 ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- LAMP环境源码编译安装过程
LAMP环境源码编译安装过程 一.Apache的安装 1.1.apache软件包及依赖包准备 httpd-2.4.29.tar.bz2 apr-1.6.3.tar.gz apr- ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
- LAMP架构—源码编译安装 (爱情受过伤,为爱跳过鸭绿江)
LAMP架构--源码编译安装 1.LAMP架构概述 2.编译安装Apache httpd 服务 3.编译安装mysql 服务 4.编译安装PHP 解析服务 5.利用LAMP搭建论坛 1.LAMP架构概 ...
随机推荐
- Java 面向对象编程 抽象类 抽象方法 abstract
抽象类 通过abstract定义的方法是抽象方法,它只有定义,没有实现.抽象方法定义了子类必须实现的接口规范: 定义了抽象方法的class必须被定义为抽象类,从抽象类继承的子类必须实现抽象方法: 如果 ...
- K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例
BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮. 点击“打开单据”维护界面, 会跳转到一个新的主界面页签,[物料]新增 点击“打开列表”,会弹出[物料]列表界面 点击“打开动态表单” ...
- 剪切文件或目录命令 - mv
①.命令名称:mv ②.英文原意:move ③.命令所在路径:/bin/mv ④.执行权限:所有用户 ⑤.功能描述:剪切文件.改名 ⑥.语法: mv[原文件或目录][目标目录] 例子:在 tmp目录下 ...
- webrtc vp8与h264 sdp文件解读
参考地址:https://blog.csdn.net/zhangjikuan/article/details/27367437, https://www.cnblogs.com/idignew/p/7 ...
- git 卡住推不上去
luoxu@lenovo:~/testGit/.git$ env | grep -i proxy 查看有没有设置代理 ALL_PROXY=socks://127.0.0.1:1080/ no_prox ...
- java面试题错题集(牛客网错题)
一.关于Object类的说法正确 Java中所有的类都直接或间接继承自Object,无论是否明确的指明,无论其是否是抽象类. Object的equals方法,只有一句话,return this==ob ...
- dyt说反话(注意字符串输入)
题目内容: dyt喜欢对lrh说的话说反话,现给出lrh说的k句话,输出dyt所说的反话. 输入格式 第一行是样例个数k(k<10) 接下来k行,每行包含lrh说的一句话(每句话长度不超过50, ...
- mysql创建用户后无法访问数据库的问题
1.停止mysql服务器 sudo service mysql stop 2.启动mysql服务 sudo mysqld_safe --skip-grant-tables 3.登陆 mysql mys ...
- 防止不同账号之间localStorage数据错误
set和get的时候,key后面加上用户ID
- 密码学笔记——zip明文攻击
明文攻击(Known plaintext attack):是一种攻击模式,指攻击者已知明文.密文及算法,求密钥的过程. 例题: 这就是一个坑 密码是十位大小写字母.数字.特殊符号组成的,你爆破的开么? ...