一、部署共享服务器

1. 产生原因:文件传输的服务器可以是主机之间传输文件变得简单,但本质还是传输文件,上传等功能一般不使用,若需要在服务器上传或修改文件一般使用共享文件

2. Samba共享服务程序

2.1 组成

  • Samba:服务器端软件,提供服务器守护进程、共享程序文档等功能
  • samba-common:设置文件并提供语法校验功能
  • samba-client:客户端软件,提供访问时的指令

2.2 Samba服务器配置文件

  • 存储路径:/etc/samba/smb.conf
  • 常用的参数
    • [global]:全局性配置,不能省略
      • workgroup=:工作组名
      • server string=:服务器信息介绍
      • log file=:定义日志文件存储路径
      • max log size=:定义日志文件的最大容量(单位为KB)
      • sercurity=:验证方式
      • passdb backend=:定义用户后台类型
      • load printers=yes:设置是否共享打印机
      • cups options=raw:设置打印机的选项
    • [homes]:本地参数,homes可以修改为Windows显示的共享目录名
      • comment=:描述信息,可以省略
      • path=:共享目录的绝对路径,不能省略
      • public=no:关闭所有人可见
      • browsable=yse:定义是否在windows工作组下看的共享目录
      • writeable=yes:允许写入

3. 部署共享服务

  • 准备工作

    • 关闭SELinux:setenforce 0
    • 关闭防火墙:systemctl stop firewalld
    • 安装samba:yum install -y samba
    • 查看本机IP:ip addr
  • 创建新账户

    • useradd smbtest
    • passwd smbtest
  • 使用samba的pdbedit命令添加新账户

    • 格式:pdbedit -a -u smbtest
    • 注意:samba服务要求账户必须事先建立,为普通账户,密码为新密码,不能使用原有的账户登录密码
  • 创建共享目录

    • mkdir /smbdata
  • 修改共享目录权限:chown -Rf smbtest:smbtest /smbdata

  • 配置samba配置文件

    • 备份主配置文件:mv smb.conf smb.conf.back

    • 新建主配置文件:vim smb.conf

    • 输入以下内容:

      [global]
              workgroup = SAMBA
              server string = Samba Server v%v 
              log file = /var/log/samba/log.%m 定义日志文件的存放位置与名称,参数%m为来访的主机名
              max log size = 50   定义日志文件的最大容量为50KB
              security = user     安全验证的方式,总共有4种
              load printers = yes 设置在Samba服务启动时是否共享打印机设备
              cups options = raw  打印机选项
      [smbdata]
              path = /smbdata  共享目录位置
              public = no      等同于 guest ok = no  是否所有人可见,等同于"public"参数。
              browseable = yes 该选项设置共享目录在网上邻居中是否显示,设置为no时相当于隐藏共享目录,该选项是专门用于windows平台 
              writable = yes  定义是否可以执行写入操作,与“read only”相反
      
      security所有参数:
      	share:来访主机无需验证口令;比较方便,但安全性很差
      	user:需验证来访主机提供的口令后才可以访问;提升了安全性
      	server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)
      	domain:使用域控制器进行身份验证
      
      image-20201018095907237
  • 启动服务:systemctl start smb

  • 开机启动:systemctl enable smb

  • 测试:在Windows的运行输入:\\服务器IP,也可以在文件夹地址栏中输入

二、 使用LNMP环境部署Discuz论坛

1. LNMP:Linux+Nginx+MySQL(Mariadb)+PHP

2. 准备工作

2.1 关闭SELinux:setenforce 0

2.2 关闭防火墙:systemctl stop firewalld

2.3 查看本机IP地址:ip addr

3. 安装必要软件

3.1 安装扩展源:yum install -y epel-release

3.2 安装编译器:yum install -y gcc gcc-c++

3.3 安装解压缩软件:yum install -y zlib*

3.4 安装PCRE软件:yum install -y pcre*

3.5 安装加密软件:yum install -y openssl*

3.6 安装PHP:yum install -y php

3.7 安装数据库:yum install -y mariadb-server

3.8 安装PHP支持软件:yum install -y php-fpm php-mysql

3.9 安装Nginx

  • 下载源码包:wget http://nginx.org/download/nginx-1.19.1.tar.gz
  • 解压缩:tar xzvf nginx-1.19.1.tar.gz
  • 进入安装目录:cd nginx-1.19.1
  • 编译安装:./configure && make && make install

3.10 在Window下载Discuz论坛源码包(必须为UTF-8格式),通过WinSCP上传到Linux家目录中

4. 配置Nginx

4.1 启动

  • Nginx启动的程序默认路径:/usr/local/nginx/sbin
  • 进入目录:cd /usr/local/nginx/sbin
  • 测试:在浏览器中输入 http://服务器IP地址

4.2 将Discuz论坛的源码文件中upload目录拷贝到nginx默认网页存储路径

  • nginx默认网页存储路径:/usr/local/nginx/html
  • 注意:该目录中的index.html就是测试网页的源文件
  • 将Discuz论坛的upload目录拷贝到/usr/local/nginx/html中并赋予权限
    • cd ~
    • ls
    • cd Discuz_X3.4_SC_UTF8_20191201/
    • ls
    • cp -rf upload /usr/local/nginx/html
    • ls
    • chmod -Rf 777 upload
    • rm -f index.html

4.3 修改nginx配置文件

  • 路径:/usr/local/nginx/conf/nginx.conf

  • 编辑:vim /usr/local/nginx/conf/nginx.conf

    • 定位第36行,确认监听端口为80

    • 定位第44行,将root后边的html删除,替换为:/usr/local/nginx/html/upload,该动作为设置默认网页目录路径

    • 定位第45行,添加index.php,开启php文件识别

      image-20201018113240330
    • 定位65-71行,删除前导#号,开启PHP支持,将66行的html修改为 /usr/local/nginx/html/upload

      image-20201018113438739
      image-20201018120314011
    • 定位第69行,将 /scripts 改为 $document_root

    image-20201018113738353
    • 保存退出,重启Nginx
      • cd /usr/local/nginx/sbin/
      • ./nginx -s reload

5. 配置mariadb数据库

5.1 systemctl start mariadb

5.2 mariadb数据库初始化

  • 执行初始化的命令:mysql_secure_installation
  • 进入初始化向导
    • Enter current password for root (enter for none):是否为root账户设置密码,回车
    • Set root password? [Y/n] :输入y回车,输入密码
    • Remove anonymous users? [Y/n] :是否删除匿名账户,输入y回车
    • Disallow root login remotely? [Y/n] :是否禁止root管理员从远程登录,输入y回车
    • Remove test database and access to it? [Y/n] :是否删除test数据库并取消其访问权限,输入y回车
    • Reload privilege tables now? [Y/n] :是否刷新授权列表,让初始化后的设定生效,输入y回车
  • 重启数据库: systemctl restart mariadb

6. 启动php-fpm服务:systemctl start php-fpm

7. 安装Discuz论坛服务

7.1 在Windows的浏览器中数额如http://服务器IP地址进入向导,按提示操作

7.2 注意:如果出现红叉×,一般是权限问题,或者软件未安装

7.3 安装数据库

  • 设置密码:mariadb数据库初始化时设置的root密码
  • 设置论坛管理员用户名及密码

8. 测试:Windows打开浏览器输入服务器IP地址进行测试

9. LNMP一键安装包部署论坛

9.1 准备工作

  • 关闭SELinux

  • 关闭防火墙

  • 查看IP地址

  • 使用winscp将windows中的LNMP一键安装包上传到Linux

  • 检查yum源是否可用:yum makecache

  • 解压缩安装包:tar xzvf lnmp1.7-full.tar.gz

9.2 安装LNMP一键安装包:

  • cd lnmp1.7-full

  • 执行安装脚本 ./install.sh

    • Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 0):选择安装数据库版本

    • Please setup root password of MySQL.

      Please enter: 输入数据库管理员的密码

    • Do you want to enable or disable the InnoDB Storage Engine?

      Default enable,Enter your choice [Y/n]: 是否启用MySQL数据库引擎

    • Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10): 选择php的版本,回车即可

    • Enter your choice (1, 2 or 3):是否安装内存优化,不安装回车即可

    • 按任意键开始安装

  • 配置Nginx

    • 注意:LNMP一键安装包的Nginx是经过优化配置的,与默认的Nginx配置文件内容有所不同
    • 网站目录:/home/wwwroot/default
    • 将Discuz的upload目录拷贝到/home/wwwroot/default目录中并赋予权限
      • chown www:www -R /home/wwwroot/default/upload
    • 修改Nginx.conf的配置文件
      • vim /usr/local/nginx/conf/nginx.conf
      • 定位第69行,修改为root /home/wwwroot/default/upload
  • 重启Nginx

    • cd /usr/local/nginx/sbin
    • ./nginx -s reload
  • 测试:地址栏输入服务器IP地址进行测试

原文作者:絷缘
作者邮箱:zhiyuanworkemail@163.com
原文地址:https://zhiyuandnc.github.io/HTHKqujWe/
版权声明:本文为博主原创文章,转载请注明原文链接作者信息