您现在的位置是:首页 >学无止境 >Linux Shell 实现一键部署http+用户名密码登录网站首页学无止境

Linux Shell 实现一键部署http+用户名密码登录

CIAS 2023-06-07 16:00:02
简介Linux Shell 实现一键部署http+用户名密码登录

Apache 前言

Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Linux 各系统下载使用参考

Red HatRocky Linux Oracle Linux

AlmaLinux 

ubuntususelinuxesxiRHEL标准安装系统安装参考YUM参考

MobaXterm 远程连接工具

Red Hat Enterprise 9.0 文档Kickstart 生成器
downloaddownloaddownloaddownloaddownloaddownloaddownload参考参考配置参考download参考Kickstart 
版本兼容性

安装 http

  • 实现在线安装http,配置http,创建测试目录,权限赋予,多用户不同目录配置实现
  • 创建安装自动化脚本
  • /var/www/html/ #网站目录(需要755权限)内部如果存需要访问,执行755权限
  • http端口 80 
  • 用户名密码 admin/admin (/etc/httpd/conf/.htpasswd_admin 用户名密码位置)
  • 带有用户名密码下载方式 wget -N -P /opt --http-user=admin --http-password=admin http://192.168.19.29/test/caddy.zip
  • 带有用户名密码下载方式 curl -u admin:admin -o /opt/caddy.zip http://192.168.19.29/test/caddy.zip 
  • selinux 安全配置参考开启的,设置自定义网站目录Selinux安全上下文,此处安全性考虑建议是开启,嫌麻烦那就忽略此功能,直接关闭就可以执行(setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  )
  • setenforce 1
    yum install policycoreutils-python policycoreutils-python-utils checkpolicy -y
    semanage fcontext -a -t httpd_sys_content_t /var/www/html/*
    restorecon -Rv /var/www/html/
vi /install_httpd.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2023/04/20

<<!
██╗  ██╗████████╗████████╗██████╗ 
██║  ██║╚══██╔══╝╚══██╔══╝██╔══██╗
███████║   ██║      ██║   ██████╔╝
██╔══██║   ██║      ██║   ██╔═══╝ 
██║  ██║   ██║      ██║   ██║     
╚═╝  ╚═╝   ╚═╝      ╚═╝   ╚═╝  
!
yum install -y httpd net-tools wget curl
mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
rm -rf /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
setenforce 0

chmod -R 755  /var/www/html/

cat >>/etc/httpd/conf/httpd.conf<<EOF
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache

ServerAdmin root@httpd
ServerName 0.0.0.0:80
<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/var/www/html"

<Directory /var/www/html/>
    AllowOverride None
    Options Indexes
	AuthType Basic
    AuthName "Basic Authentication"
    AuthUserFile /etc/httpd/conf/.htpasswd_admin
    require valid-user
</Directory>

<Directory "/var/www/html">
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.cgi index.php
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>

    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
KeepAlive On 
<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on
IncludeOptional conf.d/*.conf
EOF

htpasswd -cb /etc/httpd/conf/.htpasswd_admin admin admin
mkdir -p /var/www/html/tools
chmod -R 755 /var/www/html/tools
systemctl enable --now httpd
systemctl restart httpd

执行安装http 

sh /install_httpd.sh

用户登录测试

  • http://you_ip
  • admin/admin 

 此目录是脚本内部创建的一个临时目录可以根据自己需要进行调配

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。