一键编译安装lamp

准备工具

httpd:apr-1.7.0.tar.gz,apr-util-1.6.1.tar.gz,httpd-2.4.39.tar.bz 所有源码包
mysql:mariadb-10.2.23.tar.gz源码包
php:php-7.3.5tar.bz2源码包
以上所有源码包存,以及一键安装脚本存放在root家目录下,运行一键安装脚本。
脚本运行完毕,使用浏览器访问测试页


一键安装脚本

#!/bin/bash
LINE=12             #编译时线程数
APR=apr-1.7.0           #APR源码包版本号
APRUTIL=apr-util-1.6.1      #APR-UTIL源码包版本号
HTTPD=httpd-2.4.39      #httpd源码包版本号
MYSQL=mariadb-10.2.23       #MySQL源码包版本号
PHP=php-7.3.5           #PHP源码包版本号

# 预安装环境
yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel bzip2 vim lrzsz tree screen lsof tcpdump wget ntpdate net-tools iotop bc zip unzip nfs-utils expat-devel bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel cmake ncurses-devel gnutls-devel libxml2-devel libevent-devel libaio-devel

# 安装httpd
## 解压apr,apr-util,httpd
tar xf ~/${APR}.tar.gz
tar xf ~/${APRUTIL}.tar.gz
tar xf ~/${HTTPD}.tar.bz2

## 将apr,apr-util移动至srclib
mv ~/$APR ~/$HTTPD/srclib/apr
mv ~/$APRUTIL ~/$HTTPD/srclib/apr-util

## 编译安装
cd $HTTPD
./configure  --prefix=/app/httpd24  --enable-so  --enable-ssl  --enable-cgi --enable-rewrite  --with-zlib  --with-pcre  --with-included-apr=/root/httpd-2.4.39/srclib/  --enable-modules=most  --enable-mpms-shared=all  --with-mpm=prefork

make -j $LINE && make install

## 创建apache用户
useradd -r -s /sbin/nologin apache

## 修改配置文件
sed -i ‘/^User/s/.*/User apache/‘ /app/httpd24/conf/httpd.conf
sed -i ‘/^Group/s/.*/Group apache/‘ /app/httpd24/conf/httpd.conf 

## 添加PATH变量
echo ‘PATH=/app/httpd24/bin:$PATH‘ > /etc/profile.d/httpd.sh

## 设置开机启动
echo "/app/httpd24/bin/apachectl start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

## 清除源码包
rm -rf /root/$HTTPD

# 安装MySQL
## 创建MySQL用户
useradd -r -s /sbin/nologin mysql

## 创建MySQL数据库目录
mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql
chmod 700 /data/mysql

## 解压MySQL源码包
tar xf ~/${MYSQL}.tar.gz -C /data

## 编译安装
cd /data/${MYSQL}
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc/mysql -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make -j $LINE && make install 

## 配置文件相关
mkdir /etc/mysql
cp /app/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf
sed -i ‘/\[mysqld\]/adatadir=/data/mysql‘ /etc/mysql/my.cnf

## 设置开机启动
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

## 设置PATH变量
echo ‘PATH=/app/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh

## 清除源码包
rm -rf /data/$MYSQL

## 初始化数据库
/app/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql

# 安装PHP
## 解压php源码包
cd
tar xf ~/${PHP}.tar.bz2

## 编译安装
cd ~/${PHP}
./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo
make -j $LINE && make install 

## 复制启动配置文件并修改
cp ~/$PHP/php.ini-production /etc/php.ini
sed -i ‘/;date.tim/[email protected]*@data.timezone = "Asia/Shanghai"@‘ /etc/php.ini

## 设置开机启动
cp ~/$PHP/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm

## 复制配置文件模板
cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf
cp /app/php/etc/php-fpm.d/www.conf.default /app/php/etc/php-fpm.d/www.conf

## 清除源码包
rm -rf /root/$PHP

# LAMP配置
## 配置httpd
sed -i ‘/mod_proxy.so/s/#\(.*\)/\1/‘ /app/httpd24/conf/httpd.conf
sed -i ‘/fcgi.so/s/#\(.*\)/\1/‘ /app/httpd24/conf/httpd.conf
sed -i ‘/  DirectoryIndex/s/.*/    DirectoryIndex index.php index.html/‘ /app/httpd24/conf/httpd.conf
cat << EOF >> /app/httpd24/conf/httpd.conf
addtype application/x-httpd-php .php
addtype application/x-httpd-php-source .phps
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/test/$1
EOF

## 配置php

# 生成测试页
mkdir -pv /data/test
cat << EOF >> /data/test/index.php
<?php
\$dsn=‘mysql:host=127.0.0.1;dbname=test‘;
\$username=‘root‘; \$passwd=‘‘;
\$dbh=new PDO(\$dsn,\$username,\$passwd);
var_dump(\$dbh);
phpinfo();
?>
EOF

# 启动服务
service mysqld start
/app/httpd24/bin/apachectl start
service php-fpm start

原文地址:https://blog.51cto.com/11886307/2395020

时间: 2024-10-07 01:37:34

一键编译安装lamp的相关文章

CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src/Apache-2.2.25 tar -xzvf ./httpd-2.2.25.tar.gz cd ./httpd-2.2.25 #生成configure ./configure --prefix=/usr/local/apache --with-included-apr --enable-so -

单台主机一键编译部署LAMP+wordpress+discuz系统的shell脚本

单台主机一键编译部署LAMP+wordpress+discuz系统的shell脚本 ? 说明: 1.shell脚本与应用程序包在同一个目录中: 2.虚拟机尽量加大CPU核数,以提高编译速度: 3.根据需要修改相应的变量,主要是安装目录.用户名.密码: 4.Mariadb的grant授权部分,需要先手动修改授权范围(@后面的内容)和密码: 5.httpd与php采用sock通讯. ? 完整的shell脚本 #!/bin/bash #*********************************

编译安装LAMP[两种结合方式]

本文旨在实践编译安装LAMP环境,搭建Zblog系统,使用Xcache为PHP加速,分离PHP与Apache Server LAMP基础知识 Linux + Apache + MySQL[MariaDB] + PHP[Perl|Pyton] 是一套基础的web环境: Apache有2.2版本,和最新的2.4版本,2.4版本支持Event MPM可用作生产环境,在http2.2中有3种MPM,为不同的进程文件,切换需要重启Apache服务:而2.4中MPM做成了DSO,可动态加载切换: Apach

编译安装LAMP及分离式LAMP平台构建

前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,与微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的优势,因此LAMP无论是性能.质量还是价格都是企业搭建网站的首选平台.但由于MySQL作为SUN公司

编译安装LAMP之一

环境:CentOS-6.5-i386-minimal httpd-2.2.27.tar.gz mysql-5.5.38-linux2.6-i686.tar.gz php-5.5.14.tar.gz 编译安装的原则:对于我们来说,需要定制的就直接编译,其余的一切皆yum / apt-get搞定 1.关闭iptables和SELinux [[email protected] ~]# service iptables stop [[email protected] ~]# setenforce 0 2

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装Mysql (二)

mysql 简介: MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性.目前其属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言. 安装环境: 系统: centos 7.0 最小化安装 软件

实践作业之编译安装LAMP

题目1:httpd所支持的处理模型有哪些,他们的分别使用于哪些环境. (1)prefork模型: 功能:多进程模型,每个进程响应一个请求 工作方式: ①一个主进程:负责生成子进程及回收子进程(工作进程),负责创建套接字,负责接收请求,并将其派发给某子进程进行处理 ②n个子进程:每个子进程一个请求 主控进程会预先生成几个空闲子进程,随时等待用于响应用户请求.根据处理过程,可能会改变空闲进程的数量,需要定义最大空闲和最小空闲 (2)worker模型: 功能:多进程多线程模型,每个线程处理一个用户请求

ubuntu10.04编译安装LAMP

ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关于介绍lamp的在这里我就不罗嗦了,直接上配置过程 1.apr包的安装 apr简介: The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that

编译安装LAMP(两种场景)

编译安装LAMP 场景一:AP组合以模块方式结合(编译PHP作为httpd的模块):进而完成虚拟主机PMA(phpmyadmin)和discuz论坛 场景二:AP组合以fpm方式,PHP独立守护进程运行:进而完成虚拟主机PMA(phpmyadmin)和discuz论坛 ==========================场景一============================ 拓扑结构: 主机一 网卡1IP为172.20.1.100 网卡2IP为192.168.217.219 在此计算机上