LAMP及论坛搭建

一、LAMP

1.1 LAMP概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。

1.2 各组件作用

L:Linux,作为LNMP架构的基础,是另外三个组件的运行平台

A:Apache,作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容

M:MySQL,数据库,是开源关系型的数据库,主要用来保存用户的账号信息

P:PHP,开发动态页面的编程语言,解析动态页面,起到中间件(nginx和数据库之间)的作用

二、LAMP的安装

Matlab 复制代码
systemctl stop firewalld
setenforce 0

编译安装Apache httpd服务

1、安装环境依赖包

Matlab 复制代码
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl

2、将安装Apache所需软件包传到/opt目录下

Matlab 复制代码
cd /opt

httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz

3、配置软件模块

Matlab 复制代码
cd /opt
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

切换至httpd源代码包的释放目录,运行configure脚本,指定安装路径和安装模块
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

./configure \
--prefix=/usr/local/httpd \		#指定将 httpd 服务程序的安装路径
--enable-so \					#启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			#启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					#启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

4、编译及安装

Matlab 复制代码
make -j 4 && make install

5、优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

Matlab 复制代码
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

6、添加httpd系统服务

Matlab 复制代码
vim /lib/systemd/system/httpd.service

[Unit]
Description=The Apache HTTP Server						#描述
After=network.target									#描述服务类别
[Service]
Type=forking											#后台运行方式
PIDFile=/usr/local/httpd/logs/httpd.pid					#PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS				#启动服务
ExecReload=/bin/kill -HUP $MAINPID						#根据PID重载配置
[Install]
WantedBy=multi-user.target

systemctl start httpd.service
systemctl enable httpd.service

7、修改httpd 服务配置文件

Matlab 复制代码
vim /etc/httpd.conf

--52行--修改
Listen 20.0.0.61:80
--199行--取消注释,修改
ServerName www.pup.com:80
--223行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--257行--默认首页文件名设置
Directory Index index.html

httpd -t  或 apachectl -t			
#检查配置文件的配置项是否有误
cat /usr/local/httpd/htdocs/index.html
systemctl restart httpd.service

编译安装mysqld 服务

参考上一篇LNMP博客

编译安装PHP解析环境

1、将安装PHP 所需软件包传到/opt目录下

Matlab 复制代码
cd /opt

php-7.1.10.tar.bz2

2、安装GD库和GD库关联程序,用来处理和生成图片

Matlab 复制代码
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

3、配置软件模块

Matlab 复制代码
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/

./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

4、编译及安装

Matlab 复制代码
make -j 4 && make install

5、复制模版文件作为PHP 的主配置文件,并进行修改

Matlab 复制代码
cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini
#在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件
vim /usr/local/php7/php.ini

--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai

6、优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

Matlab 复制代码
ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m 	
#查看PHP 加载了哪些模块

7、修改httpd 服务的配置文件,让apache支持PHP

Matlab 复制代码
vim /etc/httpd.conf 

--393行--插入以下内容(插在下面,原行不删)
AddType application/x-httpd-php .php       
AddType application/x-httpd-php-source .phps  #这里的点前面空格一定要加,否则报错
--258行--修改首页文件名设置
DirectoryIndex index.html index.php    
--158行--检查支持php7的模块是否存在
LoadModule php7_module        modules/libphp7.so

8、验证PHP测试页

Matlab 复制代码
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php

<?php
phpinfo();
?>

systemctl restart httpd.service

安装论坛

1、创建数据库,并进行授权

Matlab 复制代码
mysql -u root -p

CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
flush privileges;
show databases;

2、解压论坛压缩包

Matlab 复制代码
unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/httpd/htdocs/bbs

3、更改论坛目录的属主

Matlab 复制代码
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

4、浏览器访问验证

Matlab 复制代码
论坛页面访问
http://20.0.0.61/bbs
-------------------------------------------------------------------------------------------
数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
-------------------------------------------------------------------------------------------
论坛后台管理员页面
http://20.0.0.61/bbs/admin.php
相关推荐
林农19 分钟前
C05S14-MySQL高级语句
linux·mysql·云计算
码农君莫笑1 小时前
《信管通低代码信息管理系统开发平台》Windows环境安装说明
服务器·数据库·windows·低代码·c#·bootstrap·.netcore
Wanliang Li1 小时前
Linux电源管理——CPU Hotplug 流程
linux·嵌入式硬件·嵌入式·armv8·电源管理·cpuhotplug
fnd_LN1 小时前
Linux文件目录 --- mkdir命令,创建目录,多级目录,设置目录权限
linux·运维·服务器
会飞的土拨鼠呀1 小时前
Flannel是什么,如何安装Flannel
运维·云原生·kubernetes
木与子不厌1 小时前
微服务自定义过滤器
运维·数据库·微服务
达帮主1 小时前
7.C语言 宏(Macro) 宏定义,宏函数
linux·c语言·算法
行思理1 小时前
Linux 下SVN新手操作手册
linux·运维·svn
初学者丶一起加油2 小时前
C语言基础:指针(数组指针与指针数组)
linux·c语言·开发语言·数据结构·c++·算法·visual studio
沛沛老爹2 小时前
CI/CD是什么?
运维·git·ci/cd