LAMP搭建DISCU!论坛

试验机为centos6.8 i686

应用的包

  mysql-5.1.73-linux-i686-glibc23.tar.gz

  httpd-2.2.24.tar.bz2

  php-5.4.44.tar.gz

  Discuz_X3.2_SC_GBK.zip


mysql

下载

cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

初始化

 tar zxvf /usr/local/src/mysql-5.1.-linux-i686-icc-glibc23.tar.gz //解压
mv mysql-5.1.-linux-i686-icc-glibc23 /usr/local/mysql //挪动位置
useradd -s /sbin/nologin mysql //建立 mysql 用户
cd /usr/local/mysql
mkdir -p /data/mysql // 创建 datadir,数据库文件会放到这里面
chown -R mysql:mysql /data/mysql //更改权限
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql --user 定义数据库的所属主,--datadir 定义数据库安装到哪里

验证一下 echo $?

常见问题

(1)错误: ./bin/mysqld: error while loading shared libraries: libstdc++.so.5: cannot
      open shared object file:
    解决:
      yum install -y compat-libstdc++-33
(2)错误:./scripts/mysql_install_db: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad
      ELF interpreter: No such file or directory
    这是因为,你的系统版本和 mysql 版本不一致。比如,你的系统是 32 位,结果你下载
    了一个 64 位的包。所以,解决办法是,下载合适的包。

配置 
  拷贝配置文件
  

  cp support-files/my-large.cnf /etc/my.cnf

  拷贝启动脚本文件并修改其属性
  

  cp support-files/mysql.server /etc/init.d/mysqld
  chmod /etc/init.d/mysqld

  修改启动脚本
  

  vim /etc/init.d/mysqld
  修改的地方 “datadir=/data/mysql” (前面初始化数据库时定义的目录)

 

 把启动脚本加入系统服务项,设定开机启动并启动 mysql
  
  

  chkconfig --add mysqld
  chkconfig mysqld on
  service mysqld start

常见问题
    如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err。

    检查mysql 是否启动的命令为:

    
    

   ps aux |grep mysqld


Apache

下载

 cd /usr/local/src/
wget http://www.lishiming.net/data/attachment/forum/httpd-2.2.24.tar.bz2

解压

 tar jvxf httpd-2.2..tar.bz2

配置编译参数

cd httpd-2.2.
./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
--prefix 指定安装到哪里, --enable-so 表示启用 DSO

常见问题

  (1)

  (2)

  错误

  error: mod_deflate has been requested but can not be built due to prerequisite failures

  解决:
  yum install -y zlib-devel

编译和安装

 make
make install

查看 apache 工作模式的命令

/usr/local/apache2/bin/apachectl -M
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
log_config_module (static)
env_module (static)
setenvif_module (static)
version_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
cgi_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
so_module (static)
deflate_module (shared)
expires_module (shared)
rewrite_module (shared)
通过这个命令也可以看到哪些模块时动态,哪些是静态。

php

下载

 cd /usr/local/src
wget http://cn2.php.net/distributions/php-5.4.44.tar.gz

解压源码包

 tar zxf php-5.4..tar.gz

配置编译参数

cd php-5.4.
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql/ --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir
--with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6

常见问题

  安装过程中出现下面这样的错误,说明系统内缺少库文件

  解决的方法是用

  yum list |grep openssl

  查看库文件包名

  再yum install 进行安装

  如果centos内没有那个库文件yum install -y epel-release安装epel,再安装库文件.

编译安装

 make
make install

配置

  

  1)拷贝 php 配置文件:
  

  cp php.ini-production /usr/local/php/etc/php.ini

  2)修改 apache 配置文件
  

  vi /usr/local/apache2/conf/httpd.conf
  找到:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
  改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
  找到:
AddType application/x-gzip .gz .tgz
  在该行下面添加:
AddType application/x-httpd-php .php
说明,要想支持 php 脚本解析,必须要加上对应的类型。
  找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
  将该行改为:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
说明: 增加针对 php 的索引,如果一个站点默认页为 index.php,那么就得加上这个
index.php 的支持。
找到:
#ServerName www.example.com:
修改为:
ServerName localhost:

查看配置文件是否有问题

 /usr/local/apache2/bin/apachectl -t

如果显示 Syntax OK,说明配置没问题了。

启动服务

 

/usr/local/apache2/bin/apachectl start

检查 apache 是否正常启动

ps aux |grep httpd

看有没有进程列表。

测试 php 解析

vi /usr/local/apache2/htdocs/.php
写入:
<?php
echo "php works.";
?>
保存后,继续测试:
curl localhost/.php

php works. 只有显示这个信息,才算正常解析。如果你的访问不太顺畅,请检测
iptables 规则。

 iptables -nvL
iptables -F
service iptables save

安装 Discuz !

下载

mkdir /data/www  创建目录
cd /data/www
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
unzip Discuz_X3.2_SC_GBK.zip
mv upload/* .

配置第一个虚拟主机
  删除vim /usr/local/apache2/conf/httpd.conf中的下面这行前面的警号
 

  Include conf/extra/httpd-vhosts.conf

  编辑该配置文件
 

   vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  在最后面,加入如下配置:
  <VirtualHost *:>
  DocumentRoot "/data/www"
  ServerName www.spiro.com
  </VirtualHost>

  先检查配置是否正确

  /usr/local/apache2/bin/apachectl -t

  

  重启 apache 服务
  

   /usr/local/apache2/bin/apachectl restart

配置 mysql ,给 Discuz !增加一个账户
    给 mysql root 账户设置密码,然后命令行进入 mysql,创建新的库,并创建一个新的帐
    号对该库有所有权限:

 /usrl/local/mysql/bin/mysql -uroot
这样就可以进入到 mysql 命令行内部,接着输入下面的命令,最前面的>不用输入。
> create database discuz;
> grant all on discuz.* to 'spiro'@'localhost' identified by '';
> quit

mysql账户是spiro,密码是123456

安装 Discuz !

  在浏览器输入:
  http://www.spiro.com/install/
  根据提示,修改对应目录的权限
  

cd /data/www
chown -R daemon:daemon data uc_server/data uc_client/data config

  让这几个目录支持 apache 运行帐号可写,daemon 就是 apache 的运行账号,在
  /usr/local/apache2/conf/httpd.conf 中用 User 和 Group 定义的。

Linux:LAMP搭建DISCU!论坛的更多相关文章

  1. LAMP搭建Discuz论坛

    搭建Discuz论坛 1.  准备LAMP环境 LAMP是Linux,Apache,MySql和PHP的缩写,是Discuz论坛系统依赖的基础运行环境 1.安装Apache2 Ubuntu需要安装Ap ...

  2. Centos6.5下使用LAMP搭建discuz论坛(编译安装 PS :自学中 写的不好请见谅)

    wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.27.tar.gz  下载Apache软件包 wget http://downloads.my ...

  3. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  4. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  5. Linux 搭建Discuz论坛

    title: Linux 搭建Discuz论坛 Welcome to Fofade's Blog! 这里是Linux 搭建论坛的一些命令记录 命令摘记: 下载文件:Discuz 安装环境:PHP Ap ...

  6. 基于Centos搭建 Discuz 论坛

    系统要求:CentOS 6.8 64 位操作系统 搭建 Discuz 论坛 准备 LAMP 环境 LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖 ...

  7. LAMP-五分钟搭建个人论坛

    LAMP-五分钟搭建个人论坛 系统版本:CentOS7 1.##安装lamp及依赖软件wget http://repo.mysql.com/mysql-community-release-el7-5. ...

  8. (原创)LAMP搭建之一:图解如何安装并检查LAMP

    LAMP搭建之一:图解如何安装并检查LAMP 第一步:安装Linux(RedHat5) 第二步:rpm -qa httpd(查看apache是否安装) rpm -qa php(查看php是否安装) r ...

  9. LAMP 搭建wordpress部署教程贴.

    LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...

随机推荐

  1. CSS 图片

    CSS 图片 一.圆角图片 img { border-radius: 8px; } 二.缩略图 border 属性来创建缩略图. img { border: 1px solid #ddd; borde ...

  2. jQuery与直接写JS的区别详细解析

    jQuery代码具体的写法和原生的Javascript写法在执行常见操作时的区别如下所示.需要的朋友可以过来参考下     要使用jQuery,首先要在HTML代码最前面加上对jQuery库的引用,比 ...

  3. Python for循环文件

    for 循环遍历文件:打印文件的每一行 #!/usr/bin/env python fd = open('/tmp/hello.txt') for line in fd: print line, 注意 ...

  4. struts2中各个jar包作用 (转)

    Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方j ...

  5. 【bzoj5177】[Jsoi2013]贪心的导游(分块)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=5177 在网上看到的题解基本都是用主席树,也就是带点骚操作的暴力直接艹过去的.这里分享一 ...

  6. 初入spring boot(八 )Spring Data REST

    1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...

  7. 第四篇:Spark SQL Catalyst源码分析之TreeNode Library

    /** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现 ...

  8. 链表中的倒数第k个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点.   基本思想:定义两个指针a,b分别指向头节点, a指针先向前走k-1步(注意:因为倒数节点是从倒数第一个结点开始的,而不是零),然后a指针和b指 ...

  9. python 编程测试练习2

    1.将A.txt(多行)文件的内容读取出来写入到B.txt中 2.总结 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚 ...

  10. WinCE数据通讯之Web Service分包传输篇

    前面写过<WinCE数据通讯之Web Service篇>那篇对于数据量不是很大的情况下单包传输是可以了,但是对于大数据量的情况下WinCE终端的内存往往会在解包或者接受数据时产生内存溢出. ...