Centos7.6 手工编译安装LAMP服务架构(超详细)

一、实验环境及注意事项

  • 实验环境

VMware Workstation 15.5、Centos 7.6、XShell 6

  • 使用的安装包及版本

Apache:apr-1.6.2.tar、apr-util-1.6.0.tar、httpd-2.4.29.tar

MySQL:mysql-5.6.26.tar

PHP:php-5.6.11.tar

BBS论坛:Discuz_X2.5_SC_UTF8

以上包的下载地址:https://wwa.lanzous.com/iOsA5fa1w3g

  • 注意事项

如果使用与本实验不匹配的包或系统版本进行操作极有可能导致报错或安装失败!

开启Apache服务前一定要关闭防火墙功能!

二、实验步骤

2.1 安装Apache

1、将Apache服务所需的三个包apr-1.6.2.tar、apr-util-1.6.0.tar、httpd-2.4.29.tar上传到服务器的/opt目录下

扫描二维码关注公众号,回复: 11542689 查看本文章

2、解压缩三个包

tar jxvf httpd-2.4.29.tar.bz2
tar zxvf apr-util-1.6.0.tar.gz
tar zxvf apr-1.6.2.tar.gz

3、将apr-util与apr两个包移动到Apache主程序目录中的/srclib目录下

mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
  • PS:简介一下各个包的作用

httpd-2.4.29 (Apache主程序)
apr-util (跨平台开发组件包)
apr (Apache可移植运行库)

4、因为是手工编译安装,所以必须要安装以下编译环境

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

PS:各行含义
gcc:编译器
gcc-c++:编译器
make:编译器,从Makefile中读取指令,然后编译
pcre-devel:支持正则表达式
expat-devel:支持解析xml文件
perl:支持perl语言

5、进入Apache目录中进行配置脚本

cd httpd-2.4.29   (进入Apache目录进行配置)
./configure \    (配置脚本,根据机器上的开发环境来生成相应的makefile。特别注意:在执行这一步之前一定要先安装上述的编译环境!)
--prefix=/usr/local/httpd \    (指定安装路径)
--enable-so \    (让apache核心装载DSO模块,DSO意思是动态共享目标)
--enable-rewrite \   (启用网页地址重写功能,作用是防盗链)
--enable-charset-lite \   (启用字符集支持)
--enable-cgi    (启用CGI脚本程序支持)

PS:各行含义
configure:配置脚本,根据机器上的开发环境来生成相应的makefile。特别注意:在执行这一步之前一定要先安装上述的编译环境!
prefix=/usr/local/httpd:指定安装路径
enable-so:让apache核心装载DSO模块,DSO意思是动态共享目标
enable-rewrite:启用网页地址重写功能,作用是防盗链
enable-charset-lite:启用字符集支持
enable-cgi:启用CGI脚本程序支持

6、进行编译及安装

make && make install    (make是将源代码转化为二进制代码;make install是安装)

7、把启动脚本放到init.d目录下让service服务进行管理

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

8、下面进行服务优化

编辑配置文件:vim /etc/init.d/httpd

在文件中添加如下两行:
# chkconfig:35 85 21  (init3、init5级别自动运行 第85个启动 第21个关闭)
# description:Apache is a World Wide Web server   (描述性信息,不写也可以)

awXxQP.md.png

9、使用chkconfig命令将httpd服务添加进service便于系统进行管理

chkconfig --add httpd

10、将配置文件建立软连接便于管理,要不然源路径太长不方便

ln -s /usr/local/httpd/conf/httpd.conf /etc/https.conf

11、修改httpd服务配置文件

编辑:vim /etc/https.conf 
修改或替换以下内容:
Listen 192.168.50.132:80    (将#去掉,将IP修改为本地服务器IP地址,端口号80)
#Listen 80    (将IPV6这一行注释掉)
ServerName www.test.com:80   (修改域名,将example修改为test)

awXXRI.png
awXOJA.md.png

12、usr/local/bin是用户放置自己的可执行程序的地方,将httpd服务命令便于系统管理

ln -s /usr/local/httpd/bin/* /usr/local/bin/

13、测试一下httpd的命令语法是否正确

httpd -t
PS:-t:测试配置文件的语法是否正确

14、关闭系统核心防护并清空防火墙规则

iptables -F
setenforce 0

15、开启httpd服务

service httpd start

16、查看服务端口是否开启

netstat -anpt | grep 80

awXLid.md.png

17、在地址栏中输入服务器的IP地址,出现如下界面说明Apache服务搭建成功!
awXbIH.png

2.2 安装MySQL

1、安装所需必须包

yum -y install ncurses-devel autoconf cmake

PS:安装的各个包的用途:
ncurses-devel  (字符终端下屏幕控制的基本库,在TTY下登录到主机上mysql需要)
autoconf  (处理shell脚本工具包,用于生成configure脚本)
apr  (等同于configure;CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程))

2、解压缩包

tar zxvf mysql-5.6.26.tar.gz 

3、进入MySQL解压目录,进行配置

进入目录:cd mysql-5.6.26/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    (指定安装路径)
-DDEFAULT_CHARSET=utf8 \                     (字符集设定)
-DDEFAULT_COLLATION=utf8_general_ci \          (同上)
-DEXTRA_CHARSETS=all \                         (同上)
-DSYSCONFIDIR=/etc/ \                     (指定配置文件所在位置)
-DMYSQL_DATADIR=/home/mysql/ \             (数据文件存放位置)
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock    (通信文件,mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快,MySQL有两种连接方式,tcp与socket)

4、进行编译及安装

make && make install

PS:编译过程耗时较长一般为20-30分钟左右,请耐心等待,若CPU性能较差则可能会耗时更久

5、安装完成后将配置文件进行覆盖,因为系统中原本就有这个文件

cp support-files/my-default.cnf /etc/my.cnf
询问是否覆盖,输入yes即可

6、将启动脚本给service进行托管

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

7、赋予执行权限

chmod 755 /etc/init.d/mysqld

8、添加mysqld服务,让chkconfig指令得以管理它

chkconfig --add /etc/init.d/mysqld

9、设置开机自启动

chkconfig mysqld --level 35 on

10、将命令添加到环境变量中,并重载环境变量文件

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

输出环境变量,看是否配置成功:echo $PATH
返回结果如下:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

11、添加管理MySQL的用

useradd -s /sbin/nologin mysql
PS:-s:指定用户登入后所使用的shell

12、修改属主属组

chown -R mysql:mysql /usr/local/mysql/
PS:-R:处理指定目录以及其子目录下的所有文件

13、进入目录并初始化数据库

进入目录:cd /usr/local/mysql/scripts/

/usr/local/mysql/scripts/mysql_install_db \     (数据库初始化脚本)
--user=mysql \                                    (指定用户)
--ldata=/var/lib/mysql \                          (数据库目录)
--basedir=/usr/local/mysql \                     (数据库服务文件)
--datadir=/home/mysql                           (数据存放位置家目录)

14、编辑启动脚本并进行修改

编辑脚本:vim /etc/init.d/mysqld

找到如下两行并进行修改:
basedir=/usr/local/mysql     (服务目录位置)
datadir=/home/mysql   (数据文件存放位置)

awXjzt.png
15、启动服务

service mysqld start

16、查看服务端口号是否开启

netstat -antp | grep 3306

awXzsf.md.png

17、设置数据库管理员账号及密码

mysqladmin -u root -p password "abc123"
回车后会提示输入密码,这里让输入的是原始密码,因为在这之前还没有设置过密码,所以直接回车即可

18、登陆MySQL

mysql -u root -p
提示输入密码,输入刚才设置的密码:abc123

查看数据库命令(注意分号不能少!):show databases;
使用exit命令可以退出

到这一步MySQL数据库就安装完成了,最后进行安装PHP服务

2.3 安装PHP

1、安装所必须的环境

yum -y install \        (安装环境)
gd \                (GD库是PHP处理图形的扩展库)
libpng \         (libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库)
libpng-devel \   (同上)
pcre \       (支持正则表达式)
pcre-devel \     (同上)
libxml2-devel \   (支持xml文件)
libjpeg-devel    (图片处理)

2、解压缩包

cd /opt
tar xjvf php-5.6.11.tar.bz2

3、进入PHP目录进行相关配置

./configure \
--prefix=/usr/local/php5 \    (php工作目录)
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \      (连接数据库)
--with-config-file-path=/usr/local/php5 \      (php5模块,友好的支持Apache去识别PHP服务)
--enable-mbstring   (多字符串处理)

4、进行编译及安装

make && make install

5、将php.ini配置文件复制到php5中

cp php.ini-development /usr/local/php5/php.ini

6、建立软连接让php的命令让系统所能识别

ln -s /usr/local/php5/bin/* /usr/local/bin/

7、编辑httpd服务的配置文件,使Apache服务支持PHP

编辑配置文件:vim /etc/https.conf

插入以下内容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

修改如下行,添加支持首页的类型,使其支持PHP:
Directorylndex index.php index.html

awjCdg.md.png
awjSL8.png

8、因为之前修改过Apache配置文件,所以需要重启服务

service httpd stop
service httpd start

9、编写一个PHP测试页面

编辑:vi /usr/local/httpd/htdocs/index.html

删除文件内原有内容并添加如下内容:
<?php
phpinfo();
?>

awj9eS.png

10、重命名后缀为PHP

mv /usr/local/httpd/htdocs/index.html /usr/local/httpd/htdocs/index.php

11、打开页面,查看PHP页面
awjkJs.md.png

到这一步PHP服务LAMP架构所需的三个服务就已经安装完成了,下面开始进行论坛的部署

2.4 安装BBS论坛

1、进入目录,解压缩包

cd /opt
unzip Discuz_X2.5_SC_UTF8.zip 

2、将论坛源码放入htdocs站点中

cp -r upload/ /usr/local/httpd/htdocs/bbs

PS:-r:递归复制目录下所有文件及目录

3、安装论坛

http://192.168.50.133/bbs/install/

awjAWn.md.png

4、到“开始安装”界面后,会提示有很多目录不可写,因为没有权限,所以我们要赋予权限
awjFij.md.png

进入站点目录: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

再次刷新页面,发现原来的×已经变成√了,点击下一步继续安装
awjPoQ.md.png

5、设置运行环境,点击第一项全新安装即可
awjEzq.md.png

6、因为还没有建议该论坛的数据,所以要先建立数据库再进行下一步安装操作

登陆数据库:mysql -u root -p
创建数据库(注意!分号不能少,下同):create database bbs;
查看数据库是否建立成功:show databases;
创建管理数据库的用户,提升权限grant,指定bbs数据库中的所有所有表格给bbsuser用户,%代表可以从任意终端进行登陆,使用密码为admin123:grant all on bbs. * to 'bbsuser'@'%' identified by 'admin123';
退出数据库:quit

6、创建完数据库后就可以继续安装了,在页面中填入刚才设置的信息并设置论坛的管理员账号及密码
awjeyV.md.png

7、设置完成后点击“下一步”开始安装
awjmLT.md.png

8、等待安装完成后就可以访问论坛首页及控制后台了

论坛首页:http://192.168.50.133/bbs/forum.php
管理员控制后台:http://192.168.50.133/bbs/admin.php

论坛首页
awjueU.md.png

管理员后台登录界面
awjZQ0.md.png

登录后的管理后台界面
awjKwF.md.png

到此为止论坛就全部部署完成了

猜你喜欢

转载自blog.csdn.net/u014042047/article/details/107783713