【作业】【第十七周】使用mysql收集rsyslog日志,并实现图形化展示。
一、httpd源码安装
编译安装http2.4 安装httpd-2.4,依赖于apr-1.4+, apr-util-1.4+ #报错时考虑升级内核文件 uname -a yum -y update #下载依赖的安装环境以及源码包 yum -y install gcc make pcre-devel openssl-devel expat-devel bzip2 lynx wget https://downloads.apache.org//apr/apr-1.7.0.tar.bz2 wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.bz2 wget http://archive.apache.org/dist/httpd/httpd-2.4.38.tar.bz2 #解压源码包至指定目录 tar -xvf apr-1.7.0.tar.bz2 ; tar -xvf apr-iconv-1.2.2.tar.bz2 ; tar -xvf apr-util-1.6.1.tar.bz2 ;tar -xvf httpd-2.4.38.tar.bz2 mv apr-1.7.0 httpd-2.4.38/srclib/apr mv apr-util-1.6.1 httpd-2.4.38/srclib/apr-util #配置参数及开始编译 cd httpd-2.4.38/ ./configure \ --prefix=/data/app/httpd24 \ --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 -j 2 && make install 移除历史编译生成的文件 make clean //保留配置文件 make mrproper //清理所有生成的文件,包括config make distclean //同mrproper #新建服务系统账号 useradd -s /sbin/nologin -r apache -d /data/app/httpd24 #配置服务运行账号 vi /data/app/httpd24/conf/httpd.conf user apache group apache #配置httpd支持php类型 vi /data/app/httpd24/conf/httpd.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps ProxyRequests Off <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> #配置服务二进制环境变量 echo "PATH=/data/app/httpd24/bin:$PATH" > /etc/profile.d/httpd24.sh #配置关联帮助文档 vi /etc/man_db.conf MANDATORY_MANPATH /data/app/httpd24/man #设置开机启动 vi /etc/rc.d/rc.local /app/httpd24/bin/apachectl start chmod +x /etc/rc.d/rc.local #基于名称的虚拟主机 <virtualhost *:80> servername blog.sankeya.vip documentroot /data/app/httpd24/htdocs/ <directory /data/app/httpd24/htdocs/> Options None AllowOverride None Require all granted </directory> ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/app/httpd24/htdocs/wordpress/$1 ProxyPassMatch ^/(fpm_status|ping)$ fcgi://127.0.0.1:9000/$1 ErrorLog "logs/wordpress_error_log" CustomLog "logs/wordpress_access_log" combined </virtualhost> <virtualhost *:80> servername forum.sankeya.vip documentroot /data/app/httpd24/htdocs/ <directory /data/app/httpd24/htdocs/> Options None AllowOverride None Require all granted </directory> ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/app/httpd24/htdocs/discuz/$1 ProxyPassMatch ^/(fpm_status|ping)$ fcgi://127.0.0.1:9000/$1 ErrorLog "logs/discuz_error_log" CustomLog "logs/discuz_access_log" combined </virtualhost> apachectl restart
二、php-fpm源码安装
源码编译 ./configure \ --prefix=/data/app/php \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl \ --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 \ --enable-opcache \ --enable-gd \ --disable-fileinfo make -j 2 && make install && echo $? #为php提供配置文件 cp /data/src/php-7.4.14/php.ini-production /etc/php.ini cp /data/app/php/etc/php-fpm.conf.default /data/app/php/etc/php-fpm.conf cp /data/app/php/etc/php-fpm.d/www.conf.default /data/app/php/etc/php-fpm.d/www.conf vi /data/app/php/etc/php-fpm.d/www.conf
user = apache group = apache #为php提供启动文件 cp /data/src/php-7.4.14/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ #配置php环境变量 echo "PATH=/data/app/php/bin:$PATH" > /etc/profile.d/php.sh systemctl daemon-reload systemctl status php-fpm.service systemctl enable --now php-fpm.service
三、mariadb安装授权
二进制安装 #配置用户 useradd -r -s /sbin/nologin -d /data/mysql mysql #配置所需的文件夹 mkdir /data/app/mysql mkdir /data/app/mysqldata chown -R mysql.mysql /data/app/mysql chown -R mysql.mysql /data/app/mysqldata #准备安装源文件 [root@centos7-mysql-server /]# cd /data/src/ wget -c https://mirrors.ustc.edu.cn/mariadb//mariadb-10.5.8/bintar-linux-systemd-x86_64/mariadb-10.5.8-linux-systemd-x86_64.tar.gz [root@centos7-mysql-server src]# ll total 403828 -rw-r--r-- 1 root root 71997847 Nov 18 18:29 mariadb-10.2.25.tar.gz -rw-r--r-- 1 root root 341518238 Nov 18 10:24 mariadb-10.5.8-linux-systemd-x86_64.tar.gz #解压文件 tar -xf mariadb-10.5.8-linux-systemd-x86_64.tar.gz -C /data/app/mysql ln -sv /data/local/mariadb-10.5.8-linux-systemd-x86_64/ /usr/local/mysql chown -R mysql.mysql /usr/local/mysql #配置环境变量 echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh #安装初始化数据库 ./mariadb-install-db --datadir=/data/app/mysqldata/ --user=mysql #设置数据配置文件 cat /etc/my.cnf [mysqld] datadir=/data/app/mysqldata socket=/data/app/mysql/mysql.sock skip_name_resolve = on log-bin=/data/app/mysqldata/mysql-bin symbolic-links=0 [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid [client] socket = /data/app/mysqldata/mysql.sock !includedir /etc/my.cnf.d #设置服务启动配置 cp /usr/local/mysql/support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service systemctl daemon-reload systemctl enable mariadb systemctl start mariadb #初始安全配置 mysql_secure_installation
四、rsyslog服务配置
#安装支持mysql转存的rsyslog组件 yum -y install rsyslog-mysql rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql #将安装组件生成的sql文件传送到mariadb服务器 scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.0.107:/data/src #将sql导入数据库并新建账号授权 mysql>source /data/mysql-createDB.sql mysql>GRANT ALL ON Syslog.* TO 'loguser'@'192.168.0.%' IDENTIFIEDBY 'sankeya'; #编辑rsyslog服务配置文件,加载模块配置,重启rsyslog服务 vi /etc/rsyslog.conf $ModLoad ommysql *.info :ommysql:192.168.0.107,Syslog,loguser,sankeya systemctl restart rsyslog.service #测试 logger "this is a test log" mysql>SELECT COUNT(*) FROM SystemEvents;
五、测试效果
(结束)