• lamp平台搭建论坛网站(Discuz论坛)


    1、 安装Apache

    1) 安装apr

    [root@www lamp]# yum install zlib-devel gcc gcc-c++ openssl-devel pcre-devel -y

    [root@www lamp]# tar -jxf apr-1.4.6.tar.bz2

    [root@www lamp]# cd apr-1.4.6

    [root@www apr-1.4.6]# ./configure --prefix=/usr/local/apr

    [root@www apr-1.4.6]# make && make install

    2) 安装apr-util

    [root@www lamp]# tar -jxf apr-util-1.5.1.tar.bz2

    [root@www lamp]# cd apr-util-1.5.1

    [root@www apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util —with-apr=/usr/local/apr/

    [root@www apr-util-1.5.1]#make && make install

    3) 安装httpd并启动Apache

    [root@www lamp]# tar -zxf httpd-2.4.3.tar.gz

    [root@www lamp]# cd httpd-2.4.3

    [root@www httpd-2.4.3]#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-module=so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --with-mpm=prefork --enable-nonportable-atomics --disable-ipv6  --with-sendfile

    [root@www httpd-2.4.3]# make && make install

    [root@www local]#/usr/local/apache/bin/apachectl -k start

    [root@www local]# lsof -i:80

    释义:

    --enable-module=so 启用模块

    --enable-defalte=shared 传输时启用压缩支持

    --enable-expires=shared 支持HTTP控制

    --enable-rewrite=shared 支持URL重写

    --enable-cache 支持缓存

    --enable-file-cache 支持文件缓存

    --enable-mem-cache 支持内存缓存

    --enable-disk-cache 支持磁盘缓存

    --enable-static-support 支持静态链接(库文件),静态编译到Apache中会大大优化Apache的功能

    --enable-static-ab 使用静态链接编译ab工具页面

    --disable-userdir 禁止用户从自己的主目录中提供

    --with-mpm=prefork Apache使用prefork模式运行

    --enable-nonportable-atomics 支持原子操作

    --disable-ipv6 禁用ipv6

    --with-sendfile 零拷贝,节省系统开销

    apachectl –k start “-k”测试配置文件是否有语法错误

    4) 测试

    Firefox---localhost---“It Works”

    2、 安装MySQL

    1)安装cmake(编译MySQL的工具_32位的系统)

    如果是64位的系统,用yum直接安装cmake即可!!!

    如果是32位的系统,如下操作来安装cmake:

    cmake-3.5.2-Linux-i386.tar.gz 软件包,解压缩就能用

    [root@www lamp]# tar -zxf cmake-3.5.2-Linux-i386.tar.gz  -C /usr/local/cmake

    修改环境变量,让root可以直接使用cmake命令

    [root@www lamp]# vim ~/.bash_profile

    PATH=$PATH:$HOME/bin:/usr/local/cmake/cmake-3.5.2-Linux-i386/bin

    [root@www lamp]# source ~/.bash_profile

    [root@www lamp]# which cmake

    /usr/local/cmake/bin/cmake

    注:如果在其他终端无法使用该命令,重启系统即可

    2) 安装MySQL

    脚本如下:

    #!/bin/bash
    yum remove mariadb-server mariadb mysql-server mysql mysql-devel -y && yum install gcc gcc-c++ ncurses-devel libtool openssl-devel && useradd -s /sbin/nologin -r mysql && mkdir -pv /usr/local/mysql/data && tar zxf mysql-5.5.29.tar.gz && cd mysql-5.5.29 && cmake .
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
    -DWITH_INNODBBASE_STORAGE_ENGINE=1
    -DENABLE_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DMYSQL_USER=mysql
    -DWITH_DEBUG=0
    -DWITH_EMBEDED_SERVER=0 && make && make install && cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf && cp support-files/mysql.server /etc/init.d/mysqlsource && chmod 755 /etc/init.d/mysqlsource && chown mysql.mysql /usr/local/mysql/ -R && sh scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ && ln -s /usr/local/mysql/bin/* /usr/bin/ && ln -s /usr/local/mysql/lib/* /usr/lib/ && ln -s /usr/local/mysql/libexec/* /usr/local/libexec && ln -s /usr/local/mysql/share/man/man1/* /usr/share/man/man1 && ln -s /usr/local/mysql/share/man/man8/* /usr/share/man/man8

     

    启动MySQL

    [root@localhost lamp_software]# /etc/init.d/mysqlsource start

    Starting MySQL.............                                [确定]

    [root@localhost lamp_software]# lsof -i:3306

    如果mysql无法启动,查看其错误日志文件,如下:

    [root@www mysql]# tailf /usr/local/mysql/data/localhost.localdomain.err

    [ERROR] Can't start server : Bind on unix socket: Permission denied   这样的字样

    该错误是由于本机MySQL客户端与服务器端通信使用的是mysql.sock文件,如果mysql不能往该文件中写入,就 会报错说权限拒绝!解决方案如下:

    去配置文件查看mysql.sock文件存放路径,然后修改该目录权限

    [root@www mysql]# ll -d /usr/local/mysql/

    drwxr-xr-x 13 root mysql 4096 10月 18 13:21 /usr/local/mysql/

    [root@www mysql]# chmod g+w /usr/local/mysql/

    3) 测试安装,访问mysql

    [root@localhost lamp]# mysql

    3、 安装PHP  —>严格按照下列的安装顺序安装各个软件包!

    1)安装libiconv---实现字符编码的转换

    [root@www lamp]# tar -zxf libiconv-1.14.tar.gz

    [root@www lamp]# cd libiconv-1.14

    [root@www libiconv-1.14]# ./configure && make && make install

    2)安装libmcrypt ---mcrypt的链接库

    [root@www lamp]# tar -zxf libmcrypt-2.5.8.tar.gz

    [root@www lamp]# cd libmcrypt-2.5.8

    [root@localhost libmcrypt-2.5.8]# ./configure  && make && make install

    ***[root@www libmcrypt-2.5.8]# cd libltdl/         用来加载运行库的库

    [root@localhost libltdl]# ./configure --enable-ltdl-install && make && make install 安装

    [root@www mhash-0.9.9.9]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/

    [root@www mhash-0.9.9.9]# ln -s /usr/local/lib/* /usr/lib 创建链接库文件

    报错:

    _LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point

    *** to the installed location  Also, make sure you have run ldconfig if that

    *** is required on your system

    ***

    *** If you have an old version installed, it is best to remove it, although

    *** you may also be able to get things to work by modifying LD_LIBRARY_PATH

    ***

    configure: error: *** libmcrypt was not found

    [root@Apache_Server mcrypt-2.6.8]#

    解决方法:

    ****环境变量****  

    export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH

    3)安装mhash

    [root@www lamp]# tar -zxf mhash-0.9.9.9.tar.gz

    [root@www lamp]# cd mhash-0.9.9.9

    [root@www mhash-0.9.9.9]# ./configure && make && make install

    4)安装mcrypt ---PHP支持加密的程序

    [root@www lamp]# tar -zxf mcrypt-2.6.8.tar.gz

    [root@www lamp]# cd mcrypt-2.6.8    

    [root@www mcrypt-2.6.8]# ./configure  && make && make install

    5)安装PHP

    [root@www lamp]# yum install libxml2-devel libpng-devel bzip2-devel curl-devel libjpeg-devel freetype-devel net-snmp-devel -y

    [root@www lamp]# tar -jxf php-5.4.11.tar.bz2

    [root@www lamp]# cd php-5.4.11

    [root@www php-5.4.11]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=apache --with-fpm-group=apache --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-mhash --enable-mbstring --with-mcrypt --enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --disable-rpath --disable-debug --with-apxs2=/usr/local/apache/bin/apxs

    [root@Lamp php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/local/lib/ 避免编译安装时找不到libmysqlclient.so.18库文件

    [root@www php-5.4.11]# make ZEND_EXTRA_LIBS='-liconv' && make install

    如果遇到报错如下:

    /usr/src/lamp/php-5.4.11/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

    make[1]: *** [install-pear-installer] 错误 127

    make: *** [install-pear] 错误 2

    解决方法:

    [root@www php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/

    上面的可能仍然无法解决问题,看下面:

    因为之前增加了****环境变量****  LD_LIBRARY_PATH,故php的加载libmysqlclient.so.18时会从该变量指定的路径去找,所以执行下面的命令:

    [root@Lamp php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/local/lib/

    6)配置PHP和Apache

    拷贝php的配置文件

    [root@www php-5.4.11]# cp php.ini-production /usr/local/php/etc/php.ini

    修改Apache配置文件,设置php的索引页

    [root@www php-5.4.11]# vim /usr/local/apache/conf/httpd.conf

    AddType application/x-httpd-php .php

    <IfModule dir_module>

         DirectoryIndex index.php

    </IfModule>

    写一个PHP页面

    [root@www php-5.4.11]# vim /usr/local/apache/htdocs/index.php

    <?php phpinfo(); ?> //勿用“显示时间页面”演示,否则报错—PHP语法报错—不期望的”,”

    修改Apache文档根目录下的索引页

    [root@www php-5.4.11]# cd /usr/local/apache/htdocs/

      [root@www htdocs]# mv index.html index.html.bak

    重启Apache

    [root@www php-5.4.11]# killall httpd

    [root@www php-5.4.11]# /usr/local/apache/bin/apachectl -k start

    7)测试:

    地址栏—>localhost(回车)—>php首页

    4、 PHP制作成服务

    PHP-5.4之前版本,使用fastCGI做服务

    PHP-5.4以后版本,使用fpm做服务

    php-fpm:FastCGI Process Manager(FastCGI进程管理器)

    1)设置启动管理脚本

    [root@www mysql]# cd /usr/src/lamp-software/php-5.4.11

    [root@www php-5.4.11]# cd sapi/

    [root@www sapi]# cd fpm/

    [root@www fpm]# cp init.d.php-fpm /etc/init.d/php-fpm 启动管理脚本

    [root@www fpm]# chmod 755 /etc/init.d/php-fpm

    2)设置fpm配置文件

    [root@www fpm]# cd /usr/local/php/etc/

    [root@www etc]# cp php-fpm.conf.default php-fpm.conf

    listen = 0.0.0.0:9000 监听端口

    access.log = /tmp/fpm.access.log 访问日志

    error_log = /tmp/fpm.err.log 错误日志

    [root@www etc]# /etc/init.d/php-fpm start 启动PHP服务

    5、安装Discuz论坛

    1)解压缩软件包

    [root@www lamp]# mkdir Discuz

    [root@www lamp]# mv Discuz_7.2_FULL_SC_UTF8.zip Discuz

    [root@www lamp]# cd Discuz

    [root@www Discuz]# unzip Discuz_7.2_FULL_SC_UTF8.zip

    [root@www Discuz]# mv upload/* /usr/local/apache/htdocs/

    mv:是否覆盖"/usr/local/apache/htdocs/index.php"? y

    2)安装配置

    浏览器中输入http://localhost/install进行安装

    报错:“对不起,请将 php.ini 中的 short_open_tag 设置为 On,否则无法继续安装”

    [root@www Discuz]# vim /usr/local/php/etc/php.ini

    short_open_tag = On //php语法有关。开启后可以使用<? =替代<? echo

    重启Apache使修改生效

    [root@www Discuz]# killall httpd

      [root@www Discuz]# /usr/local/apache/bin/httpd

    刷新页面---权限不可写,操作如下:

    [root@www Discuz]# cd /usr/local/apache/htdocs/

    [root@www htdocs]# chmod 777 -R * 线上注意:只改那些需要改的文件

    再次刷新页面—下一步,下面是需要填写的项目:

    数据库用户名:root

    数据库密码:空

    管理员密码:123456

    重复密码:123456

    其他项目默认值即可

    下一步,改善计划---跳过---完成

  • 相关阅读:
    Eclipse检出原MyEclipse项目后 javax.servlet.http相关类都报错【我,体现着一类jar包问题的处理方法】
    Tomcat中加载不到项目 项目构建Deployment Assembly报错:The given project is not a virtual component project
    Unity手游之路<十一>资源打包Assetbundle
    Unity手游之路<十二>手游资源热更新策略探讨
    Unity手游之路<十三>手游代码更新策略探讨
    观察者(Observer)模式
    访问者(Visitor)模式
    设计模式(15)-Facade Pattern
    使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB)
    思维导图快捷键
  • 原文地址:https://www.cnblogs.com/Stephen-blog/p/10498364.html
Copyright © 2020-2023  润新知