LAMP架构搭建和disuz论坛搭建

作者:神秘网友 发布时间:2020-09-09 08:25:04

LAMP架构搭建和disuz论坛搭建

LAMP架构搭建和disuz论坛搭建

LAMP架构搭建和disuz论坛搭建

 

LAMP组成:   Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

 

这里我们使用的是Linux+Apache+MySQL+PHP

 

Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将PerlPython解释器编译到服务器中。

 

------下面两个插件是httpd2.4以后的版本所需要的----------

wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz

 

下载地址:http://httpd.apache.org/download.cgi

 

 

安装下面的三个必须安装的编译语言工具gccgcc-c++makepcre-devel是在安装过程出现的错误

要安装这个开发包

yum -y install \

gcc \

gcc-c++ \

make \

pcre-devel

 

 

Apache的压缩包可以使用winscp工具上传也可以通过共享文件的形式访问

 

首先把httpd解压,然后

下载上面两个软件解压后复制到httpdsrclib解压目录中(不带版本号)

cp -r apr-1.5.2/ httpd-2.4.23/srclib/apr

cp -r apr-util-1.5.4/ httpd-2.4.23/srclib/apr-util


 基本配置:

[[email protected] ~]# mount /dev/cdrom /mnt/        挂在光盘到/mnt目录

mount: block device /dev/sr0 is write-protected, mounting read-only

要使用源代码安装,需要搭建yum仓库

[[email protected] Apache]# ls  

Apache-conf.zip        httpd-2.4.25.tar.gz  

apache安装(httpd).txt  rhel7-vdir.txt       vhost-端口.txt

apr-1.5.2.tar.gz       rhel7-vhost.txt      vhost(基于端口号).txt

apr-util-1.5.4.tar.gz  vdir.txt             vhost(基于域名).txt

awstats-7.3.tar.gz     vdir(有注释).txt   vhost-域名.txt


[[email protected] Apache]# tar xzvf httpd-2.4.25.tar.gz -C /opt/  将解压的文件放到/opt目录

[[email protected] Apache]# tar xzvf apr-1.5.2.tar.gz -C /opt/

[[email protected] Apache]# tar -xzvf apr-util-1.5.4.tar.gz -C /opt/

 

[[email protected] Apache]# cd /opt/

[[email protected] opt]# ls

apr-1.5.2  apr-util-1.5.4  httpd-2.4.25  nginx-1.5.10  rh

 

[[email protected] opt]# cp -r apr-1.5.2/ httpd-2.4.25/srclib/apr

 

[[email protected] opt]# cp -r apr-util-1.5.4/ httpd-2.4.25/srclib/apr-util

 

[[email protected] opt]# cd /opt/httpd-2.4.25/    cdApache的安装目录

 

[[email protected] httpd-2.4.25]#./configure \    

--prefix=/usr/local/apache \            

--enable-so \

--enable-rewrite \

--enable-mods-shared=most \

--with-mpm=worker \

--disable-cgid \

--disable-cgi

 

各个参数的解释:

 

--prefix=   //来指定安装路径

--enable-so  //该参数表示支持用mod_so模块提供的功能,用LoadModulehttpd.conf文件或包含的conf文件中动态加载某个模块。让Apache可以支持DSO模式

--enable-rewrite  //支持 URL重写

--enable-mods-shared=most  //选项:告诉编译器将所有标准模块都动态编译为DSO模块。

--with-mpm=worker // apacheworker方式运行

--with-mpm=worker   //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.

--disable-cgid //禁止用一个外部 CGI守护进程执行CGI脚本

--disable-cgi //禁止编译 CGI版本的PHP

 

[[email protected] httpd-2.4.25]# make

 

[[email protected] httpd-2.4.25]# make install

 

[[email protected] httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin/  做软连接,让系统识别装的命令

 

   ----------使程序可以使用service管理-----------

"service管理的命令都在/etc/init.d/这个目录下的"

   

[[email protected] httpd-2.4.25]# grep -v "#" /usr/local/apache/bin/apachectl  > /etc/init.d/httpd

 

[[email protected] httpd-2.4.25]# vi /etc/init.d/httpd  打开这个文件,在开头加入以下命令:

#!/bin/sh

              # chkconfig: 2345 85 15

              # description: Apache is a World Wide Web server.

 

 

[[email protected] httpd-2.4.25]# chmod  +x  /etc/init.d/httpd  给脚本加可执行程序

[[email protected] httpd-2.4.25]# chkconfig --add httpd  加到service管理器。

 

 

[[email protected] httpd-2.4.25]# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf  将配置文件链接到/ etc目录

 

编辑配置文件:

[[email protected] httpd-2.4.25]# vi /etc/httpd.conf

ServerName www.example.com80 前面的#号去掉即可,  “:”是指可以改成你的IP地址

 

[[email protected] httpd-2.4.25]# service httpd start  启动Apache

 

[[email protected] httpd-2.4.25]# netstat -anpt | grep http  查看80端口是否在工作

tcp        0      0 :::80                       :::*                        LISTEN      30979/httpd

 

 

[[email protected] httpd-2.4.25]# service iptables stop    关闭防火墙,(临时关闭)也可以调整防火墙的规则

iptables:将链设置为政策 ACCEPTfilter                    [确定]

iptables:清除防火墙规则:                                 [确定]

iptables:正在卸载模块:                                   [确定]

[[email protected] httpd-2.4.25]# setenforce 0   该方式是临时关闭

 修改/etc/sysconfig/selinux把里边的一行改为 SELINUX=disabled这样就是永久关闭


[[email protected] apache]# cat htdocs/index.html   默认的测试页


查看测试页:搭建好的Apache没有做任何配置

LAMP架构搭建和disuz论坛搭建



Mysql

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP  Apache 可组成良好的开发环境。

 

 

 

[[email protected] ~]# mount /dev/cdrom /mnt/        挂在光盘到/mnt目录

mount: block device /dev/sr0 is write-protected, mounting read-only

[[email protected] mysql-5.6.26]#  yum install -y ncurses-devel  cmake  

 

 

[[email protected] mysql]# cd /root/mysql/   移动到MySQL的安装包目录

[[email protected] mysql]# ls

mysql-5.6.26.tar.gz  mysql5.6安装 - RHEL7.txt  mysql5.6安装.txt  mysql.txt

 

[[email protected] mysql]# tar xzvf mysql-5.6.26.tar.gz -C /opt/  解压到/opt目录、

 

[[email protected] mysql]# cd /opt/mysql-5.6.26/  

 

[[email protected] mysql-5.6.26]# useradd  mysql -s /sbin/nologin

[[email protected] mysql-5.6.26]# mkdir -p /usr/local/mysql

[[email protected] mysql-5.6.26]# cmake  \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/home/mysql/ \

-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=system \

-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1 \

-DWITH_SSL=bundled

 

 

[[email protected] mysql-5.6.26]# make

[[email protected] mysql-5.6.26]#  make install

[[email protected] mysql-5.6.26]# chown -R mysql.mysql /usr/local/mysql

 

[[email protected] mysql-5.6.26]# export PATH=$PATH:/usr/local/mysql/bin/  //初始化环境变量(临时生效)

 

 

[[email protected] mysql-5.6.26]# vi /root/.bashrc    想要开机自运行需加一下命令:最后一行加入

    export PATH=$PATH:/usr/local/mysql/bin/

 

 

[[email protected] mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf  //建立配置文件

cp:是否覆盖"/etc/my.cnf"y

 

[[email protected] mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld    //添加系统服务,将mysql.server脚本文件复制到/etc/init.d/目录下,改名为mysqld,然后设置执行权限

 

[[email protected] mysql-5.6.26]# chmod 755 /etc/init.d/mysqld

[[email protected] mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld      //添加/etc/init.d/myspldchkconfig里,用service命令来管理(service mysql

[[email protected] mysql-5.6.26]# chkconfig  mysqld --level 235 on     开机自运行

 

---//初始化脚本mysql_install_db位于安装目录的scripts文件夹中--

 

[[email protected] mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \

> --user=mysql \

> --ldata=/var/lib/mysql \

> --basedir=/usr/local/mysql \

> --datadir=/home/mysql   //指定用户为mysql,链接文件是/var/lib/mysql,基本目录,/usr/local/mysql,数据目录为/home/mysql

 

[[email protected] mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock    //源文件是/var/lib/mysql/mysql.sock,链接的文件是/home/mysql/mysql.sock

 

 

 编辑启动脚本:

 

[[email protected] mysql-5.6.26]# vi  /etc/init.d/mysqld

               basedir=/usr/local/mysql

               datadir=/home/mysql

 

[[email protected] mysql-5.6.26]# service mysqld start

Starting MySQL..                                           [确定]

 

登录数据库:

[[email protected] mysql-5.6.26]# mysql -u root

mysql>

mysql>

mysql>


PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器)是一种通用开源脚本语言语法吸收了C语言JavaPerl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了CJavaPerl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密优化代码运行,使代码运行更快。

 

编译安装:

首先GD库关联程序

[[email protected] ~]# yum -y install \

> libjpeg-devel \

> libpng-devel \

> freetype-devel \

> zlib-devel \

> gettext-devel \

> libXpm-devel \

> libxml2-devel \

> fontconfig-devel \

> openssl-devel \

> bzip2-devel

 

[[email protected] ~]# cd /root/PHP/

[[email protected] PHP]# ls

php-5.6.11.tar.bz2  PHP5.6安装.txt  phpMyAdmin-4.6.3-all-languages.zip

 

[[email protected] PHP]# tar xjvf php-5.6.11.tar.bz2  -C /opt/

 

[[email protected] PHP]# cd /opt/php-5.6.11/

 

[[email protected] php-5.6.11]# ./configure \

--prefix=/usr/local/php \

--with-apxs2=/usr/local/apache/bin/apxs \

--with-gd \

--with-mysql=/usr/local/mysql \

--with-config-file-path=/etc \

--enable-sqlite-utf8 \

--with-zlib-dir \

--with-libxml-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-ttf \

--with-iconv \

--with-openssl \

--with-gettext \

--enable-mbstring \

--enable-gd-native-ttf \

--enable-gd-jis-conv \

--enable-static \

--enable-zend-multibyte \

--enable-inline-optimization \

--enable-sockets \

--enable-soap \

--enable-ftp \

--disable-ipv6

 

[[email protected] php-5.6.11]# make

[[email protected] php-5.6.11]# make install

 

-------------配置文件不要忘记--------

[[email protected] php-5.6.11]# cp php.ini-production /etc/php.ini //在源码目录

 

 

------测试-------

重新配置apache2让他支持php

 

[[email protected] php-5.6.11]# vi /etc/httpd.conf

    AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

DirectoryIndex index.html  index.php

 

 

[[email protected] php-5.6.11]# service httpd restart

 

 

[[email protected] php-5.6.11]# cd /usr/local/apache

[[email protected] apache]# rm -rf conf.d/  删除Apache测试用的子配置文件

 

[[email protected] apache]# vi conf/httpd.conf   进入Apache主配置文件,删除最后一行的incline:有就删 没有就算了

 

 

[[email protected] apache]# cd htdocs/

[[email protected] htdocs]# ls

index.html

[[email protected] htdocs]#

 

-----下面是测试PHP工作是否正常----

[[email protected] htdocs]# rm -f index.html   删除这个文件

[[email protected] htdocs]# vi index.php   新建PHP文件

<?php

phpinfo();

?>

访问Apache网页显示PHP说明lamp架构搭建成功

LAMP架构搭建和disuz论坛搭建


--------进入数据库,建立授权账号-----

[[email protected] htdocs]# mysql -u root  进入数据库

 

mysql> CREATE DATABASE abc;  建立一个abc的数据库

Query OK, 1 row affected (0.19 sec)

 

mysql> GRANT all ON abc.* TO 'tom'@'%' IDENTIFIED BY '123456';  创建一个tom用户,密码是123456   允许tom在任何地方登陆,对数据库拥有所有权限

Query OK, 0 rows affected (0.12 sec)

 

mysql> flush privileges;   刷新下权限

Query OK, 0 rows affected (0.07 sec)

 

--------下面测试数据库工作是否正常-----

[[email protected] htdocs]# vi index.php  编辑测试页

<?php

$link=mysql_connect('192.168.1.20','tom','123456');  IP地址不要输错

if($link) echo "Success!!";      成功输出  Success!!  否则Fail!!

else echo "Fail!!";

mysql_close();

?>


登陆Apache查看是否成功:

LAMP架构搭建和disuz论坛搭建

这样PHP就可以和MySQL协同工作了

完成以上步骤lamp架构就搭建成功了


搭建Discuz论坛

 

 

[[email protected] ~]# cd /root/Discuz/

[[email protected] Discuz]# ls

Discuz_X3.2_SC_UTF8.zip  Discuz安装.txt

[[email protected] Discuz]# unzip Discuz_X3.2_SC_UTF8.zip -d /opt/Discuz  解压到opt/Discu

 

[[email protected] Discuz]# cd /opt/Discuz/

 

[[email protected] Discuz]# ls

readme  upload  utility   

 

[[email protected] Discuz]# cp -r upload/* /usr/local/apache/htdocs/upload所有东西拷贝到/htdocs里 这个是网站的根目录

cp:是否覆盖"/usr/local/apache/htdocs/index.php"Y

 

[[email protected] Discuz]# cd /usr/local/apache/htdocs/  到该文件夹下加入以下命令:如果不加则无法安装

[[email protected] htdocs]# chown -R daemon ./config/

[[email protected] htdocs]# chown -R daemon ./data/

[[email protected] htdocs]# chown -R daemon ./uc_client/

[[email protected] htdocs]# chown -R daemon ./uc_server


进入192.168.1.20LAMP架构搭建和disuz论坛搭建


数据库是abc 用户名是前面MySQL上创建:

默认管理员是admin,密码是自己设置的

LAMP架构搭建和disuz论坛搭建



搭建成功:

LAMP架构搭建和disuz论坛搭建



后台地址:http://192.168.1.20/admin.php  

这样就可以进入后台管理Disuz 论坛了!!!

LAMP架构搭建和disuz论坛搭建

这样简单的论坛就安装好了








LAMP架构搭建和disuz论坛搭建相关教程

  1. 使用react-navigation搭建APP页面导航架构
  2. 在Unity中创建和优化Head Health Bars
  3. 极客大学架构师训练营 大数据架构、Spark、Flink、机器学习、Pag
  4. Monte-Carlo Ray Tracing System (一)原理以及架构设计
  5. 数据结构——树的构建和基本操作
  6. 爱奇艺在 Dubbo 生态下的微服务架构实践
  7. Docker基础之一: Docker架构
  8. MySql学习架构介绍笔记7:索引优化分析3-性能分析