[root@master salt]# tree prod/ prod/ ├── modules │ ├── application │ │ └── php │ │ ├── files │ │ │ ├── install.sh │ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm │ │ │ ├── php-7.4.24.tar.gz │ │ │ ├── php-fpm │ │ │ ├── php-fpm.conf │ │ │ ├── php-fpm.service │ │ │ ├── php.ini-production │ │ │ └── www.conf │ │ └── install.sls │ ├── database │ │ └── mysql │ │ ├── files │ │ │ ├── install.sh │ │ │ ├── my.cnf │ │ │ ├── mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz │ │ │ ├── mysqld.service │ │ │ └── mysql.server │ │ └── install.sls │ └── web │ └── apache │ ├── files │ │ ├── apr-1.7.0.tar.gz │ │ ├── apr-util-1.6.1.tar.gz │ │ ├── httpd-2.4.48.tar.gz │ │ ├── httpd.service │ │ └── install.sh │ └── install.sls └── zabbix ├── files │ ├── config.sh │ ├── httpd.conf │ ├── install.sh │ ├── php.ini-production │ ├── zabbix-5.4.4.tar.gz │ └── zabbix_server.conf └── install.sls 12 directories, 28 files [root@master salt]#http
[root@master modules]# tree web/ web/ └── apache ├── files │ ├── apr-1.7.0.tar.gz │ ├── apr-util-1.6.1.tar.gz │ ├── httpd-2.4.48.tar.gz │ ├── httpd.service │ └── install.sh └── install.sls 2 directories, 6 files [root@master modules]# cat web/apache/install.sls pkg-install-for-apache: pkg.installed: - pkgs: - openssl-devel - pcre-devel - expat-devel - libtool - gcc - gcc-c++ - make useradd-for-apache: user.present: - name: apache - shell: /sbin/nologin - createhome: false - system: true tar-gz-for-apache: archive.extracted: - names: - /usr/src/: - source: salt://modules/web/apache/files/apr-1.7.0.tar.gz - /usr/src/: - source: salt://modules/web/apache/files/apr-util-1.6.1.tar.gz - /usr/src/: - source: salt://modules/web/apache/files/httpd-2.4.48.tar.gz script-for-install-apache: cmd.script: - source: salt://modules/web/apache/files/install.sh apache-config-file-cp: file.managed: - names: - /usr/lib/systemd/system/httpd.service: - source: salt://modules/web/apache/files/httpd.service [root@master modules]# cat web/apache/files/install.sh #!/bin/bash cd /usr/src rm -rf /usr/src/apr-1.7.0 /usr/src/apr-util-1.6.1 /usr/src/httpd-2.4.48 tar xf /usr/src/apr-1.7.0.tar.gz -C /usr/src tar xf /usr/src/apr-util-1.6.1.tar.gz -C /usr/src tar xf /usr/src/httpd-2.4.48.tar.gz -C /usr/src sed -i '/$RM "$cfgfile"/d' /usr/src/apr-1.7.0/configure cd /usr/src/apr-1.7.0/ ./configure --prefix=/usr/local/apr && make && make install cd ../apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install cd ../httpd-2.4.48 ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork && make && make installmysql
[root@master modules]# tree database/ database/ └── mysql ├── files │ ├── install.sh │ ├── my.cnf │ ├── mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz │ ├── mysqld.service │ └── mysql.server └── install.sls 2 directories, 6 files [root@master modules]# cat database/mysql/install.sls install-pkg-for-mysql: pkg.installed: - pkgs: - ncurses-devel - openssl-devel - openssl - ncurses-compat-libs create-user-for-mysql: user.present: - name: mysql - shell: /sbin/nologin - createhome: false - system: true tar-gz-for-mysql: archive.extracted: - name: /usr/local/ - source: salt://modules/database/mysql/files/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz rename-to-mysql: file.rename: - name: /usr/local/mysql - source: /usr/local/mysql-5.7.31-linux-glibc2.12-x86_64 chown-dir-for-mysql: file.directory: - name: /usr/local/mysql - user: mysql - group: mysql - recurse: - user - group mkdir-for-mysqldata: file.directory: - name: /opt/data - user: mysql - group: mysql - makedirs: true - recurse: - user - group cp-config-file-for-mysql: file.managed: - names: - /etc/my.cnf: - source: salt://modules/database/mysql/files/my.cnf - /usr/lib/systemd/system/mysqld.service: - source: salt://modules/database/mysql/files/mysqld.service - /usr/local/mysql/support-files/mysql.server: - source: salt://modules/database/mysql/files/mysql.server - mode: '0755' run-mysql-script: cmd.script: - source: salt://modules/database/mysql/files/install.sh echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh: cmd.run [root@master modules]# [root@master modules]# cat database/mysql/files/install.sh #!/bin/bash /usr/local/mysql/bin/mysqld --initialize-insecure --user mysql --datadir /opt/data/php
[root@master modules]# tree application/ application/ └── php ├── files │ ├── install.sh │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm │ ├── php-7.4.24.tar.gz │ ├── php-fpm │ ├── php-fpm.conf │ ├── php-fpm.service │ ├── php.ini-production │ └── www.conf └── install.sls 2 directories, 9 files [root@master modules]# cat application/php/install.sls /usr/src/oniguruma-devel-6.8.2-2.el8.x86_64.rpm: file.managed: - source: salt://modules/application/php/files/oniguruma-devel-6.8.2-2.el8.x86_64.rpm - user: root - group: root - mode: '0644' cmd.run: - name: 'rpm -ivh /usr/src/oniguruma-devel-6.8.2-2.el8.x86_64.rpm' install-php-package: pkg.installed: - pkgs: - epel-release - sqlite-devel - libzip-devel - libxml2 - libxml2-devel - openssl - openssl-devel - bzip2 - bzip2-devel - libcurl - libcurl-devel - libicu-devel - libjpeg-turbo - libjpeg-turbo-devel - libpng - libpng-devel - openldap-devel - pcre-devel - freetype - freetype-devel - gmp - gmp-devel - readline - readline-devel - libxslt - libxslt-devel - oniguruma updown-php-file: archive.extracted: - name: /usr/src/ - source: salt://modules/application/php/files/php-7.4.24.tar.gz #salt://modules/application/php/files/install.sh: # cmd.script copy-php-soft: file.managed: - names: - /etc/init.d/php-fpm: - source: salt://modules/application/php/files/php-fpm - mode: '0755' - /usr/local/php/etc/php-fpm.conf: - source: salt://modules/application/php/files/php-fpm.conf - /usr/local/php/etc/php-fpm.d/www.conf: - source: salt://modules/application/php/files/www.conf - /usr/lib/systemd/system/php-fpm.service: - source: salt://modules/application/php/files/php-fpm.service - /etc/php.ini: - source: salt://modules/application/php/files/php.ini-production [root@master modules]# [root@master modules]# cat application/php/files/install.sh #!/bin/bash cd /usr/src/php-7.4.24 ./configure --prefix=/usr/local/php --enable-fpm --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-gd --with-jpeg --with-zlib-dir --with-freetype --with-gettext --enable-mbstring --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --enable-shmop --enable-simplexml --enable-sockets --with-zip --enable-mysqlnd-compression-support --with-pear --enable-pcntl --enable-posix && make && make install [root@master modules]#zabbix
[root@master prod]# tree zabbix/ zabbix/ ├── files │ ├── config.sh │ ├── httpd.conf │ ├── install.sh │ ├── php.ini-production │ ├── zabbix-5.4.4.tar.gz │ └── zabbix_server.conf └── install.sls 1 directory, 7 files [root@master prod]# cat zabbix/install.sls 'Development Tools': pkg.group_installed include: - modules.web.apache.install - modules.database.mysql.install - modules.application.php.install pkg-install-for-zabbix: pkg.installed: - pkgs: - net-snmp-devel - libevent-devel user-add-for-zabbix: user.present: - name: zabbix - shell: /sbin/nologin - createhome: false - system: true updown-zabbix-tar: file.managed: - name: /usr/src/zabbix-5.4.4 - source: salt://zabbix/files/zabbix-5.4.4.tar.gz /usr/local/mysql/bin/mysql -e 'set password=password("123");': cmd.running install-for-zabbix: cmd.script: - source: salt://zabbix/files/install.sh copy-file-to-zabbix: file.managed: - name: /usr/local/etc/zabbix_server.conf: - source: salt://zabbix/files/zabbix_server.conf config-for-zabbix: cmd.script: - source: salt://zabbix/files/config.sh edit-php-forzabbix: file.managed: - name: /etc/php.ini - source: salt://zabbix/files/php.ini-production edit-httpd-forzabbix: file.managed: - name: /usr/local/httpd/conf/httpd.conf - source: salt://zabbix/files/httpd.conf zabbix_server: cmd.run zabbix_agentd: cmd.run service-for-apache: service.running: - name: httpd - enable: true service-for-mysql: service.running: - name: mysqld - enable: true service-for-php: service.running: - name: php-fpm - enable: true [root@master prod]# [root@master prod]# cat zabbix/files/install.sh #!/bin/bash /usr/local/mysql/bin/mysql -uroot -e123 -e 'create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by '123'; flush privileges;' tar xf /usr/src/zabbix-5.4.4.tar.gz -C /usr/src/ cd /usr/src/zabbix-5.4.4/database/mysql/ /usr/local/mysql/bin/mysql -uzabbix -p123 zabbix < schema.sql /usr/local/mysql/bin/mysql -uzabbix -p123 zabbix < images.sql /usr/local/mysql/bin/mysql -uzabbix -p123 zabbix < data.sql cd /usr/src/zabbix-5.4.4/ ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 make install [root@master prod]# [root@master prod]# cat zabbix/files/config.sh #!/bin/bash mkdir /var/lib/mysql ln -s /tmp/mysql.sock /var/lib/mysql/ ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64 cd /usr/src/zabbix-5.4.4/ mkdir /usr/local/httpd/htdocs/zabbix cp -r ui/* /usr/local/httpd/htdocs/zabbix/ chown -R apache.apache /usr/local/httpd/htdocs chmod 777 /usr/local/httpd/htdocs/zabbix/conf chmod 755 /usr/local/httpd/htdocs/zabbix/conf [root@master prod]#
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)