准备:
事先请准备好 / data 目录, 把从官网下载的安装包放在里面!
安装好后:
1,httpd 和 PHP 安装在 / App/
2, MySQL 数据库存放目录为 / data/MySQL
3, httpd, fpm-PHP, mysqld 已经启动
4, 直接浏览器输入: http://172.22.5.8:/myadmin http://172.22.5.8/myadmin , 用户名: admin 密码: admin
下面是 shell 脚本:
- #!/bin/bash
- #
- #********************************************************************
- #Author: chenxu
- #QQ: 314236848
- #Date: 2019-05-15
- #FileName: myadmin.sh
- #URL: http://www.derong.info
- #Description: The test script
- #Copyright (C): 2019 All rights reserved
- #********************************************************************
- # 设置变量
- base_dir='/app'
- pack_dir='/data'
- data_dir='/data/mysql'
- my_conf='/etc/mysql'
- httpd_ver='2.4.39'
- apr_ver='1.7.0'
- apr_util_ver='1.6.1'
- mariadb_ver='10.2.23'
- php_ver='7.3.5'
- mariadb_arch='linux-x86_64'
- tar_type1='tar.gz'
- tar_type2='tar.bz2'
- tar_type3='tar.xz'
- zip_type='zip'
- # 创建用户
- getent passwd apache &> /dev/null
- if [ ! $? -eq 0 ];then
- useradd -r -s /sbin/nologin apache
- fi
- getent passwd MySQL &> /dev/null
- if [ ! $? -eq 0 ];then
- useradd -r -s /sbin/nologin MySQL
- fi
- # 创建数据库目录
- if [ ! -d $data_dir ];then
- mkdir $data_dir
- chown -R MySQL.MySQL $data_dir
- fi
- if [ ! -d $my_conf ];then
- mkdir $my_conf
- fi
- # 设置 $PATH
- echo 'PATH=/app/httpd/bin:$PATH'> /etc/profile.d/httpd-`date +%F`.sh
- echo 'PATH=/usr/local/mysql/bin:$PATH'> /etc/profile.d/MySQL-`date +%F`.sh
- . /etc/profile.d/httpd-`date +%F`.sh
- . /etc/profile.d/MySQL-`date +%F`.sh
- # 安装 httpd$httpd_ver
- yum install pcre-devel openssl-devel expat-devel gcc gcc-c++ libtool libxml2-devel bzip2-devel libmcrypt-devel -y
- cd $pack_dir
- tar xf httpd-${httpd_ver}.${tar_type2}
- tar xf apr-${apr_ver}.${tar_type1}
- tar xf apr-util-${apr_util_ver}.${tar_type1}
- cp -r apr-${apr_ver} httpd-$httpd_ver/srclib/apr
- cp -r apr-util-${apr_util_ver} httpd-$httpd_ver/srclib/apr-util
- cd httpd-$httpd_ver
- ./configure --prefix=/App/httpd --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
- echo '/app/httpd/bin/apachectl start'>> /etc/rc.d/rc.local
- chmod +x /etc/rc.d/rc.local
- sed -ir 's/User daemon/User apache/g' /App/httpd/conf/httpd.conf
- sed -ir 's/Group daemon/Group apache/g' /App/httpd/conf/httpd.conf
- sed -ir 's/ DirectoryIndex index.html/ DirectoryIndex index.html index.php/g' /App/httpd/conf/httpd.conf
- apachectl start
- echo -e '报告! apache 安装完毕!'
- sleep 5
- # 二进制安装 mariadb10.2
- cd $pack_dir
- tar xf mariadb-${mariadb_ver}-${mariadb_arch}.${tar_type1} -C /usr/local/
- cd /usr/local
- ln -s mariadb-${mariadb_ver}-${mariadb_arch} MySQL
- chown -R root.root MySQL/
- cd MySQL
- ./scripts/mysql_install_db --datadir=/data/MySQL --user=MySQL
- cp ./support-files/my-huge.cnf $my_conf/my.cnf
- sed -ir '/\[mysqld\]/a datadir=/data/mysql' $my_conf/my.cnf
- cp ./support-files/MySQL.server /etc/init.d/mysqld
- chkconfig --add mysqld
- service mysqld start
- sleep 5
- echo "grant all on *.* to'admin'@'localhost'identified by'admin';"> $pack_dir/myadmin.sql
- MySQL <$pack_dir/myadmin.sql
- echo -e '报告! mysql 安装完毕'
- sleep 5
- # 安装 phpmyadmin4.8.5
- cd $pack_dir
- unzip phpMyAdmin-4.8.5-all-languages.${zip_type}
- cp -r phpMyAdmin-4.8.5-all-languages $base_dir/httpd/htdocs/myadmin
- cd $base_dir/httpd/htdocs/myadmin
cp config.sample.inc.PHP config.inc.PHP
- sed -ir '/localhost/a $cfg['Servers'][$i]['port'] ='3306';\n$cfg['Servers'][$i]['user'] ='admin';\n$cfg['Servers'][$i]['password'] ='admin';' config.inc.PHP
- # 安装 php7.3.5
- cd $pack_dir
- tar xf PHP-${
- php_ver
- }.${
- tar_type2
- }
- cd PHP-${
- php_ver
- }/
- ./configure --prefix=/App/PHP --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-MySQL=mysqlnd --with-openssl --with-freetype-dir --with-jpeg-dir --with-PNG-dir --with-zlib --with-libxml-dir=/usr --with-config-file-path=/etc --with-config-file-scan-dir=/etc/PHP.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo
- make && make install
- cp PHP.INI-production /etc/PHP.INI
- cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm
- chmod +x /etc/init.d/PHP-fpm
- chkconfig --add PHP-fpm
- chkconfig PHP-fpm on
- cp $base_dir/PHP/etc/PHP-fpm.conf.default $base_dir/PHP/etc/PHP-fpm.conf
- cp $base_dir/PHP/etc/PHP-fpm.d/www.conf.default $base_dir/PHP/etc/PHP-fpm.d/www.conf
- service PHP-fpm start
- # 配置 httpd 支持 PHP
- cat>> $base_dir/httpd/conf/httpd.conf <<EOF
- LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
- LoadModule proxy_module modules/mod_proxy.so
- AddType application/x-httpd-PHP .PHP
- AddType application/x-httpd-PHP-source .phps
- ProxyRequests Off
- ProxyPassMatch ^/(.*\.PHP)$ fcgi://127.0.0.1:9000/App/httpd/htdocs/$1
- EOF
- echo done!
注: 这个脚本安装出来的 httpd 目录应该是 / App/http/
根据自己需要, 改变量修改服务安装位置和自己的应用版本号.
来源: http://www.bubuko.com/infodetail-3064142.html