zoukankan      html  css  js  c++  java
  • 第十三周作业

    10.0.0.71服务器一键安装脚本

    #!/bin/bash
    
    SRC1=https://mirror.csclub.uwaterloo.ca/apache//httpd/httpd-2.4.46.tar.bz2
    SRC2=https://mirrors.bfsu.edu.cn/apache//apr/apr-1.7.0.tar.bz2
    SRC3=https://mirrors.bfsu.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
    
    PKG1=`echo $SRC1 | awk -F'/' '{print $NF}'` 
    PKG2=`echo $SRC2 | awk -F'/' '{print $NF}'`
    PKG3=`echo $SRC3 | awk -F'/' '{print $NF}'` 
    
    DIR1=`echo $PKG1 | sed -nr 's/(.*).tar.*/1/p'` 
    DIR2=`echo $PKG2 | sed -nr 's/(.*).tar.*/1/p'` 
    DIR3=`echo $PKG3 | sed -nr 's/(.*).tar.*/1/p'` 
    
    DIR=/apps/httpd
    SRVS=`echo $DIR | awk -F'/' '{print $NF}'` 
    
    
    #安装httpd服务
    
    
    #安装依赖并下载相关文件解压至特定目录
    yum -y install wget lbzip2 gcc make prce-devel openssl-devel expat-devel
    wget $SRC1 
    wget $SRC2
    wget $SRC3
    tar vxf $PKG1
    tar vxf $PKG2
    tar vxf $PKG3
    mv $DIR2 $DIR1/srclib/apr
    mv $DIR3 $DIR1/srclib/apr-util
    
    
    #编译安装httpd
    cd $DIR1
    ./configure --prefix=$DIR --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
    make && make install
    
    
    #创建apache用户并更改配置文件
    cd ~
    useradd -s /sbin/nologin -r apache
    sed -i 's/^User.*/User apache/' $DIR/conf/httpd.conf
    sed -i 's/^Group.*/Group apache/' $DIR/conf/httpd.conf
    
    #配置环境变量和添加man帮助
    ln -s $DIR/bin/* /usr/bin
    echo "MANDATORY_MANPATH                       $DIR/man" >> /etc/man_db.conf
    
    #设置开机自启
    echo "$DIR/bin/apachectl start" >> /etc/rc.d/rc.local
    chmod +x /etc/rc.d/rc.local
    
    
    #创建启动脚本文件
    cat > /usr/lib/systemd/system/$SRVS.service << EOF
    [Unit]
    Description=The Apache HTTP Server
    After=network.target remote-fs.target nss-lookup.target
    Documentation=man:httpd(8)
    Documentation=man:apachectl(8)
    [Service]
    Type=forking
    ExecStart=$DIR/bin/apachectl start
    EXecReload=$DIR/bin/apachectl graceful
    ExecStop=$DIR/bin/apachectl stop
    KillSignal=SIGCONT
    PrivateTmp=true
    [install]
    WantedBy=multi-user.target
    EOF
    
    #启动服务
    systemctl daemon-reload
    systemctl enable --now $SRVS
    
    
    #编译安装php7.3
    
    SRC4=https://www.php.net/distributions/php-7.3.24.tar.xz
    PKG4=`echo $SRC4 | awk -F'/' '{print $NF}'`
    DIR4=`echo $PKG4 | sed -nr 's/(.*).tar.*/1/'`
    NAME=/apps/php
    
    yum -y install  libxml2-devel bzip-devel libmcrypt-devel
    wget $SRC4
    tar vxf $PKG4
    cd $DIR4
    ./configure --prefix=$NAME --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=$DIR/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo
    make && make install
    cp php.ini-production /etc/php.ini
    
    #修改配置文件并重启httpd服务
    cd ~
    cat >> $DIR/conf/httpd.conf <<EOF
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    EOF
    sed -Ei '/index.html/s/(.*) index.html/1 index.php index.html/' $DIR/conf/httpd.conf
    apachectl restart
    
    
    #部署wordpress
    SRC5=https://wordpress.org/wordpress-5.3.2.tar.gz
    PKG5=`echo $SRC5 | awk -F'/' '{print $NF}'`
    
    wget $SRC5
    tar  vxf $PKG5
    mv wordpress $DIR/htdocs
    chown -R apache.apache $DIR/htdocs/wordpress/
    

    10.0.0.81服务器安装mariadb脚本

    #!/bin/bash
    DIR="/data/mysql"
    NAME="/usr/local/mysql"
    URL="https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.5.5/bintar-linux-systemd-x86_64/mariadb-10.5.5-linux-systemd-x86_64.tar.gz
    "
    PACK="mariadb-10.5.5-linux-systemd-x86_64.tar.gz"
    FILE="mariadb-10.5.5-linux-systemd-x86_64"
    
    for i in {wget,libaio,numactl-libs};do
    	rpm -q $i &> /dev/null || yum -y install $i
    done
    yum -y install libncurses*
    mkdir $DIR
    groupadd -r -g 306 mysql
    useradd -r -u 306 -g mysql mysql
    chown mysql.mysql $DIR
    wget $URL
    tar xf $PACK  -C /usr/local
    ln -sn /usr/local/$FILE $NAME
    $NAME/scripts/mysql_install_db --user=mysql --datadir=$DIR
    echo PATH='/usr/local/mysql/bin:$PATH' >/etc/profile.d/mysql.sh
    ln -s /usr/local/mysql/bin/* /usr/bin
    cat > /etc/my.cnf <<EOF
    [mysqld]
    datadir=$DIR
    skip_name_resolve=1
    socket=$DIR/mysql.sock
    log-error=$DIR/mysql.log
    pid-file=$DIR/mysql.pid
     
    [client]
    socket=$DIR/mysql.sock
    EOF
    cp $NAME/support-files/mysql.server  /etc/init.d/mysqld
    chkconfig --add mysqld
    service mysqld start
    mysql -e 'create database wordpress'
    mysql -e "grant all on wordpress.* to wpuser@'10.0.0.%' identified by 'wppass'"
    



  • 相关阅读:
    一行代码搞定Dubbo接口调用
    测试周期内测试进度报告规范
    jq 一个强悍的json格式化查看工具
    浅析Docker容器的应用场景
    HDU 4432 Sum of divisors (水题,进制转换)
    HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
    CodeForces 589B Layer Cake (暴力)
    CodeForces 589J Cleaner Robot (DFS,或BFS)
    CodeForces 589I Lottery (暴力,水题)
    CodeForces 589D Boulevard (数学,相遇)
  • 原文地址:https://www.cnblogs.com/LittleRabbit220/p/13911762.html
Copyright © 2011-2022 走看看