Shell 自动安装Apache

详情地址:  Shell 自动安装Apache | 小步教程

Shell 自动安装Apache

我们先回顾手动安装Apache(通过源码安装包)的步骤,然后分析、将手动执行代码转化为shell脚本。

手工安装Apache

参考 第9章 软件安装—Apache源码安装 。

我们先下载好安装文件并上传到指定目录/software/httpd-2.4.57.tar.bz2,不用在Shell里下载。

步骤1:解压

tar -xvf /software/httpd-2.4.57.tar.bz2 -C /usr/local/src/

步骤2:安装依赖

yum -y install gcc apr-devel apr-util-devel pcre-devel

步骤3:编绎

cd /usr/local/src/httpd-2.4.57
./configure --prefix=/usr/local/httpd

步骤4:编绎与安装

make && make install

步骤5:配置后台服务

1)复制程序到后台服务目录

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

【重点】2)编辑文件httpd

vim /etc/init.d/httpd

#!/bin/sh下添加如下两行

#chkconfig: 345 85 15
#description:apache start and stop

步骤6:添加服务,设置为自动启动

chkconfig --add httpd
chkconfig httpd on

步骤7:启动服务

systemctl start httpd

步骤8:测试

curl localhost

自动安装Apache

目标

通过执行一个脚本文件,自动完成上述所有动作。

分析

第5步:2)编辑文件httpd

vim /etc/init.d/httpd

#!/bin/sh下添加行

#chkconfig: 345 85 15

这里需要修改文件,找到相应内容,追加1行,可以通过 sed命令完成。

sed -i \
'/#!\/bin\/sh/a#chkconfig: 345 85 15' \
/etc/init.d/httpd

-i表示修改会保存到文件;

前两行结尾的\用于将一条命令分多行;

'/字符串1/a字符串2'表示搜索字符串1,在下一行添加字符串2;

字符串#!/bin/s含有特殊字符/,/前加\进行转义。

sed命令更多用法见下节。

完整代码

01apache-install.sh

tar -xvf /software/httpd-2.4.57.tar.bz2 -C /usr/local/src/
echo '解压完成'
 
yum -y install gcc apr-devel apr-util-devel pcre-devel
echo '依赖包安装完成'
 
cd /usr/local/src/httpd-2.4.57
./configure --prefix=/usr/local/httpd
make && make install
echo '编绎安装完成'
 
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
 
sed -i \
'/#!\/bin\/sh/a#chkconfig: 345 85 15' \
/etc/init.d/httpd
 
chkconfig --add httpd
chkconfig httpd on
echo '服务配置完成'
 
systemctl start httpd
echo '服务启动完成'
 
curl localhost
echo '测试完成'

执行

sh 01apache-install.sh

运行效果

img

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Shell 脚本来自动化部署 Zabbix。下面是一个简单的示例脚本: ```bash #!/bin/bash # 安装依赖软件 apt-get install -y apache2 php php-mysql mysql-server # 下载并解压 Zabbix wget https://sourceforge.net/projects/zabbix/files/latest/download -O zabbix.tar.gz tar xvfz zabbix.tar.gz # 将 Zabbix 文件复制到 Apache 的根目录 cp -R zabbix-* /var/www/html/zabbix # 创建 Zabbix 数据库 mysql -u root -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;" mysql -u root -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';" mysql -u root -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';" mysql -u root -e "FLUSH PRIVILEGES;" # 导入 Zabbix 数据库模板 mysql -u zabbix -p'password' zabbix < /var/www/html/zabbix/database/mysql/schema.sql mysql -u zabbix -p'password' zabbix < /var/www/html/zabbix/database/mysql/images.sql mysql -u zabbix -p'password' zabbix < /var/www/html/zabbix/database/mysql/data.sql # 配置 Zabbix 服务器 sed -i 's/^DBHost=localhost/DBHost=localhost/' /var/www/html/zabbix/conf/zabbix_server.conf.php sed -i 's/^DBName=zabbix/DBName=zabbix/' /var/www/html/zabbix/conf/zabbix_server.conf.php sed -i 's/^DBUser=zabbix/DBUser=zabbix/' /var/www/html/zabbix/conf/zabbix_server.conf.php sed -i 's/^DBPassword=/DBPassword=password/' /var/www/html/zabbix/conf/zabbix_server.conf.php # 重启 Apache 服务 service apache2 restart ``` 请注意,这只是一个简单的示例脚本,你可能需要根据你的具体环境和需求进行修改。在运行脚本之前,请确保你具备适当的权限并备份好相关数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值