设为首页 收藏本站
查看: 1086|回复: 0

LAMP源码安装Discuz论坛

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-1 09:52:29 | 显示全部楼层 |阅读模式
一、Mysql安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
http://mirrors.sohu.com/mysql/MySQL-5.1/   Mysql下载网站
cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/My ... i686-glibc23.tar.gz
tar zxvf mysql-5.1.72-linux-i686-glibc23.tar.gz
mv mysql-5.1.72-linux-i686-glibc23 /usr/local/mysql
cd ../
ll
useradd -s /sbin/nologin -M mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
cd mysql/
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql    #初始化数据
echo $?

cp /etc/my.cnf /etc/my.cnf.bak                         #备份配置文件
cp support-files/my-large.cnf /etc/my.cnf            #复制配置模板到
vim /etc/my.cnf           编译MySql配置文件
#log-bin=mysql-bin            #记录查询、删除、更新数据时记录日志,配置MySql主从时需要,这里暂时不需要,先注释
#binlog_format=mixed
#server-id      = 1
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld    #复制启动脚本到init.d目录下
vim /etc/init.d/mysqld               #编辑启动配置文件,指定数据目录
basedir=/usr/local/mysql
datadir=/data/mysql

vim /etc/profile.d/path.sh         #将mysql添加进PATH路径#!/bin/bashexport PATH=$PATH:/usr/local/mysql/bin/source !$    #更新PATH路径echo $PATH    #查看是否生效/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
chkconfig --add mysqld             #开机启动
chkconfig mysqld on

/etc/init.d/mysqld start              #启动服务
Starting MySQL... SUCCESS!
netstat -tnplu | grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1282/mysqld  
如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err.

错误1:
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum install  libaio-devel –y

错误2:
./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
解决方法:
下载64位数据库

错误3:
Starting MySQL.Manager of pid-file quit without updating fi[FAILED]
解决方法:
vim /etc/init.d/mysqld               #编辑启动配置文件,指定数据目录
basedir=/usr/local/mysql
datadir=/data/mysql





二、安装Apache
1
2
3
4
5
6
7
8
9
10
yum install -y pcre pcre-devel apr apr-devel  zlib-devel  #安装相关依赖包cd /usr/local/src/
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gz
tar xvf httpd-2.2.31.tar.gz
cd httpd-2.2.31
./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre
echo $?
make
echo $?
make install
echo $?




1
2
3
4
5
6
7
8
9
10
11
vim /etc/profile.d/path.sh         #将apache添加进PATH路径#!/bin/bashexport PATH=$PATH:/usr/local/mysql/bin/:/usr/local/apache2/bin/source
!$    #更新PATH路径
echo $PATH    #查看是否生效
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
apachectl start       #启动服务
ps aux | grep httpd      #查看进程
root     32632  0.0  0.1   4200  1936 ?        Ss   07:54   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32670  0.0  0.1   4200  1100 ?        S    08:02   0:00 /usr/local/apache2/bin/httpd -k start
root     32679  0.0  0.0   6048   776 pts/0    S+   08:05   0:00 grep httpd
netstat -tnlp | grep httpd      #查看端口
tcp        0      0 :::80                       :::*                        LISTEN      32632/httpd





2.1、编译参数详解:
--prefix=/usr/local/apache2     #安装目录

--with-included-apr    #依赖的组件模块,支持跨平台

--enable-rewrite=shared    #动态扩展的模式安装

--with-pcre     #正则的支持库



2.2、错误信息:
安装错误
1
2
3
4
5
2.2.1.configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
解决方法:
yum install zlib-devel -y
wget ftp://rpmfind.net/linux/centos/6 ... 2.3-29.el6.i686.rpm  
rpm -ivh zlib-devel-1.2.3-29.el6.i686.rpm



1
2
3
4
2.2.2checking for APR-util... reconfig
configure: error: Cannot use an external APR with the bundled APR-util
解决方法:
yum install apr apr-util -y




启动错误:
1
2
3
4
5
2.2.3:httpd: apr_sockaddr_info_get() failed for lab-1-c6.7-x32
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解决方法:
vim /etc/hosts    #编辑hosts文件,增加主机名
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 lab-1-c6.7-x32



1
2
3
4
5
2.2.4:httpd: Could not reliably determine the server's fully qualified domain name, using lab-1-c6.7-x32 for ServerName
解决方法:
cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.bak    #备份配置文
找到以下内容,取消注释#ServerName www.example:80
/usr/local/apache2/bin/apachectl restart    #重启服务




2.3、配置Apache
apachectl -t    #查看Apache配置文件语法是否错误

apachectl start\restart\stop\graceful  开启\重启\关闭\重载

apachectl -M    #查看Apache模块
ls /usr/local/apache2/modules/           #绿色的是动态加载模块
httpd.exp  mod_deflate.so  mod_expires.so  mod_rewrite.so
ls /usr/local/apache2/bin/httpd           #橙色的是静态态加载模块
/usr/local/apache2/bin/httpd
apachectl -l    #查看Apache静态模块和工作模式

三、Apache的工作模式
1
2
3
/usr/local/src/httpd-2.2.31/./configure --help | less
  --with-mpm=MPM          Choose the process model for Apache to use.
                          MPM={beos|event|worker|prefork|mpmt_os2|winnt}



#常见的工作模式有worker、prefork两种,2.2默认是prefork,2.4默认是event
1
2
/usr/local/apache2/bin/apachectl -l      #查看Apache当前工作模式
prefork.c



3.1、prefork模式
1
2
3
4
5
6
7
8
[iyunv@lab-1-c6 ~]# ps aux | grep httpd        #一个主进程,多个子进程
root     32632  0.0  0.1   4200  1944 ?        Ss   07:54   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32696  0.0  0.1   4200  1100 ?        S    08:21   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32697  0.0  0.1   4200  1100 ?        S    08:21   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32698  0.0  0.1   4200  1100 ?        S    08:21   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32699  0.0  0.1   4200  1100 ?        S    08:21   0:00 /usr/local/apache2/bin/httpd -k start
daemon   32700  0.0  0.1   4200  1100 ?        S    08:21   0:00 /usr/local/apache2/bin/httpd -k start
root       332  0.0  0.0   6048   772 pts/1    S+   08:40   0:00 grep httpd



3.2、worker模式

不仅有主进程和子进程,而且每个子进程下面还有线程
线程的优点:
线程之间共享一段内存,当高并发的情况下,线程很占优势,占用很少的内存
线程的缺点:
一个进程的所有内存会共享给下面所有的线程,若进程下面的某一个线程出现故障,则进程下面其他所有的线程就会收到牵连

3.3、event模式
和worker一样,也是线程的工作形式,但是优化了许多

3.4、worker、prefork和event模式对比
prefork:进程之间故障,不会影响其他进程,但高并发时占用内存较大
worker:同一进程下的线程故障,会影响整个进程,但高并发时占用内存可观


3.5、Apache工作模式的配置
--with-mpm=worker     #编译时指定工作模式

四、PHP编译安装
1
2
3
4
5
6
7
8
9
10
11
12
13
cd /usr/local/src/
wget http://mirrors.sohu.com/php/php-5.5.31.tar.gz
tar xf php-5.5.31.tar.gz

yum install  zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gb-devel gb-devel curl-devel  libxslt-devel openssl-devel  bzip2 bzip2-devel  libmcrypt-devel.x86_64 -y    #安装依赖包
cd php-5.5.31

./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       #编译参数
echo $?
make
echo $?
make install
echo $?




4.1 安装错误信息
configure: error: xml2-config not found. Please check your libxml2 installation
解决方法:yum install -y libxml2-devel libxml2

configure: error: Cannot find OpenSSL's <evp.h>
解决方法:yum install openssl-devel -y
configure: error: Please reinstall the BZip2 distribution
解决方法:yum install -y bzip2 bzip2-devel

configure: error: jpeglib.h not found.
解决方法:yum install libjpeg-devel -y

configure: error: png.h not found.
解决方法: yum install libpng-devel -y

configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法:yum install -y libmcrypt-devel  #可能需要安装扩展源

4.2 编译参数详解
--with-apxs2=/usr/local/apache2/bin/apxs      #自动安装Apache扩展模块
--with-mysql=/usr/local/mysql           #指定mysql的安装目录

4.3 PHP常见参数
/usr/local/php/bin/php -m    #常见当前模块
/usr/local/php/bin/php -i    #常见模块的配置


五、测试PHP解析

1
2
3
4
5
6
7
8
9
vim /usr/local/apache2/conf/httpd.conf
#找到
#AddType application/x-gzip .tgz
#添加一行:
AddType application/x-httpd-php .php
#添加index.php
DirectoryIndex index.html index.php
/usr/local/apache2/bin/apachectl -t    #检测语法
Syntax OK



1
2
3
4
5
cd /usr/local/apache2//htdocs     #编写一个php文件
vim info.php
<?php
phpinfo();
?>



1
2
3
4
5
6
/usr/local/php/bin/php -i | less         #测试,同时也记录PHP编译参数
phpinfo()
PHP Version => 5.5.31
System => Linux lab-1-c6.7-x32 2.6.32-573.el6.i686 #1 SMP Thu Jul 23 12:37:35 UTC 2015 i686
Build Date => Jan 19 2016 10:09:40
Configure Command =>  './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' '--enab



1
cat /usr/local/apache2/build/config.nice  #apache编译参数路径cat /usr/local/mysql/bin/mysqlbug | grep -i conf  #Mysql编译参数路径curl 192.168.1.200/info.php | head -10   #使用curl查看  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><style type="text/css">body {background-color: #ffffff; color: #000000;}



5.1PHP的配置
1
2
cp /usr/local/src/php-5.5.31/php.ini-production /usr/local/php/etc/php   #复制配置文件
apachectl graceful  重新加载PHP配置文件




六、Discuz安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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/* ./
rm -rf readme/ utility/ upload/ Discuz_X3.2_SC_GBK.zip
vim /usr/local/apache2/conf/httpd.conf
找到以下内容,取消注释
#Include conf/extra/httpd-vhosts.conf     #启用虚拟主机配置文件
cp  /usr/local/apache2/conf/extra/httpd-vhosts.conf  /usr/local/apache2/conf/extra/httpd-vhosts.conf.bak      #备份配置文件
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
   #ServerAdmin webmaster@dummy-host.example.com           #管理员邮箱,不使用先注释
    DocumentRoot "/data/www"                               #指定文件目录
    ServerName www.szk.com                                #指定域名
    ServerAlias www.test.com                               #指定域名别名
   #ErrorLog "logs/dummy-host.example.com-error_log"       #错误日志和访问日志先注释
   #CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
apachectl -t                #检查配置文件语法
httpd: Could not reliably determine the server's fully qualified domain name, using lab-1-c6.7-x32 for ServerName
Syntax OK
vim /usr/local/apache2/conf/httpd.conf
找到以下内容,取消注释
#ServerName www.example:80
/usr/local/apache2/bin/apachectl start
访问报403错误,不允许访问
vim /usr/local/apache2/conf/httpd.conf
#找到Deny from all改成Allow from all
/usr/local/apache2/bin/apachectl graceful   #重载服务,进入Discuz安装页面,发现很多目录没有权限



QQ截图20160401095142.jpg
1
2
3
cd /data/www
chown -R daemon config data uc_client/data uc_server/data/    #刷新重试
chown -R php-fpm config data uc_client/data uc_server/data/    #若Nginx更改此所属组




QQ截图20160401095148.jpg
6.1 创建MySql用户
1
2
3
mysql    #进入MySQL
create database discuz;     #创建一个数据库
grant all on discuz.* to 'szk'@'localhost' identified by 'szk';    #创建一个用户szk,密码也是



6.2 设定discuz安装参数
QQ截图20160401095154.jpg
6.3 OK
QQ截图20160401095200.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-198272-1-1.html 上篇帖子: LNMP(linux+nginx+mysql+php)服务器环境配置 下篇帖子: LAMP平台部署及应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表