一建部署LAMP脚本
#!/bin/bash
#---------------------------
#一键安装 LAMP 和 Discuz
#---------------------------#所需安装包
#httpd 包:apr-1.6.2.tar.gz,apr-util-1.6.0.tar.gz,httpd-2.4.29.tar.bz2
#mysql 包:mysql-5.7.17.tar.gz,boost_1_59_0.tar.gz
#PHP 包:php-7.1.10.tar.bz2
#Discuz 包:Discuz_X3.4_SC_UTF8.zip###安装前准备
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
ntpdate ntp1.aliyun.com
IP=`ifconfig ens33 | grep netmask | tr -s ' ' @ | cut -d@ -f3`###安装 apache
tar xf /data/apr-1.6.2.tar.gz -C /opt
tar xf /data/apr-util-1.6.0.tar.gz -C /opt
tar xf /data/httpd-2.4.29.tar.bz2 -C /opt
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
cd /opt/httpd-2.4.29/
make -j 4 && make install
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/#注意新版本的 sed 不能直接修改链接文件,会将其变成普通文件,所以我们需要修改原文件
sed -i "52s/Listen 80/Listen $IP:80/" /usr/local/httpd/conf/httpd.conf
sed -i "197s/#ServerName www.example.com:80/ServerName www.example.com:80/" /usr/local/httpd/conf/httpd.confcat > /usr/lib/systemd/system/httpd.service <<EOF
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload && systemctl start httpd.service && systemctl enable httpd.service###安装 mysql
tar zxvf /data/mysql-5.7.17.tar.gz -C /opt
tar zxvf /data/boost_1_59_0.tar.gz -C /usr/local
mv /usr/local/boost_1_59_0 /usr/local/boost
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
useradd -s /sbin/nologin mysql
cd /opt/mysql-5.7.17/cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1cd /opt/mysql-5.7.17/
make -j 4 && make install
echo > /etc/my.cnfcat > /etc/my.cnf<<EOF
[client]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
EOFchown -R mysql.mysql /usr/local/mysql/
chown mysql.mysql /etc/my.cnf
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profilecd /usr/local/mysql/bin/
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/datacp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload && systemctl start mysqld && systemctl enable mysqld###安装 PHP
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-develtar jxvf /data/php-7.1.10.tar.bz2 -C /opt/
cd /opt/php-7.1.10/./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zipcd /opt/php-7.1.10/
make -j 4 && make installcp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.inised -i "939s/\;date.timezone =/date.timezone = Asia\/Shanghai/" /usr/local/php7/php.ini
sed -i "1170s/mysqli.default_socket =/mysqli.default_socket = \/usr\/local\/mysql\/mysql.sock/" /usr/local/php7/php.iniln -s /usr/local/php7/bin/* /usr/local/bin/sed -i "s/ DirectoryIndex index.html/ DirectoryIndex index.html index.php/g" /usr/local/httpd/conf/httpd.conf
sed -i "392a AddType application/x-httpd-php .php \n AddType application/x-httpd-php-source .phps" /usr/local/httpd/conf/httpd.confrm -rf /usr/local/httpd/htdocs/index.htmlcat > /usr/local/httpd/htdocs/index.php<<EOF
<?php
phpinfo();
?>
EOFsystemctl restart httpd.service### 安装 Discuz
echo "CREATE DATABASE bbs;" | mysql
echo "GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';" | mysql
echo "flush privileges;" | mysqlunzip /data/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cp -r /opt/dis/dir_SC_UTF8/upload/ /usr/local/httpd/htdocs/bbs
chown -R daemon /usr/local/httpd/htdocs/bbs/config
chown -R daemon /usr/local/httpd/htdocs/bbs/data
chown -R daemon /usr/local/httpd/htdocs/bbs/uc_client
chown -R daemon /usr/local/httpd/htdocs/bbs/uc_server/data### 服务状态判断
echo " "
echo -e "\033[31m我是分割线-------------------------------\033[0m"
sleep 3
echo -e "\033[33mLAMP 组件状态\033[0m"pgrep "httpd" &> /dev/null
if [ $? -eq 0 ];thenecho -e "\033[32mhttpd服务运行正常\033[0m"
elseecho -e "\033[31mhttpd服务运行异常,请检查\033[0m"
fipgrep "mysqld" &> /dev/null
if [ $? -eq 0 ];thenecho -e "\033[32mmysqld服务运行正常\033[0m"
elseecho -e "\033[31mmysqld服务运行异常,请检查\033[0m"
fi### 提示信息
echo " "
sleep 2
echo -e "\033[33m如果各组件运行正常,请登录Discuz论坛,账号登录信息:\033[0m"
echo -e "\033[32m访问地址 http://<你的IP>/bbs/admin.php\033[0m"
echo -e "\033[32m数据库服务器 localhost\033[0m"
echo -e "\033[32m数据库名称 bbs\033[0m"
echo -e "\033[32m数据库用户名 bbsuser\033[0m"
echo -e "\033[32m数据库密码 admin123\033[0m"
echo -e "\033[32m管理员账号 admin\033[0m"
echo -e "\033[32m管理员密码 admin123\033[0m"
一建部署LAMP脚本相关推荐
- 部署LAMP论坛平台(Linux,Apache,MySQL,PHP)
文章目录 部署LAMP论坛平台 apache(Web服务器) mySQL(关系型数据库管理系统) PHP(超文本预处理器) 环境准备 部署Apache平台 安装编译器和其他工具 configure配置 ...
- CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...
- Linux部署lamp(centos 7),照做就行
大家好,今天我们来分享一下Linux上部署lamp lamp指的是Linux+Apache+MySQL数据库+php几者相结合的web框架结构 虽然我在这之前,就写过有关于这方面的博客,但是那个不详细 ...
- ansible角色部署lamp架构
使用ansible角色部署lamp架构 文章目录 使用ansible角色部署lamp架构 一.部署Apache 1.配置主机并创建角色 2.编写task任务 3.编写脚本 4.调用角色 二.部署mys ...
- Ansible使用角色部署LAMP架构
文章目录 使用角色部署lamp架构 部署apache 编写任务 编写脚本 配置变量 配置模板 编写playbook执行 部署mysql 编写任务 配置变量 编写脚本 编写模板 编写playbook执行 ...
- LAMP源码编译安装及一键部署LAMP架构
文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...
- 部署LAMP 平台(二十四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.概述 二.PHP安装配置 1. PHP的作用 2. PHP安装 2.1 yum安装 2.2 PHP语言简介 三. ...
- 基于ECS部署LAMP环境搭建Drupal网站,云计算技术与应用报告
实验环境: 建站环境:Windows操作系统,基于ECS部署LAMP环境,阿里云资源, Web服务器:Apache,关联的数据库:MySQ PHP:Drupal 8 要求的PHP版本為7.0.33的版 ...
- 三台主机分别部署LAMP
三台主机分别部署LAMP 要求:httpd, php, mariadb分别部署在一个单独的主机上,一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress,为phpMyAdmim提供 ...
最新文章
- Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
- webpack 异步加载配置文件_Webpack 是怎样运行的?
- 多并发-最后刷新页面
- wincc无法修改服务器名称_WinCC(TIA)组件SIVARC在BA空调及冷热源系统改造项目中的应用...
- SQL SERVER – Beginning of SQL Server Architecture – Terminology – Guest Post
- div中赋值html字符串
- Codeforces Round #753 (Div. 3)E. Robot on the Board 1
- 《Head First设计模式》第二版中译本内文彩页欣赏
- Windows Xp sp2 升级为 sp3
- 自动化 夏令营 保研
- Apache ShenYu源码阅读系列-基于Http长轮询的数据同步
- 多变量微积分笔记4——全微分与链式法则
- STM32与MPC-6050通讯
- eclipse 的preferences下没有server
- 计算机c盘空间满了应该怎么办,电脑C盘空间不足怎么办?1秒教你彻底释放C盘,拥有新机般的体验...
- 这篇文章能让你吃透SVG
- 效果 - 收藏集 - 掘金
- 注释大全,神兽护体,佛祖保佑,永无bug
- html标签验证步骤,html标签验证视频教程
- 禅与摩托车维修艺术(4)
热门文章
- linux 生产者消费者 多进程,Linux多线程,生产者消费者算法和条件变量的使用
- Python 课程设计 ---- 高校教务系统(数据库、wxPython界面)
- c-简单的模拟餐厅管理系统(说明文档)
- Chrome Dev Tools
- 两轮差速底盘的运动模型分析:运动控制与里程计解算
- Linux之WakeupCallback机制
- 跳跃游戏II-力扣45-java 动态规划
- BOSHIDA博电科技 AC/DC专业电源模块 主要原理与应用
- 在 Express中配置使用 art-template 模板引擎 --- express-art-template
- P4070 [SDOI2016]生成魔咒(SAM)