22级《Linux基础》临时补充材料:
关于VM虚拟机安装Debian11过程中需要关注的问题
一、机房操作系统如果Windows7 32位需要安装VM10;如果Windows7 64位需要安装VM15;其它均不能安装成功!
二、虚拟机在安装Debian11服务器之前,需将虚拟机网络适配器改为【仅主机模式】安装完成之后改为【桥接模式】(主要为了加速安装);
(1)安装过程中的主机名(如下图所示),按照要求做(此部分内容见书P20《第2章 安装Linux与卓面操作》);

(2)安装过程中的新用户名/密码要求:test/12345;
(3)安装软件选项见下图:

(4)安装完成后见下图:

三、如果【桥接模式】出现不能上网情况,需在VM虚拟机中操作:编辑->虚拟网络编辑器->由【自动】改为【实际网卡】->重启虚拟机。
备注:详细操作步骤可以参考:
https://www.jianshu.com/p/b27dddace16b;实在不行允许改为【NAT模式】。
特别注意以下的提示为教师机的root用户成功登录后的提示信息,以下的例子的操作均在此机器上操作!
root@web8888:~#
四、安装远程登录服务SSH(如果已经安装此步可省,直接看五):# apt install openssh-server
五、设置允许SSH服务器远程登录。修改配置文件(sshd_config),操作命令如下所示:
root@web8888:~# vi /etc/ssh/sshd_config
在文件最后增加如下两行:
124│PermitRootLogin yes
125│PasswordAuthentication yes
使用vi保存命令:1.Esc键;2.:wq保存退出(此部分内容见书P54《第三章 Shell的基本操作》)
六、重新启动SSH服务器(使之生效),操作命令如下所示:
root@web8888:~# systemctl restart ssh #或命令:# /etc/init.d/ssh restart
没有出现提示信息或:Restarting ssh (via systemctl): ssh.service. (成功标识)
备注,此时需要查看虚拟机IP,操作命令:ifconfig或ip a,记下IP(下图中192.168.124.6),操作命令如下所示:
root@web8888:~# ifconfig | grep inet
inet 192.168.124.6 netmask 255.255.255.0 broadcast 192.168.124.255
inet6 fe80::20c:29ff:fe55:49e0 prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
root@web8888:~#
七、下载远程登录软件:
xshell.rar[46 MB],并安装。也可下载
putty070cn.zip[1.5 MB],解压并运行!
八、运行 Xshell 或 putty ,在下图中输入IP然后点击[连接],并使用root超级用户登录自己刚刚建立的Debian11服务器(此时应有[SSH安全警告]提示对话框如下图2;4;],点击[接受并保存]或[是],如果第二次登录没有此项);或Linux命令:一般格式:ssh 用户@服务器;实例:ssh test@192.168.10.100
图1 Xshell 运行界面
图2 Xshell 安全警告
图3 putty 运行界面
图4 putty 安全警告
九、以下操作均在登录的 Xshell 或 putty 中操作完成
(1)Debian11安装完成后,需更新数据源(默认国外数据源安装软件速度过慢,需更改为国内数据源:比如:阿里源);
操作步骤:使用vi编辑器对配置文件(sources.list)进行编辑,操作命令如下所示:
root@web8888:~# vi /etc/apt/sources.list
将原有行均删除,填写如下内容(可以使用vi的复制命令yy[复制光标所在行],粘贴命令p[在光标所在行的下一行粘贴];或使用 Xshell 的复制快捷键 Ctrl+Insert,粘贴快捷键 Shift+Insert;或 putty 复制/粘贴快捷键:鼠标右键)
1│deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
2│deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
3│
4│deb http://mirrors.aliyun.com/debian-security bullseye-security main non-free contrib
5│deb-src http://mirrors.aliyun.com/debian-security bullseye-security main non-free contrib
6│
7│deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
8│deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
将文件保存。命令:1.Esc键;2.:wq保存退出(此部分内容见书P54《第三章 Shell的基本操作》)
(2)使文件马上更新生效,操作命令如下所示:
root@web8888:~# apt update
(3)当更新数据源完成后就可以安装其它常用软件,apt 安装命令可以查看书P136《第七章 网络与软件管理》
A)安装压缩解压缩软件 zip(关于zip的使用见书P104),操作命令如下所示:
root@web8888:~# apt install zip
B)安装显示并列出目录下的所有内容 tree,操作命令如下所示:
root@web8888:~# apt install tree
C)安装代替 ftp 上传和下载的软件 lrzsz,操作命令如下所示:
root@web8888:~# apt install lrzsz
D)安装 vim 编辑器.操作命令如下所示:
root@web8888:~# apt install vim
(4)修改服务器主页文件,并在主页文件中加入自己的班级+学号后4位+姓名(汉字).操作命令如下所示:
root@web8888:~# vim /var/www/html/index.html
效果如下所示
第一阶段Linux基础安装已经完成(备注:必须将以上部分做U盘备份),以下为第二阶段:
十、创建Linux网站(即LAMP:Linux+Apache+MySQL+PHP)工作内容:
(1)安装 Apache2 服务器:由于在安装 Linux Debian11 过程中已经在选择软件的项目中选择了 Web server,此步可省。
(2)安装 MySQL 数据库软件(备注:在安装过程中,出现任何问题均可以更新操作:# apt update):
A) 下载,操作命令如下所示:
root@web8888:~# wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
验证:使用ls命令查看有没有下载文件?
B) 安装下载文件(之所以要安装这个文件主要是为了选择你要安装的是什么版本的mysql以及想要安装哪些mysql插件),操作命令如下所示:
root@web8888:~# apt install ./mysql-apt-config_0.8.22-1_all.deb
执行上面的命令会有出现选择的界面,依次选择MySQL Server和mysql8.0,最后回到主页面选择Ok即可。
安装过程出现错误信息:"N: 由于文件'/root/mysql-apt-config_0.8.22-1_all.deb'无法被用户'_apt'访问,已脱离沙盒并提权为根用户来进行下载。 - pkgAcquire::Run (13: 权限不够)",
先不去管,直接运行以下,操作命令如下所示:
root@web8888:~# apt --fix-broken install
C) 更新,操作命令如下所示:
root@web8888:~# apt update
D) 安装mysql,操作命令如下所示:
root@web8888:~# apt install mysql-server
安装过程中输入两次root密码[备注root密码设置为:web+学号后4位],再按两次[确定],完成安装!
E) 验证 MySQL 安装成功否?操作命令如下所示:
root@web8888:~# mysql -u[root] -p[web+学号后4位]
以上备注:1.-符号前有空格,2.不输入[]符号,3.如果成功出现:mysql > 提示符信息,4.MySQL退出命令:exit
(3)安装 PHP 脚本语言,操作命令如下所示:
root@web8888:~# apt install php libapache2-mod-php php-pear php-mysql
验证 PHP 安装成功否?操作命令如下所示:
root@web8888:~# vim /var/www/html/info.php
内容如下:
1│<?PHP
2│ echo phpinfo();
3│?>
验证: 浏览器地址栏输入:IP/info.php 即可看到输出结果!(如下图所示)

(4)安装 MySQL 数据库管理软件phpMyAdmin,操作命令如下所示:
root@web8888:~# apt install phpmyadmin
A) 安装过程软件包设置:1.网络服务器:apache2(见下图);2.MySQL application password for phpmyadmin:web+学号后4位

B) 验证 浏览器地址栏输入:IP/phpmyadmin(效果如下图所示)
第二阶段完成,第三阶段实现目标:一、Web服务器配置与管理;二、FTP服务器配置与管理:
十一、配置虚拟主机,此部分内容查看P189,Apache配置文件《第11章 Web服务器配置与管理》
(1)增加虚拟目录,将网站的 8000 端口根目录配置给/home目录,操作步骤如下:
A) 修改【添加监听端口文件】,操作命令如下所示:
root@web8888:~# vim /etc/apache2/ports.conf
在文件中6行位置增加:Listen 8000,如下图所示:
5│ Listen 80
6│ Listen 8000
7│ <IfModule ssl_module>
8│ Listen 443
9│ </IfModule>
10│
11│ <IfModule mod_gnutls.c>
12│ Listen 443
13│ </IfModule>
B) 修改【配置虚拟目录文件】,操作命令如下所示:
root@web8888:~# vim /etc/apache2/sites-available/000-default.conf
将下列代码添加到文件最后,并保存退出
31│ <VirtualHost *:8000>
32│ ServerAdmin webmaster1@localhost
33│ DocumentRoot /home/
34│ ErrorLog ${APACHE_LOG_DIR}/error.log
35│ CustomLog ${APACHE_LOG_DIR}/access.log combined
36│ </VirtualHost>
C) 修改 apache 配置文件,操作命令如下所示:
root@web8888:~# vim /etc/apache2/apache2.conf
将176行连续5行修改成如下样式!
176│ <Directory /home/>
177│ Options Indexes FollowSymLinks
178│ AllowOverride None
179│ Require all granted
180│ </Directory>
D) 重启 apache2 服务器,操作命令如下所示:
root@web8888:~# systemctl restart apache2 #或命令:/etc/init.d/apache2 restart
如果没有提示信息或提示:Restarting apache2 (via systemctl): apache2.service.表示成功!
E) 验证:浏览器地址栏输入IP:8000(如下图所示)

F) 思考?请将代码中177行的 Indexes 去掉/保存/再重启,然后再看效果,如下图所示!请将你的体会写在G)的index.php的程序中

G) 使用 Xshell 或 putty 登录自己 Linux 系统的 test 用户,并编辑一个主页文件,操作命令如下所示:
test@web8888:~$ vim index.php
内容如下:
1│<?PHP
2│ echo "<h1>web+自己学号后4位+姓名</h1>";
3│ echo "<h1>体会:</h1>";
4│?>
H) 验证:浏览器地址栏输入IP:8000/test(如下图所示)

(2)配置JavaWeb:安装tomcat9:操作步骤如下:
A) 安装,操作命令如下:
root@web8888:# apt install tomcat9
B) 验证:浏览器地址栏输入IP:8080(如下图所示:)

C) 编写一个jsp文件,操作命令如下:
root@web8888:# vim /var/lib/tomcat9/webapps/ROOT/web+学号后4位.jsp
内容如下:
1│<%@page contentType="text/html"%>
2│<%@page pageEncoding="UTF-8"%>
3│<%
4│ String str = "<h1>web+自己学号后4位+姓名</h1>";
5│ out.print(str);
6│%>
D) 验证:浏览器地址栏输入IP:8080/web+学号后4位.jsp(如下图所示)

十二、Debian11 搭建FTP服务器(vsftpd),此部分内容查看P207,《第12章 FTP服务器配置与管理》,操作步骤如下:
(1)安装 vsftpd 操作命令如下:
root@web8888:# apt install vsftpd
(2)开启 vsftpd 服务,操作命令如下:
root@web8888:# systemctl start vsftpd
root@web8888:# systemctl enable vsftpd
root@web8888:# systemctl status vsftpd
(3)添加(ftpuser)用户,操作命令如下:
root@web8888:# useradd -m ftpuser #此命令见P66,详细信息参考《第4章 用户和组管理》
(4)修改用户密码,操作命令如下:
root@web8888:# passwd ftpuser #此命令见P68,备注:密码统一:12345,系统会让你重复输入两遍密码,注意密码不回显
(5)配置:需要修改vsftpd的配置文件,操作命令如下:
root@web8888:# vim /etc/vsftpd.conf
内容主要部分参考如下(行号不准确,顺序准确!将下列代码行号前面的 # 去掉【如果有的话】):
1│listen=NO
2│listen_ipv6=YES
3│
4│anonymous_enable=NO
5│
6│local_enable=YES
7│
8│write_enable=YES
9│
10│local_umask=022
11│anon_upload_enable=YES
12│dirmessage_enable=YES
13│use_localtime=YES
14│
15│xferlog_enable=YES
16│
17│connect_from_port_20=YES
18│chroot_local_user=YES
19│secure_chroot_dir=/var/run/vsftpd/empty
20│
21│pam_service_name=vsftpd
22│
23│rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
24│rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
25│ssl_enable=NO
26│
# 以下部分需要手动添加,模板里没有
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
local_root=/home/ftpuser
anon_other_write_enable=YES
存盘退出:wq
(6)将刚刚建的用户添加到白名单里,操作命令如下:
root@web8888:~# echo "ftpuser" | tee -a /etc/vsftpd.user_list #见P53 echo命令
(7)创建上传目录,修改权限(在刚创建的 ftpuser 用户主目录下创建一个新的 upload 文件夹,用于存储FTP接收的文件)。操作命令如下:
root@web8888:~# mkdir /home/ftpuser/upload #此命令P46
root@web8888:~# chmod -R 777 /home/ftpuser/upload #此命令P101
(8)重启vsftpd服务,操作命令如下:
root@web8888:~# systemctl restart vsftpd #此命令P219
(9)验证:操作步骤如下:
A) 浏览器地址栏 http://192.168.124.6:8000/ftpuser/(下图所示)

B) 准备上传文件。首先需要在本机的d盘上建立一个文本文件d:\test.txt,内容为:web+自己学号后4位+姓名(例如:web8888刘臣奇)
C) Windows本机操作:cmd进入仿真DOS,将test.txt文件上传到 Linux 。操作步骤参考下图所示:
Microsoft Windows [版本 10.0.19045.3570]
(c) Microsoft Corporation。保留所有权利。
C:\Users\Administrator>d:
D:\>dir test*
驱动器 D 中的卷是 软件
卷的序列号是 000B-A68A
D:\ 的目录
2019/04/16 周二 下午 01:35 <DIR> test
2023/10/20 周五 下午 09:31 16 test.txt
1 个文件 16 字节
1 个目录 43,325,427,712 可用字节
D:\>ftp 192.168.124.6
连接到 192.168.124.6。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
用户(192.168.124.6:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 16 字节,用时 0.00秒 16000.00千字节/秒。
ftp>
D) 再次浏览器查看(下图所示)

E) 验证:10分。教师需上传文件到学生虚拟机!学生需上传文件到教师虚拟机!
(10)FTP常用命令的使用方法:FTP(文件传输协议)是用于在计算机之间传输文件的常见协议。下面是一些常见的FTP命令及其使用方法的详细解释:
1. 连接到FTP服务器:使用"ftp"命令连接到FTP服务器。在命令行中输入"ftp"后,后面跟上FTP服务器的地址,例如:ftp example.com。然后,您将被要求输入用户名和密码进行身份验证。
2. 列出目录内容:使用"ls"或"dir"命令列出FTP服务器上的目录内容。例如:ls或dir。
3. 切换目录:使用"cd"命令切换FTP服务器上的目录。例如:cd foldername。如果要回到上一级目录,可以使用"cd ."命令。
4. 下载文件:使用"get"命令从FTP服务器下载文件。例如:get filename。如果要将文件下载到特定的本地目录,请指定目标路径,例如:get filename localpath/filename。
5. 上传文件:使用"put"命令将文件上传到FTP服务器。例如:put filename。如果要将文件上传到特定的远程目录,请指定目标路径,例如:put filename remotepath/filename。
6. 创建目录:使用"mkdir"命令在FTP服务器上创建新目录。例如:mkdir foldername。
7. 删除文件:使用"delete"命令删除FTP服务器上的文件。例如:delete filename。
8. 删除目录:使用"rmdir"命令删除FTP服务器上的目录。例如:rmdir foldername。请注意,只有空目录才能被删除。
9. 重命名文件:使用"rename"命令对FTP服务器上的文件进行重命名。例如:rename oldname newname。
10. 断开FTP连接:使用"bye"或"disconnect"命令断开与FTP服务器的连接。例如:bye或disconnect。
第四阶段 Linux常用命令及常用编程工具软件
(1)SimpleHTTPServer实现文件的展示和下载
SimpleHTTPServer使用方法
A)进入待分享的目录
B)执行命令python3 -m http.server 端口号(备注:不填端口号则默认使用8000端口)
C)浏览器访问该主机的地址:http://IP:端口号/
E)例子:
test@web8888:~$ python3 -m http.server 6789& #[&]符号表示后端运行
(2)安装c/c++/java/python3等常用编程工具软件
# apt install gcc/apt install g++/apt install openjdk-11-jdk-headless/python3自动安装完成!
请分别使用c/c++/java/python实现输出:"Hello+[c/c++/java/python]+Web+学号后4位"
(3)掌握Linux命令(man,df -lh,du-sh,write,ifconfig,ip a,tree,touch)
(4)掌握Linux文件操作命令和目录操作命令(文件命令(ls)、显示文件内容命令(cat)、文件复制命令(cp)、文件改名命令(mv)、删除文件命令(rm)。目录命令(cd)、显示当前目录命令(pwd)、显示结构(tree)、建立子目录(mkdir)和删除子目录(rm -rf)等。)
(5)掌握文本编辑器(vim)
(6)掌握四个管道符号(>,>>,<,<<。)
(7)掌握用户账号和密码管理
未完...
D:\>scp test.txt liuchenqi@12lilu.cn:/home/liuchenqi
The authenticity of host '12lilu.cn (123.60.139.16)' can't be established.
ECDSA key fingerprint is SHA256:RrZKJ9RaknYumuPSTTlKYDV+dHVFH0tVldSmaKyA7uw.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Warning: Permanently added '12lilu.cn,123.60.139.16' (ECDSA) to the list of known hosts.
liuchenqi@12lilu.cn's password:
test.txt 100% 16 0.3KB/s 00:00
D:\>
2023/9/11晚、9/26、10/14晚、10/17、10/18、10/19、10/21