• LAMP 环境搭建


    熟悉开发环境,可以更好地完成开发工作。

    本篇选用最新版本 Apache 2.4 + PHP 7.3 + PostgreSQL 11.2

    服务器是 CentOS 7.6,全部编译安装

    一、安装 Apache

    1、安装包 - http://archive.apache.org/dist/httpd/httpd-2.4.38.tar.gz

    2、安装

    --------- 安装 pcre ----------
    
    # cd /usr/local/src/
    
    # wget https://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.gz
    
    # tar -axvf pcre-8.39.tar.gz
    
    # cd pcre-8.39
    
    # ./configure
    
    # make
    
    # make install
    
    
    
    --------- 安装 apr ----------
    
    # cd /usr/local/src/
    
    # wget http://mirrors.ocf.berkeley.edu/apache/apr/apr-1.6.5.tar.gz
    
    # tar -zxvf apr-1.6.5.tar.gz
    
    # cd apr-1.6.5
    
    # ./configure
    
    # make
    
    # make install
    
    
    
    --------- 安装 apr-util ----------
    
    # cd /usr/local/src/
    
    # wget http://mirrors.ocf.berkeley.edu/apache/apr/apr-util-1.6.1.tar.gz
    
    # tar -zxvf apr-util-1.6.1.tar.gz
    
    # cd apr-util-1.6.1
    
    # ./configure --with-apr=/usr/local/apr
    
    # make
    
    # make install
    
    
    
    --------- 安装 Apache ----------
    
    # cd /usr/local/src/
    
    # wget http://archive.apache.org/dist/httpd/httpd-2.4.38.tar.gz
    
    # tar -zxvf httpd-2.4.38.tar.gz
    
    # cd httpd-2.4.38
    
    # ./configure --prefix=/usr/local/apache --with-layout=Apache --enable-rewrite --enable-so --enable-expires --enable-proxy --enable-headers --enable-info  --with-apr=/usr/local/apr --with-pcre=/usr/local/pcre
    
    # make
    
    # make install
    
    
    --------- 设置开机自启动 ----------
    
    systemctl 脚本存放在 /usr/lib/systemd/ 目录中,
    
    Apache 设置为开机不登录即可启动,
    
    
    # cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
    
    # ls /etc/init.d/ | grep httpd
    
    # vim /etc/init.d/httpd
        在第一行 #!/bin/sh 下面添加两行,三个数字代表运行、启动、停止的级别
        #chkconfig: 345 85 15
        #description: Start and stop the Apache HTTP Server
        
    # chkconfig --add /etc/init.d/httpd
    
    # service httpd start

    3、遇到的问题

    Q1:configure: error: You need a C++ compiler for C++ support.
    A1:yum -y install gcc-c++
    
    Q2:xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
    A2:yum install expat-devel
    
    Q3:collect2: error: ld returned 1 exit status
        make[2]: *** [htpasswd] Error 1
        make[2]: Leaving directory `/usr/local/src/httpd-2.4.38/support'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory `/usr/local/src/httpd-2.4.38/support'
        make: *** [all-recursive] Error 1
    A3:# cp -r apr-1.6.5 httpd-2.4.38/srclib/apr
        # cp -r apr-util-1.6.1 /usr/local/src/httpd-2.4.38/srclib/apr-util
    
    Q4:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.26.160.216. Set the 'ServerName' directive globally to suppress this message
    A4:将 conf 的 #ServerName localhost:80 注释去掉即可。

    二、安装 pgsql

    1、安装包 - https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.gz

    2、创建用户

    # useradd postgres
    
    # id postgres
    
    # passwd postgres

    3、安装

    # cd /usr/local/src/
    
    # wget https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.gz
    
    # tar -zxvf postgresql-11.2.tar.gz
    
    # chown -R postgres:postgres postgresql-11.2
    
    # su postgres
    
    $ cd postgresql-11.2
    
    $ ./configure --prefix=/usr/local/postgresql-11.2
    
    $ make
    
    $ su root
    
    # make install
    
    # ln -s /usr/local/postgresql-11.2 /usr/local/pgsql
    
    
    ---------- 设置环境变量 --------------
    # su -  postgres
    
    $ cd ~
    
    $ vim .bash_profile
        添加下面三行,路径改为自己的
        export PGHOME=/usr/local/pgsql
        export PGDATA=/usr/local/pgsql/data
        export PATH=$PATH:$HOME/.local/bin:$PGHOME/bin
    
    $ source .bash_profile
    
    
    ----------- 初始化数据库 ------------------
    $ initdb
    
    
    ---------- 启动 psql 服务 ------------
    $ pg_ctl -D /usr/local/pgsql/data -l logfile start
    
    
    ----------- 设置开机自启动 ----------
    # cd /usr/local/src/postgresql-11.2/contrib/start-scripts
    
    # chmod a+x linux
    
    # cp linux /etc/init.d/postgresql
    
    # chkconfig --add pgsql
    
    # service pgsql start
    
    
    ------------- 连接测试 --------------------
    $ psql

     4、遇到的问题

    Q1:configure: error: readline library not found
    A1:$ rpm -qa | grep readline
        $ yum -y install -y readline-devel
    
    Q2:configure: error: zlib library not found
    A2:yum install zlib-devel
    
    Q3:bash: initdb: command not found
    A3:initdb 的路径不对。应该写全路径或设置环境变量
    
    Q4:-bash: psql: command not found
    A4:确保 pgsql/bin/ 在环境变量中

    三、安装 PHP

    1、安装包 - https://www.php.net/distributions/php-7.3.4.tar.gz

    2、安装

    # cd /usr/local/src/
    
    # wget https://www.php.net/distributions/php-7.3.4.tar.gz
    
    # tar -zxvf php-7.3.4.tar.gz
    
    # cd php-7.3.4
    
    # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-pgsql=/usr/local/postgresql-11.2/bin --enable-sigchild --enable-mbstring --enable-mbregex --enable-bcmath --enable-sockets --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib-dir --with-cdb --with-openssl --with-curl=/usr/lib/curl-7.62.0 --with-iconv
    
    # make
    
    # make install
    
    
    --------------- 配置环境变量 ---------------------
    # vim ~/.bashrc
    添加下面三行
    PATH=$PATH:$HOME/bin
    export PATH
    alias php=/usr/local/php/bin/php
    
    # source ~/.bashrc
    
    ------------------ 配置文件 --------------------
    # cd /usr/local/php
    
    # cp /usr/local/src/php-7.3.4/php.ini-development ./lib/php.ini
    
    
    ----------------- httpd.conf 配置 ------------------
    mime_module 中追加下面两行
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # service httpd stop

    # service httpd start

    3、遇到的问题

    Q1:configure: error: libxml2 not found. Please check your libxml2 installation.
    A1:yum install libxml2-devel
    
    Q2:configure: error: Cannot find OpenSSL's <evp.h>
    A2:yum install openssl openssl-devel
    
    Q3:configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
    A3:# cd /usr/local/src
        wget https://curl.haxx.se/download/curl-7.62.0.tar.gz
        # tar -zxvf curl-7.62.0.tar.gz
        # cd curl-7.62.0
        # ./configure --prefix=/usr/lib/curl-7.62.0
        # make
        # make install
    
    Q4:configure: error: jpeglib.h not found.
    A4:yum install libjpeg libjpeg-devel
    
    Q5:configure: error: png.h not found.
    A5:yum install libpng libpng-devel
    
    Q6:Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.
    A6:yum install autoconf

    四、配置域名,测试

    。。

  • 相关阅读:
    Python 之解析配置文件模块ConfigParser
    SonarQube代码质量管理平台
    SVN代码统计工具StatSVN
    python 3接口测试
    python+selenium使用chrome时,报错ignore certificate errors
    python3发送邮件(有附件)
    日记
    杂记 包含 serialize().ajaxStart() .ajaxStop()以及其他
    还是要说一下XML。全当日记
    桑心!XML
  • 原文地址:https://www.cnblogs.com/rendd/p/11622737.html
Copyright © 2020-2023  润新知