• ADADADADAD

    怎样进行LAMP源码安装以及如何搭建zabbix监控[ mysql数据库 ]

    mysql数据库 时间:2024-11-28 13:01:08

    作者:文/会员上传

    简介:

    1、系统环境检查,版本说明1)版本说明#httpd-2.4.25#mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版#php5.6.30#zabbix-3.0.82)关闭selinux、iptables,检查系统版本信息sed

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1、系统环境检查,版本说明

    1)版本说明

    #httpd-2.4.25
    #mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版
    #php5.6.30

    #zabbix-3.0.8

    2)关闭selinux、iptables,检查系统版本信息

    sed -i 's/SELINUX=enabled/SELINUX=disabled/g' /etc/selinux/config
    getenforce 0
    /etc/init.d/iptables stop
    cat /etc/redhat-release
    CentOS release 6.7 (Final)
    uname -r
    2.6.32-431.el6.x86_64
    uname -m

    x86_64

    2、安装apache

    http://httpd.apache.org/download.cgi #apache官网

    #新建apache运行用户

    useradd -s /sbin/nologin -M www

    mkdir tools

    cd tools#下载http代码包

    wgethttp://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.gz

    wgethttp://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz

    wgethttp://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz

    #附上aliyun下载地址
    wget -c http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.gz
    wget -c http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.gz
    wget -c http://mirrors.aliyun.com/apache/httpd/httpd-2.4.25.tar.gz

    #安装插件apr和apr-util
    #编译安装apr
    tar xf apr-1.5.2.tar.gz
    cd apr-1.5.2
    ./configure --prefix=/usr/local/apr-1.5.2
    make && make install
    echo $?
    ln -s /usr/local/apr-1.5.2/ /usr/local/apr
    cd ..
    #编译安装apr-util
    tar xf apr-util-1.5.4.tar.gz
    cd apr-util-1.5.4
    ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/
    echo $?
    make && make install
    echo $?
    ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util
    cd ..#安装功能包
    yum install pcre-devel zlib-devel openssl-devel -y
    #安装apache
    tar zxvf httpd-2.4.25.tar.gz
    cd httpd-2.4.25./configure --prefix=/usr/local/httpd-2.4.25 \
    --with-apr=/usr/local/apr-1.5.2 \
    --with-apr-util=/usr/local/apr-util-1.5.4 \
    --enable-so --enable-deflate --enable-expires \
    --enable-headers --enable-ssl --enable-rewrite \
    --enable-mpms-shared=all --with-mpm=prefork \
    --enable-mods-shared=most

    #编译与安装

    make

    make install

    配置参数解释:

    #--prefix= apache安装目录。默认情况下,安装目录设置为 /usr/local/apache2。
    #--sysconfdir= 指定配置文件安装路径
    #--with-apr= 如果要使用已安装的APR,则必须告诉脚本configure的apr的安装路径
    #--with-apr-util 指定已安装的apr-util的安装路径
    #--enable-so 允许运行时加载DSO模块
    #--enable-cgi 启用cgi协议
    #--with-zlib 启用zlib库文件
    #--with-pcre 指定pcre的安装路径
    #--enable-modules=most 启用大多数共享模块
    #--enable-deflate 压缩传输编码支持
    #--enable-expires Expires头控制
    #--enable-headers HTTP头控制
    #--enable-ssl 启动ssl加密功能,SSL/TLS支持(mod_ssl)
    #--enable-rewrite 基于规则的URL操作,启用URL重写功能
    #--enable-mpms-shared=all 空间分隔的MPM模块列表启用,动态加载
    #--with-mpm=prefork 指定使用的MPM的类型, 选择Apache使用的进程模型(event|worker|prefork|winnt)
    #--enable-mods-shared=most 启用MPM大多数参数, 定义要启用并构建为动态共享模块的模块列表,默认设置为most(all|most|few|reallyall)

    #去版本号,做链接

    ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd
    #配置http环境变量
    echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile
    . /etc/profile
    #查看http模块
    ls /usr/local/httpd/modules

    #查看安装的模块

    /usr/local/httpd/bin/apachectl -l

    /usr/local/httpd/bin/apachectl -M

    apachectl -t -D DUMP_MODULES

    #修改http配置文件
    sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf
    #启动apache服务
    apachectl start
    #查看http服务
    netstat -lntup|grep httpd
    tcp 0 0 :::80 :::* LISTEN 56389/httpd

    #配置启动脚本
    cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
    chmod +x /etc/init.d/httpd
    /etc/init.d/httpd stop
    netstat -lntup|grep httpd
    /etc/init.d/httpd start
    netstat -lntup|grep httpd
    vim /etc/init.d/httpd
    #在开始位置添加:
    # chkconfig: 345 85 15
    # description: this my apache is httpd server
    #加入系统启动服务,开机自启动
    chkconfig --add httpd
    chkconfig httpd on
    chkconfig --list httpd
    #测试访问正常!到此apache安装完成!

    #一键式安装apache 2.4.25

    useradd-s/sbin/nologin-Mwwwmkdir~/toolscd~/tools/bin/pingbaidu.com-c2[$?-eq0]&&{wgetwgetwget}||exit110tarxfapr-1.5.2.tar.gzcdapr-1.5.2./configure--prefix=/usr/local/apr-1.5.2make&&makeinstallecho$?[$?-eq0]&&{ln-s/usr/local/apr-1.5.2//usr/local/aprcd..}#编译安装apr-utiltarxfapr-util-1.5.4.tar.gzcdapr-util-1.5.4./configure--prefix=/usr/local/apr-util-1.5.4--with-apr=/usr/local/apr-1.5.2/make&&makeinstallecho$?sleep2ln-s/usr/local/apr-util-1.5.4//usr/local/apr-utilcd..yuminstallpcre-develzlib-developenssl-devel-ytarzxvfhttpd-2.4.25.tar.gzcdhttpd-2.4.25./configure--prefix=/usr/local/httpd-2.4.25\--with-apr=/usr/local/apr-1.5.2\--with-apr-util=/usr/local/apr-util-1.5.4\--enable-so--enable-deflate--enable-expires\--enable-headers--enable-ssl--enable-rewrite\--enable-mpms-shared=all--with-mpm=prefork\--enable-mods-shared=mostecho$?sleep2makemakeinstallln-s/usr/local/httpd-2.4.25//usr/local/httpdecho"exportPATH=/usr/local/httpd/bin:$PATH">>/etc/profile./etc/profilesed-i's/#ServerNamewww.example.com:80/ServerNamelocalhost:80/g'/usr/local/httpd/conf/httpd.confapachectlstartnetstat-lntup|grep80>/dev/null&&echoOK!

    3、MySQL安装与配置,此处为二进制安装

    useradd -s /sbin/nologin -M mysql
    wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17
    ln -s /usr/local/mysql-5.7.17 /usr/local/mysql
    #创建数据库文件目录
    mkdir -p /data/mysql
    chown -R mysql.mysql /data/
    #配置启动脚本文件,并加入系统服务,自启动
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfig mysqld on
    #配置mysql配置文件

    cat>/etc/my.cnf<<EOF[client]port=3306socket=/tmp/mysql.sockdefault-character-set=utf8[mysqld]port=3306socket=/tmp/mysql.sockbasedir=/usr/local/mysqldatadir=/data/mysqlpid-file=/data/mysql/mysql.piduser=mysqlbind-address=0.0.0.0server-id=1init-connect='SETNAMESutf8'character-set-server=utf8#skip-name-resolve#skip-networkingback_log=300max_connections=1000max_connect_errors=6000open_files_limit=65535table_open_cache=128max_allowed_packet=4Mbinlog_cache_size=1Mmax_heap_table_size=8Mtmp_table_size=16Mread_buffer_size=2Mread_rnd_buffer_size=8Msort_buffer_size=8Mjoin_buffer_size=8Mkey_buffer_size=4Mthread_cache_size=8query_cache_type=1query_cache_size=8Mquery_cache_limit=2Mft_min_word_len=4log_bin=mysql-binbinlog_format=mixedexpire_logs_days=30log_error=/data/mysql/mysql-error.logslow_query_log=1long_query_time=1slow_query_log_file=/data/mysql/mysql-slow.logperformance_schema=0explicit_defaults_for_timestamp#lower_case_table_names=1skip-external-lockingdefault_storage_engine=InnoDB#default-storage-engine=MyISAMinnodb_file_per_table=1innodb_open_files=500innodb_buffer_pool_size=64Minnodb_write_io_threads=4innodb_read_io_threads=4innodb_thread_concurrency=0innodb_purge_threads=1innodb_flush_log_at_trx_commit=2innodb_log_buffer_size=2Minnodb_log_file_size=32Minnodb_log_files_in_group=3innodb_max_dirty_pages_pct=90innodb_lock_wait_timeout=120bulk_insert_buffer_size=8Mmyisam_sort_buffer_size=8Mmyisam_max_sort_file_size=10Gmyisam_repair_threads=1interactive_timeout=28800wait_timeout=28800[mysqldump]quickmax_allowed_packet=16M[myisamchk]key_buffer_size=8Msort_buffer_size=8Mread_buffer=4Mwrite_buffer=4MEOF

    #初始化数据库:
    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
    #配合环境变量
    echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
    . /etc/profile

    #启动MySQL服务
    /etc/init.d/mysqld start
    Starting MySQL.. SUCCESS!
    netstat -lntup|grep 3306
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 28150/mysqld
    ps -ef |grep mysql
    root 28284 1 2 07:26 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
    mysql 29119 28284 5 07:26 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql-error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306

    #修改root密码:

    法1:mysql -uroot -e "Set password=password(‘123.com’);"
    法2:mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456.com') where user='root';"

    法3:update mysql.user set authentication_string=password("123.com") where user='root';


    4、PHP的安装与配置

    #查看apache和MySQL启动是否正常

    netstat -lntup|egrep '80|3306'
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 29119/mysqld
    tcp 0 0 :::80 :::* LISTEN 26925/httpd

    1)扩展支持(mcrypt、mhash扩展和libevent)

    mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

    mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。
    mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制
    它主要用来替换事件驱动的网络服务器上的event loop机制。
    目前来说, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。

    centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包
    可以使用第三方源,这样还可以使用yum来安装
    安装第三方yum源
    wget http://www.atomicorp.com/installers/atomic

    sh ./atomic

    使用yum命令安装

    yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devellibevent libevent-devel

    2)支持xml的相关包

    支持xml的rpm包
    bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件能够高效的完成文件数据的压缩
    libcurl主要功能就是用不同的协议连接和沟通不同的服务器,也就是相当封装了的sockPHP
    libcurl允许你用不同的协议连接和沟通不同的服务器

    yum install libxml2 libxml2-devel bzip2-devel libcurl-devel

    3)图形相关的rpm包

    yum install libjpeg-devel libpng-devel freetype-devel

    #可复制批量安装,中间加了一些常用的包,可检查是否安装,否则后面配置时会报错

    wget http://www.atomicorp.com/installers/atomic

    sh ./atomic
    yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel gd-devel curl-devel openssl-devel libxslt-devel* php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel libxml2 libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel

    如yum安装有问题可以编译安装mcrypt、libmcrypt、mhash库:

    下载地址:wgethttp://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gzwgethttp://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gzwgethttp://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gztarzxvflibmcrypt-2.5.8.tar.gzcdlibmcrypt-2.5.8./configure--prefix=/usr/local/libmcryptmake&&makeinstallcd..tar-zxvfmhash-0.9.9.9.tar.gzcdmhash-0.9.9.9./configuremake&&makeinstallcd..tarzxvfmcrypt-2.6.8.tar.gzcdmcrypt-2.6.8./configure--with-libmcrypt-prefix=/usr/local/libmcrypt/make&&makeinstallcd..echo"/usr/local/libmcrypt/lib">>/etc/ld.so.conf.d/lib.confecho"/usr/local/lib">>/etc/ld.so.conf.d/lib.conf#配置额外的库文件路径,也就是上面安装的库文件需要指定路径重新加载ldconfig-v#重新加载库文件注意:此处源码只安装了在国内yum库中无法安装的库文件,如PHP配置时缺少包文件需要yum安装。

    #安装PHP

    wget http://219.238.7.71/files/1007000009B9E9D0/cn2.php.net/distributions/php-5.6.30.tar.gztar zxvf php-5.6.30.tar.gz
    cd php-5.6.30

    ./configure \
    --prefix=/usr/local/php \
    --with-config-file-path=/usr/local/php/etc \
    --with-apxs2=/usr/local/httpd/bin/apxs \
    --enable-inline-optimization \
    --enable-fpm \
    --with-mysql=/usr/local/mysql \
    --with-mysqli=/usr/local/mysql/bin/mysql_config \
    --with-pdo-mysql=/usr/local/mysql \
    --with-gettext \
    --enable-mbstring \
    --with-iconv=/usr/local/libiconv \
    --with-mcrypt \
    --with-mhash \
    --with-openssl \
    --enable-bcmath \
    --enable-soap \
    --with-libxml-dir \
    --enable-sockets \
    --with-curl \
    --with-zlib \

    --enable-zip \
    --with-bz2 \
    --with-gd \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-png-dir \

    --enable-ctype \

    --enable-xml

    echo $?
    make
    make install
    cp php.ini-production /usr/local/php/etc/php.ini

    #检查apache和PHP整合

    grep modules/libphp5.so /usr/local/httpd/conf/httpd.conf
    修改apache配置文件:
    vim /usr/local/httpd/conf/httpd.conf
    ServerName 127.0.0.1:80
    #增加:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    #修改用户:
    User www
    Group www
    #修改主页文件:
    <IfModule dir_module>
    DirectoryIndex index.php index.html
    </IfModule>


    #检查apache配置文件:

    /usr/local/httpd/bin/apachectl -t
    Syntax OK

    #编写测试页,测试PHP是否正常解析

    vim /usr/local/apache/htdocs/index.php
    <?php
    phpinfo();
    ?>
    #重新加载apache配置文件
    /usr/local/apache/bin/apachectl graceful

    测试访问正常!

    #编写测试代码,测试数据库链接是否正常
    vim /usr/local/apache/htdocs/mysql-test.php
    <?php
    //$link_id=mysql_connect('主机名','用户','密码');
    $link_id=mysql_connect('localhost','root','123.com') or mysql_error();
    if($link_id){
    echo "mysql is ok!\n";
    }else{
    echo "mysql_error()";
    }
    ?>

    #到此LAMP安装完成!


    5、zabbix安装配置

    wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz

    #安装支持监控snmp包监控交换机等
    yum install net-snmp-devel
    tar zxvf zabbix-3.0.8.tar.gz
    cd zabbix-3.0.8
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
    make && make install
    echo $?

    #配置数据库导入数据
    mysql>create database zabbix;
    mysql>grant all on zabbix.* to 'zabbixuser'@'localhost' identified by '123.com';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> use zabbix;
    mysql> source /root/tools/zabbix-3.0.8/database/mysql/schema.sql
    mysql> source /root/tools/zabbix-3.0.8/database/mysql/p_w_picpaths.sql
    mysql> source /root/tools/zabbix-3.0.8/database/mysql/data.sql
    #初始化sql文件在源码包/root/zabbix-3.0.4/database/mysql目录下
    #配置zabbix_server配置文件修改如下:
    vim /usr/local/zabbix/etc/zabbix_server.conf
    LogFile=/usr/local/zabbix/logs/zabbix_server.log
    DBHost=localhsot
    DBName=zabbix
    DBUser=zabbixuser
    DBPassword=123.com #zabbixuser的密码
    LogSlowQueries=3000

    cp misc/init.d/fedora/core/* /etc/init.d/
    chmod +x /etc/init.d/zabbix_server
    chmod +x /etc/init.d/zabbix_agentd
    sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd
    sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server
    useradd -s /sbin/nologin -M zabbix
    mkdir /usr/local/zabbix/logs
    chown -R zabbix.zabbix /usr/local/zabbix/
    /etc/init.d/zabbix_agentd start
    /etc/init.d/zabbix_server start
    netstat -lntup|grep 1005
    tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 28005/zabbix_agentd
    tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 27916/zabbix_server

    #拷贝代码文件到apache发布目录下修改名为zabbix:

    cp -a frontends/php /usr/local/httpd/htdocs/zabbix

    sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#g' /usr/local/php/etc/php.ini
    sed -i 's#post_max_size = 8M#post_max_size = 16M#g' /usr/local/php/etc/php.ini
    sed -i 's#max_execution_time = 30#max_execution_time = 300#g' /usr/local/php/etc/php.ini
    sed -i 's#max_input_time = 60#max_input_time = 300#g' /usr/local/php/etc/php.ini
    #去掉前面的#号即可,纠结了半天。
    sed -i 's#;always_populate_raw_post_data = -1#always_populate_raw_post_data = -1#g' /usr/local/php/etc/php.ini
    #重新加载apache
    /usr/local/httpd/bin/apachectl graceful

    最后一步(install)会报错,无法创建配置文件。
    下载配置文件,保存到/usr/local/httpd/htdocs/zabbix/conf/zabbix.conf.php
    重新登陆即可:usename:admin password:zabbix

    修改中文:administration>>users>>admin>>language(chinese(zh_CN)) 更新网页即可。

    解决图形界面中文乱码的问题:
    从windows下控制面板->字体->选择一种中文字库例如“楷体”
    cd /usr/local/httpd/htdocs/zabbix/fonts
    mv DejaVuSans.ttf DejaVuSans.ttf.bak
    rz 上传字体文件simkai.ttf到当前目录
    ls
    DejaVuSans.ttf.bak simkai.ttf
    vim ../include/defines.inc.php
    在VIM编辑中使用替换功能将DejaVuSans替换成simkai,不添加后缀。
    :%s/DejaVuSans/simkai

    问题1:
    ./zabbix_server
    ./zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
    解决:
    # find / -name "libmysqlclient.so.20"
    /usr/local/mysql-5.7.17/lib/libmysqlclient.so.20
    ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib
    ldconfig

    怎样进行LAMP源码安装以及如何搭建zabbix监控.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: lampzabbix