#!/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脚本相关推荐

  1. 部署LAMP论坛平台(Linux,Apache,MySQL,PHP)

    文章目录 部署LAMP论坛平台 apache(Web服务器) mySQL(关系型数据库管理系统) PHP(超文本预处理器) 环境准备 部署Apache平台 安装编译器和其他工具 configure配置 ...

  2. CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境

    我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...

  3. Linux部署lamp(centos 7),照做就行

    大家好,今天我们来分享一下Linux上部署lamp lamp指的是Linux+Apache+MySQL数据库+php几者相结合的web框架结构 虽然我在这之前,就写过有关于这方面的博客,但是那个不详细 ...

  4. ansible角色部署lamp架构

    使用ansible角色部署lamp架构 文章目录 使用ansible角色部署lamp架构 一.部署Apache 1.配置主机并创建角色 2.编写task任务 3.编写脚本 4.调用角色 二.部署mys ...

  5. Ansible使用角色部署LAMP架构

    文章目录 使用角色部署lamp架构 部署apache 编写任务 编写脚本 配置变量 配置模板 编写playbook执行 部署mysql 编写任务 配置变量 编写脚本 编写模板 编写playbook执行 ...

  6. LAMP源码编译安装及一键部署LAMP架构

    文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...

  7. 部署LAMP 平台(二十四)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.概述 二.PHP安装配置 1.  PHP的作用 2.   PHP安装 2.1 yum安装 2.2 PHP语言简介 三. ...

  8. 基于ECS部署LAMP环境搭建Drupal网站,云计算技术与应用报告

    实验环境: 建站环境:Windows操作系统,基于ECS部署LAMP环境,阿里云资源, Web服务器:Apache,关联的数据库:MySQ PHP:Drupal 8 要求的PHP版本為7.0.33的版 ...

  9. 三台主机分别部署LAMP

    三台主机分别部署LAMP 要求:httpd, php, mariadb分别部署在一个单独的主机上,一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress,为phpMyAdmim提供 ...

最新文章

  1. Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
  2. webpack 异步加载配置文件_Webpack 是怎样运行的?
  3. 多并发-最后刷新页面
  4. wincc无法修改服务器名称_WinCC(TIA)组件SIVARC在BA空调及冷热源系统改造项目中的应用...
  5. SQL SERVER – Beginning of SQL Server Architecture – Terminology – Guest Post
  6. div中赋值html字符串
  7. Codeforces Round #753 (Div. 3)E. Robot on the Board 1
  8. 《Head First设计模式》第二版中译本内文彩页欣赏
  9. Windows Xp sp2 升级为 sp3
  10. 自动化 夏令营 保研
  11. Apache ShenYu源码阅读系列-基于Http长轮询的数据同步
  12. 多变量微积分笔记4——全微分与链式法则
  13. STM32与MPC-6050通讯
  14. eclipse 的preferences下没有server
  15. 计算机c盘空间满了应该怎么办,电脑C盘空间不足怎么办?1秒教你彻底释放C盘,拥有新机般的体验...
  16. 这篇文章能让你吃透SVG
  17. 效果 - 收藏集 - 掘金
  18. 注释大全,神兽护体,佛祖保佑,永无bug
  19. html标签验证步骤,html标签验证视频教程
  20. 禅与摩托车维修艺术(4)

热门文章

  1. linux 生产者消费者 多进程,Linux多线程,生产者消费者算法和条件变量的使用
  2. Python 课程设计 ---- 高校教务系统(数据库、wxPython界面)
  3. c-简单的模拟餐厅管理系统(说明文档)
  4. Chrome Dev Tools
  5. 两轮差速底盘的运动模型分析:运动控制与里程计解算
  6. Linux之WakeupCallback机制
  7. 跳跃游戏II-力扣45-java 动态规划
  8. BOSHIDA博电科技 AC/DC专业电源模块 主要原理与应用
  9. 在 Express中配置使用 art-template 模板引擎 --- express-art-template
  10. P4070 [SDOI2016]生成魔咒(SAM)