本实验取自:使用Linux搭建一个简单的论坛
本篇为回顾与总结,所以我们将不详细的讲其中的基础,详细内容请见上方原篇。
这里附上Discuz的源码包下载地址: https://www.dismall.com/thread-14660-1-1.html
下载现在的版本最新的为3.5,这里我将也用3.5来完成搭建。
获取rpm
软件包: rpmfind.net
网站,官网,系统安装镜像文件(9个G左右的那个文件)
将iso
文件浏览到虚拟机的光驱,然后挂载光盘读取光盘里面的文件
[root@rhcsa ~]# mkdir /guangpan
[root@rhcsa ~]# mount /dev/sr0 /guangpan/
这里其实创建一个源便好,推荐使用网络源。
不过这里我两个都进行创建:
先配置仓库,仓库的文件名必须以.repo
结尾,如果有多个以.repo
结尾的文件,那么每一个文件都会被读取,rhel8
和rhel9
都需要至少两个仓库:AppStream
和BaseOS
[root@rhcsa Packages]# cd /etc/yum.repos.d/
[root@rhcsa yum.repos.d]# touch net.repo
[root@rhcsa yum.repos.d]# vim net.repo
[root@rhcsa yum.repos.d]# cat net.repo
[app]
name=appstream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0
[base]
name=baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0
先挂载光盘
[root@rhcsa yum.repos.d]# yum repolist
配置本地源
[root@rhcsa yum.repos.d]# touch guangpan.repo
[root@rhcsa yum.repos.d]# vim guangpan.repo
[root@rhcsa yum.repos.d]# cat guangpan.repo
[guangpan-app]
name=gungpan-appstream
baseurl=file:///guangpan/AppStream
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[guangpan-base]
name=guanpan-baseos
baseurl=file:///guangpan/BaseOS
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@rhcsa yum.repos.d]# yum install httpd -y
[root@rhcsa yum.repos.d]# systemctl start httpd
[root@rhcsa yum.repos.d]# systemctl enable --now httpd
[root@rhcsa yum.repos.d]# yum install mariadb-server -y
[root@rhcsa yum.repos.d]# yum install php -y
[root@rhcsa yum.repos.d]# cd /var/www/html/
[root@rhcsa html]# mv /root/Discuz_X3.5_SC_UTF8_20230210.zip .
[root@rhcsa html]# unzip Discuz_X3.5_SC_UTF8_20230210.zip
[root@rhcsa upload]# systemctl enable --now httpd
[root@rhcsa upload]# systemctl enable --now mariadb
[root@rhcsa upload]# systemctl disable --now firewalld.service
[root@rhcsa upload]# getenforce
Enforcing
[root@rhcsa upload]# setenforce 0
[root@rhcsa upload]# getenforce
Permissive
[root@rhcsa upload]# systemctl restart httpd
1、输入自己的IP地址比如我虚拟机IP地址为192.168.13.129
2、则我这里访问的链接就为www.192.168.13.129/upload/
3、如果是下面这个界面还请刷新下界面。
正确的界面应为:
接着这里点击接收,我们将看到如下这个界面:
当然这里我们一步一步来,首先第一步自然是解决它不能写等权限,这里我们仔细看可以发现,这些文件都是config/,data/以及uc*
目录下的。
那么这里我就最简单的解决方式便是将他们直接赋予最高权限777
实现代码: [root@rhcsa upload]# chmod -R 777 config/ data/ uc*
-R便是进行递归修改文件的执行权限。
接着我们配置结束权限之后可以看到如下界面:
这里显示的是请检查mysqli是否正确加载,也就是有服务还没有进行配置。
[root@rhcsa upload]# yum list | grep php | grep mysql
php-mysqlnd.x86_64 8.0.27-1.el9 app
[root@rhcsa upload]# yum list php-mysqlnd
[root@rhcsa upload]# yum search php-mysqlnd
[root@rhcsa upload]# yum install php-mysqlnd -y
#设置数据库管理员root的密码
#这里设置账户密码:u是代表用户user的意思,p也就是密码:passwd
[root@rhcsa upload]# mysqladmin -uroot password '123456'
#添加luntan数据库
[root@rhcsa upload]# mysql -uroot -p123456
#查看当前存在的数据库名
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)
#创建一个数据库名为luntan的数据库
MariaDB [(none)]> create database luntan;
Query OK, 1 row affected (0.001 sec)
#查看当前存在的数据库名
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| luntan |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| luntan |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
#退出
MariaDB [(none)]> quit;
Bye
这里我们接着去浏览器进行刚才的配置:
下面这张图为数据库刚安装成功后截的
这一步之后直接默认,然后到第三步也就是数据库的配置
这里我们将数据库的名称改为我们刚才进行创建的数据库的名称:luntan
然后我们再在下面输入刚才所设置的管理员用户名以及密码就可完成数据库的配置以及安装。
这个时候我们就可以访问虚拟机然后登陆论坛了
这个时候我可以进行添加一块网卡,由于这里我采用的是NAT网络连接模式:
这里我们可以看到右下角有许多小标,第一个硬盘,第二个DVD,第三个网络适配器
我们只需要鼠标右键点击那些小标,弹出设置点开:
这里我们选择桥接方式连接网络,如下图:
[root@rhcsa html]# nmcli device connect ens224
#再次查看网卡对应的会话名
[root@rhcsa html]# nmcli connection
#再次查看网卡名以及其IP地址
[root@rhcsa html]# ip a
访问新增IP地址即可。
本实验取自:时间服务器
要求: 配置ntp时间服务器,确保客户端主机能和服务主机同步时间
准备工作: 两台虚拟机,一台做客户端,一台做服务器,这里:
服务器IP地址: 192.168.13.134
客户端IP地址: 192.168.13.135
1、服务器思路以及配置
[root ~]# yum install chrony -y
上次元数据过期检查:2:56:29 前,执行于 2023年08月20日 星期日 10时27分38秒。
软件包 chrony-4.3-1.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root ~]#
[root ~]# vim /etc/chrony.conf
配置之后:
[root ~]# systemctl restart chronyd
这里可以看到已经同步完毕。
2、客户端思路以及配置
[root ~]# vim /etc/chrony.conf
修改之后:
[root ~]# systemctl restart chronyd
[root ~]# chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combin
| / 'x' = may be in error, '~' = too variable, '?' = unusab
|| .- xxxx [ yyyy ] +/-
|| Reachability register (octal) -. | xxxx = adjusted o
|| Log2(Polling interval) --. | | yyyy = measured o
|| \ | | zzzz = estimated
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
=======================================================================
^* 192.168.13.134 3 6 17 14 -41us[ -44us] +
这里查看服务器的IP以及状态,可以看到同步完毕。
[root ~]# timedatectl status
Local time: 日 2023-08-20 10:33:03 CST
Universal time: 日 2023-08-20 02:33:03 UTC
RTC time: 日 2023-08-20 02:33:03
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
本实验取自:远程连接服务器
[root@server ~]# vim /etc/ssh/sshd_config
Port 2222 # 修改第21行参数,去掉#,改为2222
[root@server ~]# systemctl restart sshd
[root@server ~]# netstat -ntlp # 查看端口号是否改变
[root@node1 ~]# ssh [email protected] # 默认登录会被拒绝
ssh: connect to host 192.168.48.130 port 22: Connection refused
[root@node1 ~]# ssh -p 2222 [email protected] # 指明以2222端口号登录
[email protected]'s password:
[root@server ~]#
注销
Connection to 192.168.48.130 closed.
[root@node1 ~]#
# 定位server端,修改会原来的22端口
[root@server ~]# vim /etc/ssh/sshd_config
Port 22 # 修改第21行参数,去掉#,改为22
[root@server ~]# systemctl restart sshd
[root@server ~]# netstat -ntlp
# 开启selinux
[root@server ~]# vim /etc/selinux/config
SELINUX=enforcing # 改为enforcing即开启
[root@server ~]# reboot # 重启生效,等待
[root@server ~]# vim /etc/ssh/sshd_config # 重新修改端口号为3333
Port 3333
# 重启服务后会报错,selinux会拦截端口号修改
[root@server ~]# systemctl restart sshd
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xeu sshd.service" for details.
[root@server ~]# setenforce 0 # 临时关闭selinux
[root@server ~]# getenforce # 查看selinux状态
Permissive # 临时关闭,不拦截但会记录行为
[root@server ~]# systemctl restart sshd # 临时关闭selinux后重启服务成功
# 注意:修改端口这类的系统参数,需要关闭selinux或配置selinux让其放行
实验要求:拒绝root账户远程登录
参数类别 | 是否允许ssh登录 | 登录方式 | 交互shell |
---|---|---|---|
yes | 允许 | 无限制 | 无限制 |
no | 不允许 | 无 | 无 |
prohibit-password | 允许 | 仅允许使用密码 | 无限制 |
forced-commands only | 允许 | 仅允许密钥 | 授权的口令 |
[root@server ~]# vim /etc/ssh/sshd_config.d/01-permitrootlogin.conf
PermitRootLogin no # yes修改为no,拒绝以root身份登录服务器
[root@server ~]# systemctl restart sshd
[root@node1 ~]# ssh [email protected] # 以root身份登录被拒绝
[email protected]'s password:
Permission denied, please try again.
[root@node1 ~]# ssh-keygen -t rsa
[root@node1 ~]# ssh-keygen -t rsa
[root@node1 ~]# ssh-copy-id [email protected] # 将node1公钥上传给130主机
[root@node1 ~]# ssh [email protected]
之前xshell使用的是密码登录,现在通过密钥的配置,实现无密码登录
# 注意:以下步骤检查后若有authorized_keys文件则可忽略
# 先在服务器端检查/root/.ssh/authorized_keys是否存在,它时存储公钥的文件,若不存在需要新建
# 服务器端操作
[root@server ~]# cd /root
[root@server ~]# ls -a
[root@server ~]# mkdir .ssh
[root@server ~]# cd .ssh
[root@server .ssh]# vim authorized_keys
# 有时需要注意.ssh目录的权限
1、打开xshell开始操作,新建密钥:
2、下一步:
3、设置密钥文件名加密密码(可不设)
4、产生公钥,并另存为文件
将windows中保存的公钥文件以记事本的方式打开,复制内容,拷贝到Linux服务器端的/root/.ssh/authorized_keys
文件中后保存退出,并重启服务:
[root@server .ssh]# systemctl restart sshd
5、xshell中新建会话:
6、点击用户身份验证,选择Public Key 方式验证登录,点击连接
7、设置以什么身份登录:
8、输入密钥密码
9、测试
免密配置成功。
练习要求: 配置ssh免密登陆,能够实现客户端主机通过服务器端的redhat账户进行基于公钥验证方式的远程连接
实现步骤:
[root ~]# useradd redhat
[root ~]# passwd redhat
更改用户 redhat 的密码 。
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? n
[root ~]#
[root ~]# ssh-copy-id redhat.168.13.134
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
redhat.168.13.134's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
[root ~]#
[root ~]# ssh redhat.168.13.134
Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
[redhat ~]$ exit
注销
Connection to 192.168.13.134 closed.
[root ~]#
本实验取自:https://blog.csdn.net/weixin_63172698/article/details/132426298?spm=1001.2014.3001.5501
[root@server ~]# yum install httpd -y
[root@server web1]# cd ~
[root@server ~]# echo "welcome to www.openlab.com" > /var/www/html/index.html
[root@server ~]# ls /var/www/html/
index.html
[root@server ~]# systemctl restart httpd
查看SELinux以及防火墙状态,若开启,则临时关闭SELinux以及防火墙。
查看etc下的passwd文件即可查到apache。
这里我们可以进入主配置文件进行查看启动页面在哪个文件即可以看到:
所以,我们输入命令到此文件中,输出一个字符串:
[root@server ~]# curl 192.168.48.130
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
[root@server ~]# mkdir /web1
[root@server ~]# cd /web1
[root@server web1]# ls
css dingban.mp4 img index.html js temp
DocumentRoot "/web1" # 第124行修改为真实的网页存储目录
<Directory "/web1"> # 第129行修改网页存储目录的访问权限
AllowOverride None
# Allow open access:
Require all granted
</Directory>
[root@server ~]# systemctl restart httpd
# windows端打开浏览器输入服务器地址测试
实验材料: 花生壳管理平台,Linux虚拟机以及xshell(要不要都行,远程连接工具),再就测试需要使用的浏览器(尽量不用IE浏览器),这里我使用的是谷歌浏览器
实验要求: 搭建网站使用花生壳进行内网穿透实现公网访问
[root@server ~]# setenforce 0 # 暂时关闭SELinux
[root@server ~]# systemctl stop firewalld # 关闭防火墙
[root@server ~]# yum install httpd -y # 安装apache
[root@server ~]# systemctl start httpd # 启动
[root@server ~]# systemctl enable httpd
[root@server ~]# vim /etc/httpd/conf/httpd.conf # 修改124及129行数据
DocumentRoot "/zy"
<Directory "/zy">
[root@server ~]# systemctl restart httpd # 重启服务
这里可以在主机上输入虚拟机IP进行测试,也可以在虚拟机使用浏览器进行访问自身环回:即127.0.0.1,即可访问成功。
这里https需要进行认证,点进去支付:
# 应用名称:自定
# 映射类型:https
# 外网域名:系统指定,不能更改
# 外网端口:443,默认
# 内网主机:本机linux服务的IP地址
# 内网端口:本地linux端的http端口,默认80
内主机这里查看自身虚拟机IP地址:
点击Linux的立即下载
# 客户端下载:
[root@server ~]# wget "https://dl.oray.com/hsk/linux/phddns_5.2.0_amd64.rpm" -O phddns_5.2.0_amd64.rpm
# 客户端安装
[root@server ~]# rpm -ivh phddns_5.2.0_amd64.rpm
# 启动
[root@server ~]# phddns start
# 复制下图“右下角的网址”
# 重新打开浏览器,输入http://b.oray.com,完成账户登录,激活
# 登录激活
右边即显示了登陆状态。
# 点击绿色公网域名访问网站
访问此域名即可。
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
[root@server ~]# vim /etc/httpd/conf.d/userdir.conf
#UserDir disabled # 插入#,注释掉,表示开启用户主页功能
UserDir public_html # 去掉#,启动网站存储数据的默认目录,路径:/home/账户名/public_html
原文件:
更改后文件:
[root@server ~]# useradd andy
[root@server ~]# passwd andy
更改用户 andy 的密码 。
新的密码: # 密码:123456
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# useradd jenny
[root@server ~]# passwd jenny
更改用户 jenny 的密码 。
新的密码: # 密码:654321
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
# 切换到andy账户,设置存储网页目录及权限
[root@server ~]# su andy
[andy@server root]$ cd /home/andy
[andy@server ~]$ mkdir public_html
[andy@server ~]$ cd public_html/
[andy@server public_html]$
# 使用xftp将sxhkt网页数据上传到/home/andy/public_html目录中
[andy@server public_html]$ cd ~
[andy@server ~]$ chmod -Rf 755 /home/andy
[andy@server ~]$ ll
总用量 0
drwxr-xr-x 7 andy andy 100 8月 22 11:25 public_html
# 切换到jenny账户,设置存储网页目录及权限
[andy@server ~]$ su jenny
密码:
[jenny@server andy]$ cd ~
[jenny@server ~]$ pwd
/home/jenny
[jenny@server ~]$ mkdir public_html
[jenny@server ~]$ cd public_html/
[jenny@server public_html]$ cd ~
[jenny@server ~]$ chmod -Rf 755 /home/jenny
[jenny@server ~]$ ll
总用量 0
drwxr-xr-x 6 jenny jenny 70 8月 22 11:29 public_html
这时候并通过xftp将文件传到两个用户各自的页面文件中:
# 切换到root账户
[jenny@server ~]$ su root
密码:
[root@server jenny]# cd ~
[root@server ~]# pwd
/root
[root@server ~]# systemctl restart httpd
# 在Windows端浏览器地址栏中,输入:
# 192.168.48.130/~andy
# 192.168.48.130/~jenny
[root@server ~]# htpasswd -c /etc/httpd/passwd andy
New password: # 密码:123456
Re-type new password:
Adding password for user andy
# 分析:
# htpasswd:生成密码数据的命令
# -c:表示第一次生成,会创建存储密码加密密文的存储文件,第二次创建时不能增加-c参数,否则存储密码密文文件内容会被覆盖
# andy : 需要验证密码登录的账户
[root@server ~]# htpasswd /etc/httpd/passwd jenny
New password: #v密码:654321
Re-type new password:
Adding password for user andy
这里密码文件位置是我们自身设定的:我们也可进行查看,使用的是密文:
[root@server ~]# vim /etc/httpd/conf.d/userdir.conf
# 定位最后一行输入以下内容:
<directory "/home/andy/public_html"> # 设置andy账户目录的区域配置
authuserfile "/etc/httpd/passwd" # 设置验证密码的存储文件位置
authname "My privately" # 登录时的提示信息,可能不显示
authtype basic # 加密模式
require user andy # 需要验证密码的账户名
</directory>
<directory "/home/jenny/public_html">
authuserfile "/etc/httpd/passwd"
authname "My privately"
authtype basic
require user jenny
</directory>
[root@server ~]# systemctl restart httpd
# 在Windows端浏览器地址栏中,输入以下url时会验证密码
# 192.168.48.130/~andy
# 192.168.48.130/~jenny
这里访问的域名为虚拟机IP地址加~用户名。
当然,我们也可以不加用户名,这里在更改主配置文件时,将更改为以下内容即可:
这里创建的用户名为t1以及t2,剩余步骤同上面一致即可:
[root ~]# yum install httpd
[root ~]# systemctl start httpd
同时检查SELinux以及防火墙状态,开启的话将其关闭。
[root ~]# mkdir -p /www/zy
[root ~]# mkdir -p /www/sxhkt
[root ~]# vim /etc/hosts
[root ~]# vim /etc/httpd/conf/httpd.conf
hosts文件:
原文件:
更改后:
主配置文件:
更改后:
[root ~]# systemctl restart httpd
这里由于是基于Linux的DNS hosts文件进行更改的,所以,只能在Linux下进行访问其域名,这里即可访问成功。
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.137/24
[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.138/24
[root ~]# nmcli c up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root ~]#
这里即可看到新增了137以及138两个IP地址。
[root ~]# mkdir -p /www/ip137
[root ~]# mkdir -p /www/ip138
[root ~]# echo "ip137" > /www/ip137/index.html
[root ~]# echo "ip138" > /www/ip138/index.html
[root ~]# ls /www/ip137
index.html
[root ~]# ls /www/ip138
index.html
[root ~]# vim /etc/httpd/conf/httpd.conf
原文件:
更改后:
[root@server ~]# systemctl restart httpd
[root@server ~]curl 192.168.13.137
[root@server ~]curl 192.168.13.138
即可访问成功。
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install httpd -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd
[root ~]# mkdir -p /www/port{9527,9528}
[root ~]# ls /www
port9527 port9528
[root ~]# cd /www
[root www]# ll
总用量 0
drwxr-xr-x 6 root root 70 8月 22 14:43 port9527
drwxr-xr-x 7 root root 100 8月 22 14:43 port9528
[root www]# ls /www/port9527
compat css img index.html js
[root www]# ls /www/port9528
css dingban.mp4 img index.html js temp
这里我们也可以查看使用端口的监听状况:
[root ~]# vim /etc/httpd/conf/httpd.conf
原文件:
更改后文件:
[root@server ~]# systemctl restart httpd
这里访问域名为自身IP地址加上端口号
比如,我的虚拟机IP地址为192.168.13.134
即访问:
192.168.13.134:9527
192.168.13.134:9528
即可访问成功。
# 安装所需软件
[root ~]# yum install httpd mod_ssl-y
# 启动并自启动
[root ~]# systemctl start httpd
[root ~]# systemctl enable httpd
# hosts映射
[root ~]# vim /etc/hosts 192.168.13.134 www.openlab.com
# 创建网页目录及网页
[root ~]# mkdir -p /www/openlab
[root ~]# echo 'welcome to openlab!!!' > /www/openlab/index.html
# 修改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.13.134>
DocumentRoot /www/openlab
ServerName "www.openlab.com"
<Directory /www/openlab>
AllowOverride None
require all granted
</Directory>
</VirtualHost>
[root ~]# systemctl restart httpd
# 创建网页界面
[root ~]# mkdir /www/openlab/data
[root ~]# echo "data" > /www/openlab/data/index.html
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.13.134>
DocumentRoot /www/openlab/data
alias /data /www/openlab/data
ServerName "www.openlab.com"
<Directory /www/openlab/data>
AllowOverride none
require all granted
</Directory>
</VirtualHost>
# 重启服务
[root ~]# systemctl restart httpd
[root ~]# mkdir /www/openlab/student
[root ~]# echo 'student' > /www/openlab/student/index.html
[root ~]# useradd t1
[root ~]# passwa t1
[root ~]# useradd t2
[root ~]# passwd t2
[root ~]# htpasswd -c /etc/httpd/passwd t1
[root ~]# htpasswd /etc/httpd/passwd t2
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
# 继续编写
<Directory /www/openlab/student>
authuserfile /etc/httpd/passwd
authname "student"
authtype basic
require user t1 t2
</Directory>
# 重启服务
[root ~]# systemctl restart httpd
# 创建网站网页
[root ~]# mkdir /www/openlab/money
[root ~]# echo 'money' > /www/openlab/money/index.html
[root ~]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/money.key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[root ~]# openssl req -utf8 -new -key /etc/pki/tls/private/money.key -x509 -days 365 -out /etc/pki/tls/certs/money.crt
Enter pass phrase for /etc/pki/tls/private/money.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shanxi
Locality Name (eg, city) [Default City]:weinan
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (eg, your name or your server's hostname) []:server
Email Address []:zy.com
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
# 重启服务
[root ~]# systemctl restart httpd
本实验取自:基于https协议的静态网站
# 恢复快照
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# systemctl disable firewalld
[root@server ~]# yum install httpd mod_ssl -y
[root@server ~]# systemctl start httpd # 启动httpd
[root@server ~]# systemctl enable httpd # 设置开机启动
[root@server ~]# mkdir -p /www/zy
# 私用xftp将windows的zy网站数据文件上传到/www/zy目录中
[root@server ~]# cd /etc/pki/tls/private # 进入私钥文件存储目录
[root@server private]# openssl genrsa -aes128 2048 > zy.key # 建立私钥文件
Enter PEM pass phrase: # 密码123456
Verifying - Enter PEM pass phrase: # 再输一遍密码123456
[root@server private]# cd /etc/pki/tls/certs
[root@server certs]# openssl req -utf8 -new -key /etc/pki/tls/private/zy.key -x509 -days 365 -out zy.crt
Enter pass phrase for /etc/pki/tls/private/zy.key: # 输入私钥加密密码123456
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
# 注意:下列证书信息项目,在面试时常问
Country Name (2 letter code) [XX]:86 # 国家代码
State or Province Name (full name) []:shanxi # 省份
Locality Name (eg, city) [Default City]:xi'an # 城市
Organization Name (eg, company) [Default Company Ltd]:openlab # 公司
Organizational Unit Name (eg, section) []:RHCE # 部门
Common Name (eg, your name or your server's hostname) []:server # 主机名
Email Address []:[email protected] # 邮箱
# 输入内容时,若输入错误,使用ctrl+退格 进行删除
[root@server certs]# cd ~
[root@server ~]# vim /etc/httpd/conf.d/ssl.conf
# 定位第一行,输入以内内容
<virtualhost 192.168.13.134:443>
sslengine on
SSLCertificateFile /etc/pki/tls/certs/zy.crt
SSLCertificateKeyFile /etc/pki/tls/private/zy.key
servername 192.168.13.134
documentroot /www/zy
</virtualhost>
<directory /www/zy>
allowoverride none
require all granted
</directory>
[root@server certs]# cd ~
[root@server ~]# vim /etc/httpd/conf.d/ssl.conf
[root@server ~]# systemctl restart httpd
Enter TLS private key passphrase for 192.168.13.134:443 (RSA) : ****** # 需要输入私钥的密码123456
# 在windows端打开浏览器,输入https://192.168.13.134,点击高级->接受风险并继续
# 恢复快照
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# systemctl disable firewalld
[root@server ~]# yum install httpd mod_ssl -y
[root@server ~]# systemctl start httpd # 启动httpd
[root@server ~]# systemctl enable httpd # 设置开机启动
[root@server ~]# mkdir -p /www/file
[root@server ~]# mkdir -p /www/ftp
[root@server ~]# echo "file" > /www/file/index.html # 写入网站数据
[root@server ~]# echo "ftp" > /www/ftp/index.html
[root@server ~]# vim /etc/hosts # 添加如下内容
192.168.48.130 www.openlab.com
[root@server ~]# vim /etc/httpd/conf/httpd.conf
<virtualhost 192.168.48.130>
documentroot /www/file
alias /file /www/file
servername 'file'
</virtualhost>
<directory /www/file>
allowoverride none
require all granted
</directory>
[root@server ~]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/ftp.key # 设置私钥文件
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[root@server ~]# openssl req -utf8 -new -key /etc/pki/tls/private/ftp.key -x509 -days 365 -out /etc/pki/tls/certs/ftp.crt # 设置证书
Enter pass phrase for /etc/pki/tls/private/ftp.key: # 输入私钥密码123456
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (eg, your name or your server's hostname) []:server
Email Address []:[email protected]
[root@server ~]# vim /etc/httpd/conf.d/ssl.conf
# 定位第一行,输入以下内容:
<virtualhost 192.168.48.130:443>
sslengine on
SSLCertificateFile /etc/pki/tls/certs/ftp.crt
SSLCertificateKeyFile /etc/pki/tls/private/ftp.key
servername 'ftp'
documentroot /www/ftp
alias /ftp /www/ftp # 设置别名访问二级目录
</virtualhost>
<directory /www/ftp>
allowoverride none
require all granted
</directory>
[root@server ~]# systemctl restart httpd
Enter TLS private key passphrase for ftp:443 (RSA) : ****** # 输入私钥的密码123456
# 虚拟机中打开火狐浏览器,输入www.openlab.com/file
# 虚拟机中打开火狐浏览器,输入https://www.openlab.com/ftp,点击高级->接受风险并继续
关闭安全软件
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld # 关闭防火墙
搭建LAMP环境
[root@server ~]# yum install httpd mariadb-server php* -y
[root@server ~]# cd /
[root@server /]# unzip /nextcloud-25.0.1.zip
设置nextcloud安装命令权限
[root@server /]# chmod -Rf 777 /nextcloud
[root@server /]# systemctl start mariadb # 启动数据库
[root@server /]# mysql
# 数据库设置
MariaDB [(none)]> create database nextcloud; # 创建数据库
MariaDB [(none)]> create user 'nextcloud'@'localhost' identified by '123456'; # 创建用户及密码
MariaDB [(none)]> grant all on nextcloud.* to 'nextcloud'@'localhost';
# 设置权限
MariaDB [(none)]> exit # 退出
重启数据库
[root@server /]# systemctl restart mariadb
[root@server /]# vim /etc/httpd/conf/httpd.conf
# 定位第124行修改如下:
DocumentRoot "/nextcloud"
<Directory "/nextcloud">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
重启httpd服务
[root@server /]# systemctl restart httpd
这里内网穿透详细见内网穿透石实验。
[root@server ~]# vim /nextcloud/config/config.php
# 按照下面的内容对源文件进行修改
<?php
$CONFIG = array (
'instanceid' => 'ocif3g9giiwc',
'passwordsalt' => 'nzXf5wrB2QmOcw35btycuIbEGQ8DAq',
'secret' => 'D0EUghErW/BBmULBe/OwC1Ui+r9I+SsGLaRu8IpGNSpoEe1b',
'trusted_domains' =>
array (
0 => '192.168.48.130',
1 => '40a09234i8.imdo.co', # 添加花生壳给的域名,不要https或www等前缀
),
'datadirectory' => '/nextcloud/data',
'dbtype' => 'mysql',
'version' => '25.0.1.1',
'overwrite.cli.url' => 'https://40a09234i8.imdo.co:443', # 修改为花生壳给的域名,前面要有https,后面要有端口号
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '123456',
'installed' => true,
'overwritehost' => '40a09234i8.imdo.co:443', # 添加,域名更换为花生壳给的域名
'overwriteprotocol' => 'https', # 添加
);
原config.php文件:
修改后文件: