当前位置:   article > 正文

LAMP架构与搭建论坛

LAMP架构与搭建论坛

目录

一.LAMP架构简述

二.编译安装实现LAMP架构

1..编译安装apache  httpd  服务

2.编译安装mysql

3.编译安装PHP

4.安装论坛


一.LAMP架构简述

LAMP架构是一种经典的Web应用程序架构,它由Linux操作系统、Apache Web服务器、MySQL数据库和PHP编程语言(有时也指代为Perl或Python)组成。这些技术共同构成了一个稳定、可靠且广泛使用的Web开发框架。

  • 平台Linux:作为操作系统,提供了稳定、安全的基础环境,同时具有广泛的支持和社区资源。

  • 前台Apache:作为Web服务器,负责接收来自客户端的HTTP请求,并将处理后的网页内容发送回客户端。它是一个开源、可扩展的Web服务器,被广泛应用于互联网上的网站。

  • 后台MySQL:作为关系型数据库管理系统,负责存储和管理网站的数据。它具有高性能、可靠性和灵活性,能够满足大多数Web应用程序的数据库需求。

  • 中间连接PHP/Prel/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

二.编译安装实现LAMP架构

1..编译安装apache  httpd  服务

(1)关闭防火墙

  1. [root@localhost ~]# systemctl stop firewalld.service
  2. [root@localhost ~]# setenforce 0

(2)安装环境依赖包

  1. [root@localhost opt]# yum install -y\
  2. gcc \ #c语言编译器
  3. gcc-c++ \ #c编译器
  4. make \ #源代码编译器
  5. pcre\ #pcre函数库
  6. pcre-devel \ #pcre接口开发包
  7. expat-devel \ #用于支持网站解析HTML、XML文件
  8. perl #perl 语言编译器
  9. [root@localhost opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre zlib-devel zlib

(3)将下载好的软件包传输到/opt目录下,并解压

  1. [root@localhost opt]# cd /opt/
  2. [root@localhost lamp]# tar xf apr-1.6.2.tar.gz
  3. [root@localhost lamp]# tar xf apr-util-1.6.0.tar.gz
  4. [root@localhost lamp]# tar jvxf httpd-2.4.29.tar.bz2
  5. [root@localhost lamp]# ls
  6. apr-1.6.2 apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
  7. apr-1.6.2.tar.gz apr-util-1.6.0 httpd-2.4.29 rh

(4)移动apr包apr-util包到安装目录中,并切换到httpd-2.4.29中

  1. [root@localhost lamp]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
  2. [root@localhost lamp]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
  3. [root@localhost lamp]# cd httpd-2.4.29

(5)编译安装

  1. [root@localhost lamp]#./configure \
  2. --prefix=/usr/local/httpd \ #指定httpd的安装目录
  3. --enable-so \ #启用动态加载模块支持,使httpd具备进一步扩展功能的能力
  4. --enable-rewrite \ #启用网页地址的重写功能,用于网站优化、防盗链及目录迁移维护
  5. --enable-charset-lite \ #启用字符集支持,以便支持使用各种字符集编码的页面
  6. --enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于网站外部扩展应用访问的能力
  7. [root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
  8. [root@localhost httpd-2.4.29]# make -j2 && make install

(6)建立软链接

  1. [root@localhost httpd-2.4.29]#cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
  2. #将文件拷入/etc/init.d/httpd
  3. [root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
  4. #建立配置文件软连接放入etc目录下
  5. [root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
  6. #将启动文件放入/usr/local/bin/目录下可以直接使用

(7)添加http系统服务并开启http服务

  1. [root@localhost httpd-2.4.29]#vim /lib/systemd/system/httpd.service
  2. #创建 httpd.service
  3. [Unit]
  4. Description=The Apache HTTP Server
  5. After=network.target
  6. [Service]
  7. Type=forking
  8. PIDFile=/usr/local/httpd/logs/httpd.pid
  9. ExecStart=/usr/local/bin/apachectl $OPTIONS
  10. ExecReload=/bin/kill -HUP ${MAINPID}
  11. ExecStop=/bin/kill -WINCH ${MAINPID}
  12. [Install]
  13. WantedBy=multi-user.target
  14. [root@localhost httpd-2.4.29]# systemctl start httpd.service
  15. [root@localhost httpd-2.4.29]# systemctl daemon-reload
  16. [root@localhost httpd-2.4.29]# systemctl start httpd.service
  17. [root@localhost httpd-2.4.29]# netstat -ntap |grep 80

2.编译安装mysql

(1)安装依赖环境包

  1. [root@localhost ~]# yum install -y ncurses-devel autoconf cmake
  2. yum -y install \
  3. ncurses \ #字符终端下图形互动功能的动态库
  4. ncurses-devel \ #ncurses开发包
  5. bison \ #语法分析器
  6. cmake #mysql需要用到的cmake编译安装包

(2)新建用户,上传mysql-boost-5.7.20.tar.gz到opt目录下并解压

  1. [root@localhost ~]# useradd -s /sbin/nologin mysql
  2. [root@localhost ~]# cd /opt
  3. [root@localhost opt]# rz -E
  4. rz waiting to receive.
  5. [root@localhost opt]# tar xf mysql-boost-5.7.20.tar.gz
  6. [root@localhost opt]# ls
  7. apr-1.6.2.tar.gz httpd-2.4.29 mysql-5.7.20 rh
  8. apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-boost-5.7.20.tar.gz

(3)切换到编译目录,进行编译

  1. [root@localhost mysql-5.7.20]# cmake \
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  3. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  4. -DSYSCONFDIR=/etc \
  5. -DSYSTEMD_PID_DIR=/usr/local/mysql \
  6. -DDEFAULT_CHARSET=utf8 \
  7. -DDEFAULT_COLLATION=utf8_general_ci \
  8. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  9. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  10. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  11. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  12. -DMYSQL_DATADIR=/usr/local/mysql/data \
  13. -DWITH_BOOST=boost \
  14. -DWITH_SYSTEMD=1
  15. [root@localhost mysql-5.7.20]# make -j4 && make install

####配置选项含义###
1、DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,
如目录/usr/local/ mysql。
2、DMYSQL_UNIX_ADDR:指定套接字文件的存储路径,数据库连接的文件
3、DSYSCONFDIR:指定初始化参数文件目录
3、DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
5、DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于 UTF-8 字符集的通用规则。
6、DWITH_INNOBASE_STORAGE_ENGINE=1 :安装INNOBASE存储引擎
7、DWITH_ARCHIVE_STORAGE_ENGINE=1 :安装ARCHIVE存储引擎 
8、DWITH_BLACKHOLE_STORAGE_ENGINE=1 :安装BLACKHOLE存储引擎 
9、DWITH_PERFSCHEMA_STORAGE_ENGINE :安装FEDERATED存储引擎 

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql         指定安装路径 
-DMYSQL_DATADIR=/data/mysql                     数据安装路径 
-DSYSCONFDIR=/etc                               配置文件的安装路径

由于MySQL支持很多的存储引擎而默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1          安装INNOBASE存储引擎 
-DWITH_ARCHIVE_STORAGE_ENGINE=1           安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1         安装BLACKHOLE存储引擎 
-DWITH_FEDERATED_STORAGE_ENGINE=1         安装FEDERATED存储引擎 

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1        不启用或不编译EXAMPLE存储引擎 
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 
 -DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1 
 -DWITH_SSL=system           表示使用系统上的自带的SSL库 
-DWITH_ZLIB=system 
 -DWITH_LIBWRAP=0

其它常用的选项:

-DMYSQL_TCP_PORT=3306                       设置默认端口的 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock           MySQL进程间通信的套接字的位置 
-DENABLED_LOCAL_INFILE=1                    是否启动本地的LOCAL_INFILE 
 -DEXTRA_CHARSETS=all                       支持哪些额外的字符集 
-DDEFAULT_CHARSET=utf8                      默认字符集 
-DDEFAULT_COLLATION=utf8_general_ci         默认的字符集排序规则 
-DWITH_DEBUG=0                              是否启动DEBUG功能 
-DENABLE_PROFILING=1                        是否启用性能分析功能

------注意:如果在CMAKE的过程中有报错---
        当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧
------注意:make: *** No targets specified and no makefile found. Stop.解决方法
        1、wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
        2.、tar zxvf ncurses-5.6.tar.gz
        3、 ./configure -prefix=/usr/local -with-shared-without-debug
        4、make
        5、make install

(4)数据库目录权限调整,建立调整配置文件

  1. vi /etc/my.cnf
  2. [client]
  3. port = 3306
  4. default-character-set=utf8
  5. socket = /usr/local/mysql/mysql.sock
  6. [mysql]
  7. port = 3306
  8. default-character-set=utf8
  9. socket = /usr/local/mysql/mysql.sock
  10. [mysqld]
  11. user = mysql
  12. basedir = /usr/local/mysql
  13. datadir = /usr/local/mysql/data
  14. port = 3306
  15. character_set_server=utf8
  16. pid-file = /usr/local/mysql/mysqld.pid
  17. socket = /usr/local/mysql/mysql.sock
  18. server-id = 1
  19. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

(5)修改配置文件权限,设置环境变量

  1. [root@localhost mysql-5.7.20]# chown -R mysql:mysql /etc/my.cnf
  2. [root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
  3. [root@localhost mysql-5.7.20]# echo 'export PATH' >> /etc/profile
  4. [root@localhost mysql-5.7.20]# source /etc/profile
  5. [root@localhost mysql-5.7.20]# echo $PATH
  6. /usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

(6)初始化数据库

  1. [root@localhost mysql-5.7.20]# cd /usr/local/mysql/
  2. [root@localhost mysql]# bin/mysqld \
  3. --initialize-insecure \
  4. --user=mysql \
  5. --basedir=/usr/local/mysql \
  6. --datadir=/usr/local/mysql/data

(7)准备systemctl配置文件

  1. cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
  2. systemctl enable mysqld
  3. systemctl start mysqld
  4. systemctl status mysqld
  5. netstat -anpt | grep 3306

(8)修改数据库密码,登录数据库

  1. mysqladmin -u root -p password "abc123" //刚开始没密码是空的直接回车
  2. mysql -u root -p ##这个命令,提示要输入密码,这个就是刚才设置的密码abc123

3.编译安装PHP

(1)安装依赖环境包

  1. yum -y install \
  2. gd \
  3. libjpeg libjpeg-devel \
  4. libpng libpng-devel \
  5. freetype freetype-devel \
  6. libxml2 libxml2-devel \
  7. zlib zlib-devel \
  8. curl curl-devel \
  9. openssl openssl-devel

(2)传输软件包到opt下并解压

  1. [root@localhost ~]# cd /opt
  2. [root@localhost opt]# tar jxvf php-7.1.10.tar.bz2

(3)切换到编译目录进行编译安装

  1. [root@localhost opt]# cd /opt/php-7.1.10/
  2. [root@localhost php-7.1.10]# ./configure \
  3. --prefix=/usr/local/php7 \
  4. --with-apxs2=/usr/local/httpd/bin/apxs \
  5. --with-mysql-sock=/usr/local/mysql/mysql.sock \
  6. --with-config-file-path=/usr/local/php7 \
  7. --with-mysqli \
  8. --with-zlib \
  9. --with-curl \
  10. --with-gd \
  11. --with-jpeg-dir \
  12. --with-png-dir \
  13. --with-freetype-dir \
  14. --with-openssl \
  15. --enable-mbstring \
  16. --enable-xml \
  17. --enable-session \
  18. --enable-ftp \
  19. --enable-pdo \
  20. --enable-tokenizer \
  21. --enable-zip
  22. [root@localhost php-7.1.10]# make -j2 && make install

(4)修改配置文件

  1. cp /data/php-7.1.10/php.ini-development /usr/local/php7/php.ini
  2. #复制模版文件作为PHP 的主配置文件,并进行修改
  3. vim /usr/local/php7/php.ini
  4. mysqli.default_socket = /usr/local/mysql/mysql.sock --1170行--修改 1170 G,大写的G,直接跳转
  5. date.timezone = Asia/Shanghai --939行---修改

(5)建立软链接,使用php  -m  命令查看php加载了哪些模块

(6)修改httpd服务的配置文件,让apache支持php

  1. vim /etc/httpd.conf
  2. AddType application/x-httpd-php .php --393行--插入以下内容(插在下面,原行不删)
  3. AddType application/x-httpd-php-source .phps ##这里的点前面空格一定要加,否则报错
  4. AddType application/x-httpd-php .php
  5. AddType application/x-httpd-php-source .phps
  6. DirectoryIndex index.html index.php --255行--修改首页文件名设置
  7. LoadModule php7_module modules/libphp7.so ---156行 ---检查支持php7的模块是否存在(可以用'/'在文件中查找 )
  8. systemctl restart httpd

(7)验证PHP测试页

  1. rm -rf /usr/local/httpd/htdocs/index.html
  2. vim /usr/local/httpd/htdocs/index.php
  3. <?php
  4. phpinfo();
  5. ?>
  6. systemctl restart httpd.service

(8)验证是否连接成功

http://192.168.240.12/index.php

4.安装论坛

(1)新建数据库

  1. mysql -uroot -pabc123
  2. mysql> CREATE DATABASE bbs; //创建一个数据库//
  3. mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//
  4. GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
  5. mysql>flush privileges; //刷新数据库//

(2)准备论坛软件解压,复制到apache目录下

  1. [root@localhost opt]# unzip /opt/Discuz_X3.4_SC_UTF8.zip
  2. [root@localhost opt]# cd dir_SC_UTF8/
  3. [root@localhost dir_SC_UTF8]# ls
  4. readme upload utility
  5. root@localhost dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs

(3)修改权限

  1. cd /usr/local/httpd/htdocs/bbs
  2. chown -R daemon ./config
  3. chown -R daemon ./data
  4. chown -R daemon ./uc_client
  5. chown -R daemon ./uc_server/data

(4)安装论坛

浏览器中输入http://192.168.240.12/bbs/index.php

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/684497
推荐阅读
相关标签
  

闽ICP备14008679号