当前位置: 首页 > news >正文

centos7源码安装lamp(新)

一、安装apache:

  1. 安装软件:
    a. httpd官方网站/下载地址:
    http://httpd.apache.org/download.cgi
    或
    https://github.com/dollarphper/soft/raw/master/apache/httpd-2.4.34.tar.gz

    b. arp、arp-util官方网站:

    http://apr.apache.org/download.cgi
    或
    https://github.com/dollarphper/soft/raw/master/apache/apr-1.6.3.tar.gz
    https://github.com/dollarphper/soft/raw/master/apache/apr-util-1.6.1.tar.gz

    c. pcre官方网站:

    https://www.pcre.org/
    或
    https://github.com/dollarphper/soft/raw/master/apache/pcre-8.42.tar.gz
  2. 安装:
    a. 安装依赖:
    yum  -y  install  expat-devel
    yum  -y  install  libxml2-devel

    b. 解压:

    tar  -xzf  httpd-2.4.34.tar.gz
    tar  -xzf  apr-1.6.3.tar.gz
    tar  -xzf  apr-util-1.6.1.tar.gz
    tar  -xzf  pcre-8.42.tar.gz

    c. 移动apr、apr-util到httpd目录下并重命名:

    mv  apr-1.6.3  httpd-2.4.34/srclib/apr
    mv  apr-util-1.6.1  httpd-2.4.34/srclib/apr-util

    d. 安装pcre:
    d-1. 创建文件夹:

    mkdir  /etc/pcre

    d-2. 进入pcre目录:

    cd  pcre-8.42

    d-3. 编译安装:

    ./configure  --prefix=/etc/pcre
    make  &&  make  install  &&  make  clean

    e. 安装apache:
    e-1. 创建文件夹:

    mkdir  /etc/httpd

    e-2. 进入apache目录:

    cd  httpd-2.4.34

    e-3. 编译安装:

    ./configure  --prefix=/etc/httpd  -with-pcre=/etc/pcre/bin/pcre-config  -with-included-apr
    make  &&  make  install  &&  make  clean

    e-4. 创建apache用户:

    useradd  -s  /sbin/nologin  -M  apache

    e-5. 安装gzip模块:

    /etc/httpd/bin/apxs  -i  -c  -a  /home/lee/lamp/apache/httpd-2.4.34/modules/filters/mod_deflate.c

    e-6. 安装rewrite模块:

    /etc/httpd/bin/apxs  -i  -c  -a  /home/lee/lamp/apache/httpd-2.4.34/modules/mappers/mod_rewrite.c
  3. 配置:
    a. 修改配置文件:
    vim /etc/httpd/conf/httpd.conf
    ServerRoot "/etc/httpd"
    ServerName lee
    User apache
    Group apache
    Listen 80
    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_core_module modules/mod_authz_core.so
    LoadModule access_compat_module modules/mod_access_compat.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule env_module modules/mod_env.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule unixd_module modules/mod_unixd.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule php7_module        modules/libphp7.so
    LoadModule deflate_module     modules/mod_deflate.so
    LoadModule rewrite_module     modules/mod_rewrite.so
    <IfModule deflate_module>
    SetOutputFilter DEFLATE
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:pdf|doc|avi|mov|mp3|rm)$ no-gzip dont-vary
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    AddOutputFilterByType DEFLATE application/x-javascript
    </IfModule>
    LimitRequestBody 10485760
    <IfModule unixd_module>
    User apache
    Group apache
    </IfModule>
    ServerAdmin you@example.com
    <Directory />
    AllowOverride none
    Require all denied
    </Directory>
    DocumentRoot "/var/www/html"
    <Directory "/var/www/html">
    Header set Access-Control-Allow-Origin *
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
    AcceptPathInfo on
    </Directory>
    <IfModule dir_module>
    DirectoryIndex index.php index.html
    </IfModule>
    <Files ".ht*">
    Require all denied
    </Files>
    ErrorLog "logs/error_log"
    LogLevel warn
    <IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" common
    </IfModule>
    <IfModule alias_module>
    ScriptAlias /cgi-bin/ "/etc/httpd/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>
    </IfModule>
    <Directory "/etc/httpd/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
    </Directory>
    <IfModule headers_module>
    RequestHeader unset Proxy early
    </IfModule>
    <IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php .phtml .php3 .inc
    </IfModule>
    <IfModule proxy_html_module>
    Include conf/extra/proxy-html.conf
    </IfModule>
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>

    b. 新建文件夹:

    mkdir  -p  /var/www/html
  4. 测试:
    a. 启动命令:
    /etc/httpd/bin/apachectl  -k  start

    b. 停止命令:

    /etc/httpd/bin/apachectl  -k  stop

    c. 重启命令:

    /etc/httpd/bin/apachectl  -k  restart

    d. 添加环境变量:

    echo  'export  PATH=$PATH:/etc/httpd/bin/'  >>  /etc/profile
    .  /etc/profile

    e. 添加启动脚本:
    vim /etc/init.d/httpd

    #!/bin/bash
    function start()
    {
    /etc/httpd/bin/apachectl  -k  start
    }
    function stop()
    {
        /etc/httpd/bin/apachectl  -k  stop
    }
    case "$1" in
    start)
        start
    ;;  
    stop)
        stop
    ;;  
    restart)
        stop
        start
    ;;
    *)
        echo "Usage : start | stop | restart"
    ;;
    esac

    f. 加载httpd:

    chmod  +x  /etc/init.d/httpd
    systemctl  daemon-reload

    g. 创建测试文件:

    echo  "hello world"  >  /var/www/html/index.html

    h. 浏览器访问:
    centos7源码安装lamp(新)
    二、安装mysql:

  5. 下载:
    https://dev.mysql.com/downloads/mysql/
    或
    https://github.com/dollarphper/soft/blob/master/mysql/mysql-boost-8.0.12.tar.gz
  6. 安装:
    a. 安装依赖:
    yum -y install cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel

    b. 创建用户:

    useradd mysql -s /sbin/nologin -M

    c. 创建文件夹:

    mkdir -p /usr/local/mysql/data

    d. 解压:

    tar  -xzf  mysql-boost-8.0.12.tar.gz

    e. 编译安装:

    cd  mysql-8.0.12
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DSYSCONFDIR=/etc \
    -DMYSQL_TCP_PORT=3306 \
    -DWITH_BOOST=./boost
    make  &&  make  install
  7. 配置:
    a. 修改mysql所属者为mysql:
    chown  -R  mysql.mysql  /usr/local/mysql

    b. 修改配置文件:
    vim /etc/my.cnf

    [mysqld]
    server-id=1
    port=3306
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    ngram_token_size=2

    c. 初始化:

    /usr/local/mysql/bin/mysqld  --initialize-insecure  --user=mysql --datadir=/usr/local/mysql/data
    /usr/local/mysql/bin/mysql_ssl_rsa_setup

    d. 启动服务:

    /usr/local/mysql/bin/mysqld_safe  --user=mysql  &

    e. 添加到环境变量:

    echo  'export  PATH=$PATH:/usr/local/mysql/bin/'  >>  /etc/profile
    .  /etc/profile

    f. 添加启动脚本:
    vim /etc/init.d/mysqld

    #!/bin/bash
    function start()
    {
    /usr/local/mysql/bin/mysqld_safe  --user=mysql  &
    }
    function stop()
    {
    /usr/bin/pkill  mysqld
    }
    case "$1" in
    start)
        start
    ;;  
    stop)
        stop
    ;;  
    restart)
        stop
        start
    ;;
    *)
        echo "Usage : start | stop | restart"
    ;;
    esac

    g. 加载mysqld:

    chmod  +x  /etc/init.d/mysqld
    systemctl  daemon-reload

    k. 添加用户:

    CREATE  USER `root`@`%`  IDENTIFIED  BY  '123456';

    l. 授权:

    GRANT  ALL  ON *.*  TO  `root`@`%`  WITH  GRANT  OPTION;

    m. 删除系统预留用户:

    delete  from  mysql.user  where  host<>'%';

    n. 刷新权限:

    flush  privileges;

    o. 允许远程登录:
    o-1. 设置变量:

    SET  GLOBAL innodb_fast_shutdown  =  1;

    o-2. 退出:

    quit

    o-3. 升级:

    mysql_upgrade  -u  root  -p123456
  8. 测试:
    /usr/local/mysql/bin/mysql
    centos7源码安装lamp(新)
    三、安装php:
  9. 下载:
    http://us1.php.net/downloads.php
    或
    https://github.com/dollarphper/soft/blob/master/php/php-7.2.10.tar.gz
  10. 安装:
    a. 安装依赖:
    yum  -y  install  libxml2  libxml2-devel
    yum  -y  install  curl-devel  libjpeg-devel  libpng-devel  freetype-devel
    yum  -y  install  libicu-devel
    yum  -y  install  libxslt-devel
    yum  -y  install  openssl  openssl-devel

    b. 解压:

    tar  -xzf  php-7.2.10.tar.gz

    c. 编译:

    cd  php-7.2.10
    ./configure  \
    --prefix=/usr/local/php   \
    --with-apxs2=/etc/httpd/bin/apxs  \
    --with-config-file-path=/usr/local/php/etc  \
    --enable-mysqlnd  \
    --with-mysqli=mysqlnd  \
    --with-pdo-mysql=mysqlnd  \
    --with-iconv-dir  \
    --with-freetype-dir=/usr/local/freetype  \
    --with-jpeg-dir  \
    --with-png-dir  \
    --with-zlib  \
    --with-libxml-dir=/usr  \
    --enable-xml  \
    --disable-rpath  \
    --enable-bcmath  \
    --enable-shmop  \
    --enable-sysvsem  \
    --enable-inline-optimization  \
    --with-curl  \
    --enable-mbregex  \
    --enable-mbstring  \
    --enable-intl  \
    --enable-pcntl  \
    --enable-ftp  \
    --with-gd  \
    --with-openssl  \
    --with-mhash  \
    --enable-pcntl  \
    --enable-sockets  \
    --with-xmlrpc  \
    --enable-zip  \
    --enable-soap  \
    --with-gettext  \
    --disable-fileinfo  \
    --enable-opcache  \
    --enable-maintainer-zts  \
    --with-xsl

    d. 安装:

    make  &&  make  install

    e. 下载pthreads:

    git  clone  https://github.com/krakjoe/pthreads.git

    f. 安装pthreads:

    cd  pthreads
    phpize
    ./configure  --with-php-config=/usr/local/php/bin/php-config
    make  &&  make install

    g. 开启pthreads扩展:
    vim /usr/local/php/etc/php.ini

    [pthreads]
    extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/pthreads.so

    h. 安装phpunit:
    h-1. 下载:

    wget  -O  phpunit  https://phar.phpunit.de/phpunit-7.phar

    h-2. 授权:

    chmod  +x  phpunit

    h-3. 添加到环境变量:

    mv  phpunit  /usr/local/php/bin

    i. 安装xdebug:
    i-1. 下载:

    git  clone  git://github.com/xdebug/xdebug.git

    i-2. 进入目录:

    cd  xdebug

    i-3. 生成编译文件:

    /usr/local/php/bin/phpize

    i-4. 编译:

    ./configure  --enable-xdebug  --with-php-config=/usr/local/php/bin/php-config

    i-5. 安装:

    make  &&  make  install

    i-6. 配置:

    [xdebug]
    zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=172.20.10.2
    xdebug.remote_port=9000
    xdebug.idekey="PHPSTORM"
  11. 配置:
    a. 拷贝配置文件:
    cp  php.ini-production  /usr/local/php/etc/php.ini

    b. 配置文件参考:

    [PHP]
    engine = On
    short_open_tag = Off
    precision = 14
    output_buffering = 4096
    zlib.output_compression = Off
    implicit_flush = Off
    unserialize_callback_func =
    serialize_precision = -1
    disable_functions =
    disable_classes =
    zend.enable_gc = On
    expose_php = On
    max_execution_time = 30
    max_input_time = 60
    memory_limit = 512M
    error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
    display_errors = on
    display_startup_errors = Off
    log_errors = On
    log_errors_max_len = 1024
    ignore_repeated_errors = Off
    ignore_repeated_source = Off
    report_memleaks = On
    html_errors = On
    variables_order = "GPCS"
    request_order = "GP"
    register_argc_argv = Off
    auto_globals_jit = On
    post_max_size = 8M
    auto_prepend_file =
    auto_append_file =
    default_mimetype = "text/html"
    default_charset = "UTF-8"
    doc_root =
    user_dir =
    enable_dl = Off
    file_uploads = On
    upload_max_filesize = 20M
    max_file_uploads = 20
    allow_url_fopen = On
    allow_url_include = Off
    default_socket_timeout = 99999999
    date.timezone = PRC
    [CLI Server]
    cli_server.color = On
    [Date]
    [filter]
    [iconv]
    [intl]
    [sqlite3]
    [Pcre]
    [Pdo]
    [Pdo_mysql]
    pdo_mysql.cache_size = 2000
    pdo_mysql.default_socket=
    [Phar]
    [mail function]
    SMTP = localhost
    smtp_port = 25
    mail.add_x_header = Off
    [ODBC]
    odbc.allow_persistent = On
    odbc.check_persistent = On
    odbc.max_persistent = -1
    odbc.max_links = -1
    odbc.defaultlrl = 4096
    odbc.defaultbinmode = 1
    [Interbase]
    ibase.allow_persistent = 1
    ibase.max_persistent = -1
    ibase.max_links = -1
    ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
    ibase.dateformat = "%Y-%m-%d"
    ibase.timeformat = "%H:%M:%S"
    [MySQLi]
    mysqli.max_persistent = -1
    mysqli.allow_persistent = On
    mysqli.max_links = -1
    mysqli.cache_size = 2000
    mysqli.default_port = 3306
    mysqli.default_socket =
    mysqli.default_host =
    mysqli.default_user =
    mysqli.default_pw =
    mysqli.reconnect = Off
    [mysqlnd]
    mysqlnd.collect_statistics = On
    mysqlnd.collect_memory_statistics = Off
    [OCI8]
    [PostgreSQL]
    pgsql.allow_persistent = On
    pgsql.auto_reset_persistent = Off
    pgsql.max_persistent = -1
    pgsql.max_links = -1
    pgsql.ignore_notice = 0
    pgsql.log_notice = 0
    [bcmath]
    bcmath.scale = 0
    [browscap]
    [Session]
    session.save_handler = files
    session.use_strict_mode = 0
    session.use_cookies = 1
    session.use_only_cookies = 1
    session.name = PHPSESSID
    session.auto_start = 0
    session.cookie_lifetime = 0
    session.cookie_path = /
    session.cookie_domain =
    session.cookie_httponly =
    session.serialize_handler = php
    session.gc_probability = 1
    session.gc_divisor = 1000
    session.gc_maxlifetime = 1440
    session.referer_check =
    session.cache_limiter = nocache
    session.cache_expire = 180
    session.use_trans_sid = 0
    session.sid_length = 26
    session.trans_sid_tags = "a=href,area=href,frame=src,form="
    session.sid_bits_per_character = 5
    [Assertion]
    zend.assertions = -1
    [COM]
    [mbstring]
    [gd]
    [exif]
    [Tidy]
    tidy.clean_output = Off
    [soap]
    soap.wsdl_cache_enabled=1
    soap.wsdl_cache_dir="/tmp"
    soap.wsdl_cache_ttl=86400
    soap.wsdl_cache_limit = 5
    [sysvshm]
    [ldap]
    ldap.max_links = -1
    [dba]
    [opcache]
    [curl]
    [openssl]
    [pthreads]
    extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/pthreads.so
    [xdebug]
    zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=172.20.10.2
    xdebug.remote_port=9000
    xdebug.idekey="PHPSTORM"

    c. 添加环境变量:

    echo  'export  PATH=$PATH:/usr/local/php/bin/'  >>  /etc/profile
    .  /etc/profile

转载于:https://blog.51cto.com/12173069/2286331

相关文章:

  • nginx set变量后lua无法改值
  • RabbitMQ Performance Testing Tool 性能测试工具
  • Perl检查引用类型
  • 网络七层协议
  • django中获得当前域名
  • Java编程基础24——递归练习
  • E-HPC支持多队列管理和自动伸缩
  • 聊聊我的linux系统学习之路
  • Python3将ipa包中的文件按大小排序
  • 2018 php 面试
  • 【网络文摘】一位36岁程序员的困惑
  • rabbitMQ 常用命令
  • Benefits of encapsulation
  • 【附node操作实例】redis简明入门系列—字符串类型
  • [译] 尤雨溪:Vue 3.0 计划
  • 03Go 类型总结
  • Bootstrap JS插件Alert源码分析
  • express.js的介绍及使用
  • Git 使用集
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • java8-模拟hadoop
  • java小心机(3)| 浅析finalize()
  • Laravel 实践之路: 数据库迁移与数据填充
  • maven工程打包jar以及java jar命令的classpath使用
  • Octave 入门
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • SpringBoot几种定时任务的实现方式
  • Vue2.0 实现互斥
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从输入URL到页面加载发生了什么
  • 翻译:Hystrix - How To Use
  • 聊一聊前端的监控
  • 区块链分支循环
  • 容器服务kubernetes弹性伸缩高级用法
  • 什么软件可以剪辑音乐?
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • 正则表达式-基础知识Review
  • #{}和${}的区别是什么 -- java面试
  • #define 用法
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #include到底该写在哪
  • #QT项目实战(天气预报)
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (04)odoo视图操作
  • (1) caustics\
  • (独孤九剑)--文件系统
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (三)终结任务
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)3D模板阴影原理
  • (转载)hibernate缓存
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题